반응형
오라클 개발자들에게 배포하고 있는 패키지 DBMS_FGA PL/SQL Package
-- 세분화 된 감사 결과 확인
SELECT * FROM SYS.FGA_LOG$;
-- order entry 계정을 사용한다.
ALTER USER oe ACCOUNT UNLOCK;
ALTER USER oe IDENTIFIED BY oe;
-- 고객에 대한 정보 확인
SELECT * FROM oe.customers;
-- 고객 테이블에서 민감한 컬럼을 대상으로 세분화된 감사를 수행해보자 BEGIN - END 프로시저 수행
BEGIN
DBMS_FGA.ADD_POLICY(
object_schema => 'oe', -- 테이블 소유자
object_name => 'customers', -- 테이블
policy_name => 'customer_policy01', -- 정책 이름이 동일하면 안만들어져서 넘버링
audit_condition => NULL,
audit_column => 'phone_numbers,cust_address', -- 감사할 컬럼
handler_schema => NULL,
handler_module => NULL,
enable => TRUE,
statement_types => 'INSERT,UPDATE,DELETE', -- 감사 적용 정책
audit_trail => dbms_fga.db + dbms_fga.extended,
audit_column_opts => dbms_fga.any_columns );
END;
-- 세분화된 감사 설정 정보 확인
SELECT * FROM dictionary WHERE table_name like '%AUDIT%' ORDER BY table_name;
SELECT * FROM dba_audit_policies; -- 감사 정책
SELECT * FROM dba_audit_policy_columns; -- 컬럼 중심으로 보여준다.
-- 고객 정보 삭제
DELETE FROM OE.CUSTOMERS WHERE customer_id = 217;
-- 세분화 된 감사 결과 확인
SELECT * FROM SYS.FGA_LOG$;
SELECT * FROM dba_fga_audit_trail; -- 뷰를 통해 확인
-- 20대 고객을 대상으로 민감한 컬럼을 조회 할 때 세분화 된 감사를 수행해보자
SELECT * FROM oe.customers
WHERE EXTRACT(YEAR FROM date_of_birth) between 1989 and 1998;
BEGIN -- customer_policy01 정책 삭제
DBMS_FGA.DROP_POLICY( --
object_schema => 'oe',
object_name => 'customers',
policy_name => 'customer_policy01' );
END;
BEGIN
DBMS_FGA.ADD_POLICY(
object_schema => 'oe', -- 테이블 소유자
object_name => 'customers', -- 테이블
policy_name => 'customer_policy01', -- 정책 이름이 동일하면 안만들어져서 넘버링
audit_condition => 'EXTRACT(YEAR FROM date_of_birth) between 1989 and 1998', -- 출생정보가 1989년에서 1998년 사이인 값만
audit_column => 'credit_limit,marital_status,income_level', -- 신용한도 , 혼인여부 , 소득수준
handler_schema => NULL,
handler_module => NULL,
enable => TRUE,
statement_types => 'SELECT', -- 감사 적용 정책
audit_trail => dbms_fga.db + dbms_fga.extended,
audit_column_opts => dbms_fga.any_columns );
END;
|
cs |
관련 문서 DBMS_FGA : http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_fga.htm#i1011920
반응형
'DBMS' 카테고리의 다른 글
Oracle Enterprise Manager[11g] (emctl 환경 설정) (0) | 2017.10.16 |
---|---|
DB 데이터 암호화 솔루션 - TDE (Transparent Data Encryption) (0) | 2017.10.10 |
Oracle Listner 설정 / Oracle 실행 쿼리 확인 (0) | 2017.09.26 |
SQL 감사 기록 삭제 & 백업 (0) | 2017.09.24 |
SQL AUDIT(감사 조회 , 감사 설정) (0) | 2017.09.19 |