"특정 IP,프로그램(Module) 접속 차단"의 두 판 사이의 차이
DB CAFE
33번째 줄: | 33번째 줄: | ||
SYSTEM Event attribute 관련 하여서는 http://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg14evt.htm 참고 | SYSTEM Event attribute 관련 하여서는 http://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg14evt.htm 참고 | ||
+ | [[category:oracle]] |
2020년 2월 29일 (토) 18:33 판
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
특정 IP, 또는 특정 Windows User, Software에서만 접속이 가능하게 접속제한을 하는 방법
- LOGON 시 trigger를 이용하여 ERROR Massage를 강제 발생.
- RAISE_APPLICATION_ERROR 이용
- SYSDBA User로 접속하여 Trigger 생성=> 특정 유저의 접속을 원하는 방식으로 차단 가능
- OS_USER, MODULE 등은 SYS_CONTEXT 함수를 사용하여 처리
생성 TRIGGER[편집]
CREATE OR REPLACE TRIGGER SCOTT_LOGON
AFTER LOGON ON SCOTT.SCHEMA
BEGIN
-- 특정 IP '192.168.10.23' 에서만 접속 가능하게 하기
IF (ORA_CLIENT_IP_ADDRESS != '192.168.10.23') THEN
RAISE_APPLICATION_ERROR(-20002,'Oops! Access denied!');
END IF;
-- 특정 OS USER(GDHONG)만 접속 가능하게 하기
IF (UPPER(SYS_CONTEXT('USERENV','OS_USER'))!='scott') THEN
RAISE_APPLICATION_ERROR(-20002,'Oops! Access denied!');
END IF;
-- 특정 Software(sqlplus.exe) 만 차단하기
IF (UPPER(SYS_CONTEXT('USERENV','MODULE'))='SQLPLUS.EXE') THEN
RAISE_APPLICATION_ERROR(-20002,'Oops! Access denied!');
END IF;
END;
/
SYSTEM Event attribute 관련 하여서는 http://docs.oracle.com/cd/B10501_01/appdev.920/a96590/adg14evt.htm 참고