2016-06-22 9 views

답변

0

IP 주소가 아닌 사용자와 역할에만 액세스 권한을 부여 할 수 있습니다.

당신 수 내가 그 일을하지 않는 것이 좋습니다 있지만, 액세스를 제한하기 위해 LOGON trigger를 생성 한 후 액세스 권한이있는 계정을 만들고으로 가짜를.

CREATE OR REPLACE TRIGGER check_user 
    AFTER LOGON ON DATABASE 
    BEGIN 
    if sys_context('userenv', 'ip_address') <> '175.45.177.50' then 
     raise_application_error(-20000, 'This IP cannot access this database.'); 
    end if; 
END; 
/

이것은 여러 가지 이유로 인해 좋지 않을 수 있습니다. IP 주소는 가짜 일 수 있으며 사용자를 인증하는 좋은 방법이 아닙니다. 또한 이러한 트리거는 많은 사용자를 차단할 수 있으므로주의해야합니다. (경고 : 나는 지금 당장 파괴 할 수있는 데이터베이스가 없어서 위의 코드를 테스트하지 않았습니다.) 또한 이러한 트리거는 DBA 역할을 가진 사용자를 차단하지 않으므로 이들을 테스트하는 것이 까다로울 수 있습니다.

0

확실하지 않다하지만 당신이 오라클은 현재 저장 프로 시저를 실행하는 사용자의 권한을 사용하려면

CREATE OR REPLACE procedure pg_sql_broker AUTHID current_user IS begin your code: end

, 당신이 사용하려는 authenication "를 작동하는 경우에 당신은 코드 아래에 볼 수 있습니다 AUTHID CURRENT_USER.