===== FGA 정책 생성 ===== - DBMS_FGA.ADD_POLICY 명령 사용 - 프로시저 ^ 파라미터 ^ 데이터 타입 ^ 설명 ^ |object_schema|VARCHAR2|FGA에서 설정하고자 하는 스키마명| |object_name|VARCHAR2|FGA에서 설정하고자 하는 객체명(테이블, 뷰 이름)| |policy_name|VARCHAR2|FGA에서 설정하고자 하는 Policy명(Unique)| |audit_condition|VARCHAR2|상세 감사 지정. 스키마 객체에 대한 논리적인 데이터 그룹에 상응하는 where 절 지정 \\ ex) "department_id=10" 으로 지정 : 조회대상 객체에 AUDIT_CONDITION을 만족하는 데이터가 있다면, 명시적인 조건을 만족하지 않아도 Audit Trail은 생성된다. \\ SELECT … FROM employees; \\ ⇒ where 절에 조건 없이 전체를 조회하는 것 역시, AUDIT_CONDITION에 지정한 "department_id=10"인 데이터도 조회되므로 이 문장도 FGA의 대상이다.| |audit_column|VARCHAR2|감사 대상이 되는 컬럼명 지정. 1개 이상의 컬럼 지정 가능(10g 추가 기능)| |handler_schema \\ handler_module|VARCHAR2|FGA설정에 의해서 Audit Trail이 생성될 때 같이 실행될 수 있는 프로시저를 작성하는 경우, 프로시저의 스키마명과 프로시저명을 기술 \\ 프로시저 생성 패턴 : PROCEDURE (object_schema VARCHAR2, object_name VARCHAR2, policy_name VARCHAR2) AS …| |enable|BOOLEAN|FGA 기능 활성화 여부 지정. default가 TRUE임에도 불구하고 TRUE로 설정하지 않으면 FGA 설정이 활성화되지 않는다.| |statement_types|VARCHAR2|10g 추가된 기능. FGA가 적용되는 문장 종류에 대해서 기술. INSERT, UPDATE, DELETE, SELECT(default) 중에서 지정하며, \\ MERGE문은 내부적으로 INSERT 또는 UPDATE의 지정의 영향을 받음| |audit_trail|BINARY_INTEGER IN DEFAULT|10g 추가된 기능. "AUDIT_TRAIL => DBMS_FGA.DB_EXTENDED"로 설정하는 경우 SYS.FGA_LOG$의 LSQLTEXT, LSQLBIND컬럼에 Audit Trail이 생성된다.| |audit_trail_opts|BINARY_INTEGER IN DEFAULT|10g 추가된 기능. DBMS_FGA.ALL_COLUMNS & DBMS_FGA.ANY_COLUMNS \\ DBMS_FGA.ALL_COLUMNS : AUDIT_COLUMN에 나열된 컬럼 중에서 모두 액세스될 때 AUDIT TRAIL을 생성하도록 지정 \\ DBMS_FGA.ANY_COLUMNS : AUDIT_COLUMN에 나열된 컬럼 중에서 하나라도 액세스될 때 AUDIT TRAIL을 생성하도록 지정| ===== FGA정책 활성화 ===== - 메타데이터 정보를 전혀 손실하지 않고도 임시로 FGA 정책의 활성화/비활성화 할 수 있다. - DBMS_FGA.ENABLE_POLICY(활성화) / DBMS_FGA.DISABLE_POLICY(비활성화) ===== FGA정책 삭제 ===== - 더 이상 정책이 필요하지 않을 경우 삭제 가능 - DBMS_FGA.DROP_POLICY 명령 사용