Oracle audit fga - azerbaycan dilinde

592 views

Published on

Oracle audit - FGA - Azerbaycan dilinde

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
592
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
12
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Oracle audit fga - azerbaycan dilinde

  1. 1. Oracle audit - Fine-Grained AuditBildiyiniz kimi Oracle verilənlər bazasında müxtəlif hadisələrə audit təyin etmək olurdu. Bunlara misal SQLsorğusu, hüquqlar (privileges), sxema və obyektlər. Əlavə olaraq fine-grained audit istifadə edərək verilənlərbazasındakı fəaliyyətlərə belə ki, cədvəllər üzərində əməliyyatlar və ya fəaliyyət zamanına nəzarət göstərə bilərik.Bugün mən sizə fine-grained audit haqqında məlumat verəcəm. İlk dəfə bu audit özəlliyi Oracle 9i da təqdimolunmuşdur. Məqsəd istifadəçinin cədvəldən etdiyi sorğunu (select) audit qeydini yazmaq idi. Çünki digər auditmetodları ilə cədvəldəki dəyişikliyi audit-ləmək mümkün idi.Diqqət, FGA, AUDIT_TRAIL parameterindən aslı deyil və bütün ona aid audit qeydləri FGA_LOG$ cədvəlinəyazır.Siz fine-grained auditing dən aşağıdakı hallarda istifadə edə bilərsiniz: Cədvəllər (misal üçün) səhər 9-dan axşam 6-ya dək və ya həftə sonları; Korporativ şəbəkə xarici İP istifadəsi; Cədvəl sütunu seçmək (select) və ya dəyişmək (Selecting or updating a table column); Cədvəlin sütunundakı dəyəri dəyişmək (Modifying a value in a table column)Gəlin bir nümunəyə baxaq. Öncə gəlin audit_trail parameterini VB təyin edək və VB restart edək. Bu parameterdəyişiklikdən sonra effektiv olması üçün VB yenidən açılmalıdır (restart olmalıdır).SQL> alter system set audit_trail=DB scope=spfile;System altered.SQL> shut immediateDatabase closed.Database dismounted.ORACLE instance shut down.SQL> startupORACLE instance started.Total System Global Area 422670336 bytesFixed Size 1336960 bytesVariable Size 310380928 bytesDatabase Buffers 104857600 bytesRedo Buffers 6094848 bytesDatabase mounted.Database opened.SQL>SQL> show parameters audit_trailNAME TYPE VALUE------------------------------------ ----------- ------------------------------audit_trail string DB
  2. 2. --Yeni cədvəl yaradaq və ona bir neçə sətr daxil edəkSQL> conn ulfet/ulfetConnected.SQL> create table telebeler (id number,f_name varchar2(10),l_name varchar2(15),lesson_name char(20),score number);Table created.SQL> insert into telebeler values(1, Azer, Ibrahimov, History, 5);1 row created.SQL> insert into telebeler values(2, Kerim, Veliyev, History, 2);1 row created.SQL> insert into telebeler values(3, Ulfet, Tanriverdiyev, History, 4);1 row created.SQL> insert into telebeler values(4, Mamed, Aliyev, History, 3);1 row created.SQL> insert into telebeler values(5, Omar, Tanriverdiyev, History, 5);1 row created.SQL> commit;Commit complete.Cədvəlimiz hazırdır, audit polisimizi təyin edək.Aşağıdakı polisi telebeler cədvəlindəki score sütunun dəyərinin 4 və 4-dən böyük olduğu halda audit qeydiniedəcək.--Connect as sysSQL> conn sys/?????? as sysdbaConnected.SQL> BEGIN DBMS_FGA.add_policy( object_schema => ULFET, object_name => TELEBELER, policy_name => CHECK_SCORE_AUDIT, audit_condition => score >= 4, audit_column => SCORE);END;/ 2 3 4 5 6 7 8 9PL/SQL procedure successfully completed.İndisə ulfet istifadəçisi ilə VB bağlanaq və bəzi select –lər yazaq.
  3. 3. Sorğularımız audit-ə düşməsi üçün “where” yazaraq score sütununa uyğun dəyərlər yazaq.SQL> select * from telebeler where score <=3; ID F_NAME L_NAME LESSON_NAME SCORE ---------- ------------ --------------- -------------------- ---------- 2 Kerim Veliyev History 2 4 Mamed Aliyev History 3SQL> select * from telebeler where score=5; ID F_NAME L_NAME LESSON_NAME SCORE ---------- ------------ --------------- -------------------- ---------- 1 Azer Ibrahimov History 5 5 Omar Tanriverdiyev History 5SQL> select * from telebeler where score>=4; ID F_NAME L_NAME LESSON_NAME SCORE ---------- ------------ --------------- -------------------- ---------- 1 Azer Ibrahimov History 5 3 Ulfet Tanriverdiyev History 4 5 Omar Tanriverdiyev History 5SQL>.İndisə sys istifadəçisi kimi daxil olub yoxlayaq.--Connect as sysSQL> conn sys/?????? as sysdbaSQL> select db_user,policy_name,sql_text,TIMESTAMP from dba_fga_audit_trail order by 4;DB_USER POLICY_NAME SQL_TEXT TIMESTAMP---------------- ---------------------- --------------------------------------------------------- -----------------------ULFET CHECK_SCORE_AUDIT select * from telebeler where score=5 07-DEC-12ULFET CHECK_SCORE_AUDIT select * from telebeler where score>=4 07-DEC-12VB-dakı FGA polisilərin siyahısını görmək üçün DBA_AUDIT_POLICIES görünüşündən (view) istifadə edəbilərsiniz.SQL> SELECT POLICY_NAME FROM DBA_AUDIT_POLICIES;POLICY_NAME-----------------------------CHECK_SCORE_AUDITSQL>Oralce 9i versiyasında fine-grained audit məhdud imkanlara sahib idi, lakin Oracle 10g-dən başlayaraq bu inkişafetdirildi və beləliklə DML əmrləridə (statements) daxil edildi. Bu özəllikdən istifadə edə bilmək üçünDBMS_FGA.ADD_POLICY prosedurundakı statement_types parametrinə dəyər(lər) mənimsətmək lazımdır.statement_types => SELECT,INSERT,UPDATE,DELETE);
  4. 4. Fine-Grained Audit Polisini istifadə etmək üçün istifadəçiyə DBMS_FGA PL/SQL paketinə çalışdırma (execute)haqqı verilməlidir. Bu paket SYS istifadəçisinə məxsusdur.Aşagıdakı əmrlərdən istifadə edərək fine-grained auditin istifadəsini bağlayıb (disable) və ya aça bilərik (enable)SQL> BEGINDBMS_FGA.DISABLE_POLICY( object_schema => ULFET, object_name => TELEBELER, policy_name => CHECK_SCORE_AUDIT);END;/ 2 3 4 5 6 7PL/SQL procedure successfully completed.SQL>SQL> BEGINDBMS_FGA.ENABLE_POLICY( object_schema => ULFET, object_name => TELEBELER, policy_name => CHECK_SCORE_AUDIT, enable => TRUE);END;/ 2 3 4 5 6 7 8PL/SQL procedure successfully completed.SQL>FGA polisini silmək üçün:SQL> BEGINDBMS_FGA.DROP_POLICY( object_schema => ULFET, object_name => TELEBELER, policy_name => CHECK_SCORE_AUDIT);END;/PL/SQL procedure successfully completed.Oracle 11g də FGA üçün yeni özəllik var. Bu DBMS_AUDIT_MGMT paketindən istifadə edərək audit cədvəllərinintablespace –lərini dəyişmək mümkündür.Susma halına görə (default) audit trail SYS.AUD$ və SYS.FGA_LOG$ cədvəliləri SYSTEM tablespace dəyerləşirlər. Audit cədvəllərin tablespace-lərini dəyişmək üçün aşağıdakı əmri icra etmək lazımdır:BEGINDBMS_AUDIT_MGMT.SET_AUDIT_TRAIL_LOCATION( AUDIT_TRAIL_TYPE => DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD, AUDIT_TRAIL_LOCATION_VALUE => AUD_AUX);END;
  5. 5. Bu nümunədə:  AUDIT_TRAIL_TYPE: VB dakı audit trail tipinə əsaslanır. Aşağıdakılardan birini daxil edin:  DBMS_AUDIT_MGMT.AUDIT_TRAIL_AUD_STD: Standart audit trail cədvəli, AUD$.  DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD: Fine-grained audit trail cədvəli, FGA_LOG$.  DBMS_AUDIT_MGMT.AUDIT_TRAIL_DB_STD: Həm standart həmdə fine-grained audit trail cədvəlləri.  AUDIT_TRAIL_LOCATION_VALUE: Hədəf tablespace təyin edir. Bu nümunə AUDİT_TABLES tablespace-ni istifadə edir.Gəlin tətbiq edəkSQL> conn /as sysdbaConnected.SQL> SELECT table_name, tablespace_name FROM dba_tablesWHERE table_name IN (AUD$, FGA_LOG$) ORDER BY 1;TABLE_NAME TABLESPACE_NAME------------------------------ ------------------------------AUD$ SYSTEMFGA_LOG$ SYSTEMSQL>Audit cədvəllərinin saxlanılması üçün yeni tablespace quraq.SQL> create tablespace audit_tables datafile /u01/app/oracle/oradata/testdb/audit_tables1 size 50mautoextend on;Tablespace created.SQL>İndisə fine-grained audit trail cədvəlinin tablespace-ni yeni tablespace-ə daşıyaq.SQL> BEGIN DBMS_AUDIT_MGMT.set_audit_trail_location( audit_trail_type => DBMS_AUDIT_MGMT.AUDIT_TRAIL_FGA_STD, audit_trail_location_value => AUDIT_TABLES);END;/ 2 3 4 5 6PL/SQL procedure successfully completed.SQL>Diqqət, bu əmr icra olunan zaman səbrli olun. Bu uzun zaman çəkə bilər və bu bir başa audit cədvəlininölçüsündən aslıdır.--Yuxarıdakı select-i bir daha icra edəkSQL> SELECT table_name, tablespace_name FROM dba_tablesWHERE table_name IN (AUD$, FGA_LOG$) ORDER BY 1;TABLE_NAME TABLESPACE_NAME-------------------------------------- ------------------------------AUD$ SYSTEMFGA_LOG$ AUDIT_TABLES
  6. 6. Mənbə:http://docs.oracle.com/cd/E11882_01/server.112/e25789/cmntopc.htm#CNCPT89153http://docs.oracle.com/cd/E11882_01/network.112/e16543/auditing.htm#DBSEG60681

×