AUDITORIA TALLERES ORACLE
AUDITORIA DE GRANULARIDAD FINA
La auditoría de granularidad fina, muestra la orden completa que
fue utilizada por el usuario. A diferencia de las auditorías
anteriores que solo muestran el tipo de operación.
1. En el ejemplo se auditan las sentencias INSERT, UPDATE, DELETE,
y SELECT en la tabla “HR.COUNTRIES”, controlando cualquier
acceso a la columna “REGION_ID” pertenecientes a la región
‘Asia’
BEGIN
DBMS_FGA.ADD_POLICY(
OBJECT_SCHEMA => 'HR',
OBJECT_NAME => 'COUNTRIES',
POLICY_NAME => 'CHK_COUNTRIES_ASIA',
AUDIT_CONDITION => 'REGION_ID = 3',
AUDIT_COLUMN => 'COUNTRY_NAME',
STATEMENT_TYPES => 'INSERT,UPDATE,DELETE,SELECT'
);
END;
/
2. INSERTAR DOS REGISTROS EN LA TABLA REGIONES PARA UN REGISTRO DE
DEPARTAMENTO PARA SALES, COMPRUEBE LA AUDITORIA
INSERT INTO hr.countries (country_id, country_name, region_id)
VALUES ('TH', 'Thailand', 3);
INSERT INTO hr.countries (country_id, country_name, region_id)
VALUES ('VN', 'Vietnam', 3);
3. CONSULTANDO EL REGISTRO DE AUDITORIA FINA
SELECT TO_CHAR( TIMESTAMP , 'DD/MM/YY HH24:MI') TIEMPO , DB_USER , USERHOST,
SUBSTR( OBJECT_NAME , 1 , 15 ) , SUBSTR( OBJECT_SCHEMA , 1 , 15 ) ,
POLICY_NAME ,SQL_TEXT
FROM DBA_FGA_AUDIT_TRAIL;
4. ELIMINAR LA AUDITORIA ANTERIOR
BEGIN
DBMS_FGA.DROP_POLICY(
object_schema => 'HR',
object_name => 'COUNTRIES',
policy_name => 'CHK_COUNTRIES_ASIA'
);
END;
/
Camilo Torres