oracle 데이터베이스의 스키마에 액세스하려면 특정 IP 주소에 액세스해야했습니다.oracle 데이터베이스의 특정 IP 주소에 대한 스키마 액세스 방법
아무도 내가 어떻게 그것을 도와 줄 수 있습니까?
Pl/SQl 또는 다른 if를 사용하십시오.
oracle 데이터베이스의 스키마에 액세스하려면 특정 IP 주소에 액세스해야했습니다.oracle 데이터베이스의 특정 IP 주소에 대한 스키마 액세스 방법
아무도 내가 어떻게 그것을 도와 줄 수 있습니까?
Pl/SQl 또는 다른 if를 사용하십시오.
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 역할을 가진 사용자를 차단하지 않으므로 이들을 테스트하는 것이 까다로울 수 있습니다.
확실하지 않다하지만 당신이 오라클은 현재 저장 프로 시저를 실행하는 사용자의 권한을 사용하려면
CREATE OR REPLACE procedure pg_sql_broker AUTHID current_user IS begin your code: end
, 당신이 사용하려는 authenication "를 작동하는 경우에 당신은 코드 아래에 볼 수 있습니다 AUTHID CURRENT_USER.