Ez az "oracle" hirdetesi felulet pillanatnyilag INGYEN kiado! Miert? Mert ha a google.hu-ba beirod hogy "oracle dba" eleg elokelo helyen vagyok! altalaban 1. :P kuldj mailt ide: orclblog [at] gmail.com

Naptár

május 2024
Hét Ked Sze Csü Pén Szo Vas
<<  < Archív
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

Friss topikok

2009.01.14. 10:07 darvat

Felhasznalo teljes koru auditalasa (FGA - fine graded auditing-gal) - Full audit of a user (using FGA - fine graded auditing) - Oracle DBA - Oracle adatbazis - Oracle database

Kerestem egy olyan megoldast ami egy adott felhasznalo teljes koru auditalasat teszi lehetove.

Termeszetesen az audit_trail init parameter korrekt beallitasa mindig szukseges, erre most nem ternek ki, reszletek itt >>>>>>>>>>>

Az evidens megoldas a :

 audit all by uglyuser by access;

 audit all privileges by uglyuser by access;

lenne de ez sajnos igencsak keveske. Mi tobbet szeretnenk tudni!

A dokumentacio szerint az "audit all" csak egy adott reszhalmazt audital, tehat a kovetkezoket meg meg kell tennunk:

audit
 alter sequence,
 alter table,
 comment table,
 delete table,
 execute procedure,
 grant directory,
 grant procedure,
 grant sequence,
 grant table,
 grant type,
 insert table,
 lock table,
 select sequence,
 select table,
 update table
by uglyuser by access;

De ez nekunk meg mindig keves mert nem latjuk azokat a konkret sql-eket, amelyeket az uglyuser futtatott, pedig mi nagyon szigoru DB adminok vagyunk es mindenrol tudni akarunk! :)

Ehhez krealjunk egy FGA policy-t:

begin
 DBMS_FGA.ADD_POLICY(
 object_schema => 'PAYROLL',
 object_name=>'SALARIES',
 policy_name   => 'salary_fga',
 audit_condition => 'user='||'''UGLYUSER''',
 statement_types => 'insert,update,delete,select');
end;

Mit is fog a fenti policy tenni? Amennyiben kedves baratunk - UGLYUSER - a payroll.salaries tablat manipulalja (barmilyen dml-lel) az audit rekord(oka)t fog generalni, amelyek szepen lathatok a DBA_FGA_AUDIT_TRAIL nezetben. (illetve a dba_common_audit_trail -ben is).

Latjuk a vegrehajtott SQL-eket, es a bind parameterek is helyettesitve vannak ! Szuper!

Azonban mi szeretnenk meg tobb tablat auditalni! Ekkor egyszeruen csak egy masik objektum nevvel egy uj policyt adunk a rendszerhez:

begin
 DBMS_FGA.ADD_POLICY(
 object_schema => 'PAYROLL',
 object_name=>'BONUSES',
 policy_name   => 'payroll_fga',
 audit_condition => 'user='||'''UGLYUSER''',
 statement_types => 'insert,update,delete,select');
end;

A rendszerben talalhato FGA policy-k listazhatok a DBA_AUDIT_POLICIES nezetbol.

Inaktivalni FGA policy-t egy objektumon a kovetkezokepp lehetseges:

begin
 DBMS_FGA.DISABLE_POLICY(
 object_schema => 'PAYROLL',
 object_name=>'BONUSES',
 policy_name   => 'payroll_fga');
end;

Ha mar nem kell, igy dobjuk el:

begin
 DBMS_FGA.DROP_POLICY(
 object_schema => 'PAYROLL',
 object_name=>'BONUSES',
 policy_name   => 'payroll_fga');
end

Az Oracle szoftver altal nyujtott fine graded auditing mindennel sokkal tobb mindent tud, itt csupan azt szerettem volna bemutatni, hogyan tudjuk 1 adott felhasznalo tevekenyseget rendkivuli reszletesseggel nyomonkovetni. Nem esett szo magarol az "audit" parancs altal generalt audit rekordokrol, az egy masikbejegyzes temaja lehet.

Szólj hozzá!


Ez az "oracle" hirdetesi felulet pillanatnyilag INGYEN kiado :)Miert? Mert ha a google.hu-ba beirod hogy "oracle dba" eleg elokelo helyen vagyok! altalaban 1. :P kuldj mailt ide: orclblog [at] gmail.com

A bejegyzés trackback címe:

https://oracle.blog.hu/api/trackback/id/tr97876592

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása