문서유형ㅣ기술정보
분야ㅣ보안
문서번호ㅣTSETI002
개요
Logon Trigger는 IP, 사용자명(USERNAME) 등 특정 조건에 따라 데이터베이스 접속을 제한하는 기능입니다.
S1419 버전부터 SYS 계정을 제외한 다른 계정에도 해당 트리거가 동작하도록 개선되었습니다.
해당 기능을 사용하기 위해서는 tip 파일에 파라미터를 설정하거나 SQL 명령으로 적용해야 합니다.
필요 설정
- tip 파일에 _DDL_TRIGGER_ENABLE=Y 추가
- 또는 SQL에서 다음 명령 실행
alter system set _ddl_trigger_enable=y;
방법
Logon Trigger 생성 예제
SQL> alter system set _ddl_trigger_enable=y;
System altered.
SQL> create or replace trigger valid_user
2 after logon on database
3 begin
4 if SYS_CONTEXT('USERENV','SESSION_USER') not in ('TEST')
5 then
6 raise_application_error (-20001,'Login not allowed from this USER');
7 end if;
8 end;
9 /
Trigger 'VALID_USER' created.
동작 예시
SYS 계정 접속 가능
SQL> exit Disconnected. ora11g@tbr5:/home/tbr5 $ tbsql sys/tibero tbSQL 5 TmaxData Corporation Copyright (c) 2008-. All rights reserved. Connected to Tibero.
TEST 계정 접속 가능
SQL> exit Disconnected. ora11g@tbr5:/home/tbr5 $ tbsql test/test tbSQL 5 TmaxData Corporation Copyright (c) 2008-. All rights reserved. Connected to Tibero.
기타 계정 접속 시 오류 발생
SQL> exit Disconnected. ora11g@tbr5:/home/tbr5 $ tbsql tibero/tmax tbSQL 5 TmaxData Corporation Copyright (c) 2008-. All rights reserved. TBR-7440: The user defined error is called. TBR-20001: Login not allowed from this USER. TBR-15163: Unhandled exception at SYS.VALID_USER, line 6.