33
Administrace Oracle Práva a role, audit Kukhar Maria 29.10.2012

Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Administrace Oracle Práva a role, audit

Kukhar Maria

29.10.2012

Page 2: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

• Ve výchozím nastavení, uživatel Oracle nemůže nic dělat, ani připojit se k databázi.

• Aby uživatele měli přistup k DB, je třeba vytvořit uživatelské účty, při vytvoření kterých, kromě přidělení – uživatelského jména – Hesla – Implicitního tabulkového prostoru

je třeba také přidělit účtu odpovídající: – systémová práva, – práva na objekty – roli

Page 3: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Uživatelská práva

• Uživatelská práva poskytují základní úroveň bezpečnosti databáze.

• Jsou navrženy tak, aby řídit přístup uživatele k datům a omezit druhy příkazů SQL, které mohou uživatelé spustit.

• Při vytváření uživatele, možno přidělit mu práva pro – připojení k databázi

– spuštění dotazů

– provedění updatů

– vytvoření objektů schématy

– a další...

Page 4: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Typy uživatelských práv

Rozlišujou následující typy uživatelských práv: • Systémová práva (System privileges) – poskytují uživateli možnost

provádět určité akce, nebo provést akci na jakýkolich objektéch schématu daného typu. Dovoluje operace na úrovni databáze, jako je například připojení k databázi, vytváření uživatelů, provádění změn v konfiguraci databáze. (Např. CREATE TABLE , CREATE USER…)

• Práva na objekty (Object privileges) – poskytují uživateli možnost provádět určité akce na konkrétním objektu schématu (jako jsou tabulky, pohledy, sekvence). Různé práva na objekty jsou dostupné pro různé typy objektů schématu. Pro použití objektu schématy, které patří jinému uživateli, je třebá mít práva na tento objekt.

Příklad: právo vybrat řádky z tabulky EMPLOYEES nebo odstranit řádky z tabulky DEPARTMENTS.

Page 5: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Práva na objekty (Object privileges)

• Práv na objekty je malý počet, proto je lze shrnout do jednoduché tabulky

tabulky pohledy sekvence procedury

SELECT X X X

UPDATE X X

INSERT X X

DELETE X X

ALTER X X

INDEX X

REFERENCES X

EXECUTE X

Page 6: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Systémová práva (System privileges)

• Existuje téměř 200 systémových práv a používají se pro umožnění nějaké činnosti globálně na všech objektech daného typu.

• Např. právo SELECT ANY TABLE umožní uživateli provést příkaz SELECT na libovolné tabulce či pohledu v databázi kromě těch ve schématu SYS.

• Získat seznam dostupných systémových práv, lze pomoci

dotazu k tabulce SYSTEM_PRIVILEGE_MAP SELECT * FROM SYSTEM_PRIVILEGE_MAP;

Page 7: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Některé z nejvíce používaných systémových práv

• CREATE SESSION – Umožňuje uživateli připojit se k databázi. Bez ní není možné se připojit k databázi a zaregistrovat se.

• RESTRICTED SESSION – Pokud je databáze spuštěna se STARTUP RESTRICT nebo ALTER SYSTEM ENABLE RESTRICTED SESSION, pouze uživateli s tímto právem mohou se připojit k databázi.

• ALTER DATABASE – Umožňuje přístup k řadě příkazů potřebných pro změnu fyzických struktur.

• ALTER SYSTEM – Poskytuje přístup ke změně parametrů instance a struktur paměti.

• CREATE TABLESPACE, ALTER TABLESPACE и DROP TABLESPACE – práva umožňující spravovat tabulkové prostory.

• CREATE TABLE - Umožňuje vytvořit tabulku ve vašem schématu. Kromě toho právo umožňuje jí upravit nebo smazat.

• EXECUTE ANY PROCEDURE – výkon procedury a funkce v libovolném schématu kromě SYS.

Page 8: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Role

• Role je pojmenovaná množina práv • Správa práv je jednodušší pomocí rolí • Lze vytvořit role, přidělit systémová práva a práva na objekty těmto

rolím a pak přidělit role uživatelům. • Lze také přidělit role jíným rolům

• Pro vytvoření role používá CREATE ROLE

CREATE ROLE ALL_ORACLE_DBA;

• Volitelné lze používat klíčové slovo INDENTIFIED BY, které vyžaduje, aby uživatel se autentizoval do toho jak role stáné aktivní. Pro aktivací role se provádí klauzule SET ROLE:

SET ROLE ALL_ORACLE_DBA IDENTIFIED BY qwerty;

Page 9: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Tři široce používáných rolí, předdefinovaných v databázi Oracle

• CONNECT Umožňuje uživateli se připojit k databázi.

• RESOURCE Umožňuje uživateli vytvářet, upravovat a mazat určité typy objektů schématu ve schématu souvisejícím s tímto uživatelem. Tato role je pro vývojáře a ostatní uživatele, kteří musí vytvořit objekty schématu.

• DBA Umožňuje uživateli provádět většinu administrativních funkcí, včetně – vytváření uživatelů a poskytování práv – vytváření a poskytování rolí – vytváření, modifikaci a mazání objektů schémat v libovolném schématu, a

další.

Poskytuje všechna systémová práva, ale nezahrnuje práva ke spouštění nebo vypnutí instanci databáze. To je standardně poskytované uživatelům SYS a SYSTEM.

Page 10: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

SYS a SYSTEM uživateli

• SYS - Tento účet může provádět všechny funkce pro správu. Všechny základní tabulky a pohledy pro slovníky databáze

jsou uloženy ve schématu SYS. Tyto základní tabulky a pohledy jsou kritické pro fungování databáze Oracle. Pro zachovaní integrity datového slovníku, tabulky ve schématu SYS manipulovany pouze databází. Oni neměly by být nikdy měněny žadným uživatelem nebo správcem databáze. Je zakázáno vytvářet žadnou tabulky ve schématu SYS

• SYSTEM - Tento účet může provádět všechny

administrativní funkce kromě: – Zálohování a obnovení (Backup and recovery) – Upgradu databáze (Database upgrade)

Page 11: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

SYSDBA a SYSOPER systémová práva

• SYSDBA a SYSOPER jsou administratorské práva, potřebné k provádení správních činností na vysoké úrovni.

• Systémové právo SYSDBA je pro plně zmocněných databázových administrátorů

• SYSOPER je systémové právo, které umožňuje uživateli provádět základní operační úkoly, ale bez možnosti se dívat na uživatelská data.

• SYSDBA a SYSOPER systémová práva umožňují přístup k instanci databáze, i když databáze není otevřena.

• Uživateli SYS je automaticky opřiděleno právo SYSDBA při instalaci. Když se přihlásíte jako uživatel SYS, musíte se připojit k databázi jako SYSDBA nebo SYSOPER.

Page 12: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Přidělování práv a rolí

• Práva lze přidělit přímo konkrétním uživatelům či roli.

• Uživatel může přidělovat systémová práva a role, pokud mu byly přiděleny s nastaveným parametrem ADMIN OPTION

• může přidělovat práva na objekty ve svém schématu či na objekty, na které mu byla přidělena práva s nastaveným parametrem GRANT OPTION

• K přidělování práv slouží SQL příkaz GRANT.

• Přidělená práva lze zrušit SQL příkazem REVOKE

Page 13: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Přidělování práv • Práva na objekty mohou být přiděleny individuálně, skupinově, nebo s

klíčovym slovem ALL, pro implicitní nastavení všech dostupných práv na objekty pro určené schéma.

• Obecná syntaxe příkazu GRANT :

GRANT právo ON schéma.objekt

TO uživatel [WITH GRANT OPTION];

• příklad přidělení práva

GRANT SELECT ON HR.EMPLOYEES TO ALL_ORACLE;

GRANT UPDATE (SALARY) ON HR.EMPLOYEES TO ALL_ORACLE;

GRANT ALL ON HR.REGIONS TO ALL_ORACLE;

• Obecná syntaxe příkazu GRANT pro přidělení systémového práva :

GRANT právo [, právo...] TO uživatel [WITH ADMIN OPTION];

• příklad přidělení práva

GRANT SYSADM TO usera;

Page 14: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Přidělování rolí

• K přidělování rolí uživateli nebo roli také slouží SQL příkaz GRANT. Také lze používat klíčové slovo WITH ADMIN OPTION pro předání práva jinému uživateli nebo roli

GRANT ALL_ORACLE_DBA TO ALL_ORACLE;

• Stejně jako ostatní práva, lze přiřadit role speciálnímu uživateli PUBLIC. Přidělení práv pro PUBLIC umožňuje přidělit teto práva všem, kdo má účet v databázi .

• Například, lze přiřadit role all_oracle_debug všem uživatelům, které už existují v databázi a také budoucím uživatelům:

GRANT ALL_ORACLE_DEBUG TO PUBLIC;

Page 15: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Povolení rolí (1)

• Role mohou být povolený nebo zakázaný selektivně pro každou relaci s databází. Pokud máte dvě paralelní relace,pak sada rolí pro každou se může lišit.

• Pro povoléní jedné nebo více rolí použijte konstrukci SET ROLE [role1, role2…].

• Tento seznam může obsahovat klíčové slovo ALL, které umožní povolit veškeré role přiřazené k uživateli.

• Volitelně lze specifikovat seznam ALL bez určitých rolí. Pro to se používá konstrukce:

ALL EXCEPT [role1, role2…].

Page 16: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Povolení rolí (2)

• Pokud role je chráněna heslem, za názvem role by měla sledovat konstrukce IDENTIFIED BY password. například:

SET ROLE ALL_ORACLE_DBA

IDENTIFIED BY "all_oracle.ru", ALL_ORACLE;

• Povolení všech rolí mimo ALL_ORACLE_DBA

SET ROLE ALL EXCEPT ALL_ORACLE_DBA;

• Role, které jsou přiřazeny aktuální relaci jsou uvedeny ve slovníku SESSION_ROLES. Pro získaní seznamu, spusťte:

SELECT ROLE FROM SESSION_ROLES;

• Tento seznam obsahuje role přiřazené vám, uživateli PUBLIC a role které dědí od jiných rolí.

Page 17: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Zákaz role

• V rámci DB relace lze zakázát všechny role nebo všechny kromě určitých

• Aby zakázat všechny role, lze použít SET ROLE NONE.

• Pro zakázání všech rolí kromě určitých je třeba spoustit

SET ROLE ALL EXCEPT [role1, role2…].

• Jiných způsobů, jak selektivně povolit nebo zakázat roli neexistuje.

• Aby zákazat role, které jsou zděděny od jiných rolí, je třeba zákazat rodičovskou roli.

Page 18: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Přidělení výchozíh role

• Role, které jsou povoleny při přihlášení se nazývají výchozí role. Pro nich není třeba uvádět heslo nebo provádět konstrukci SET ROLE.

• Změnit výchozí role pro účet, lze pomoci ALTER USER DEFAULT ROLE [role1, role2 ...].Seznam rolí může obsahovat ALL, NONE a EXCEPT.

CREATE ROLE ALL_ORACLE_DBA;

GRANT ALL_ORACLE_DBA TO ALL_ORACLE;

ALTER USER ALL_ORACLE DEFAULT ROLE

ALL EXCEPT ALL_ORACLE_USER;

Page 19: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Audit činnosti uživatelů v DBMS Oracle

• Přístupová práva uživatelů neodstraňuje potřebu kontroly (audita) jejich činnosti v databázi

• Audit databáze je monitorování a zaznamenávání vybraných akcí uživatele databáze.

• K důvodům použití auditu patří: – Umožnění budoucí odpovědnost za aktuální akce – Odrazovat uživatelů (nebo jiné útočníky) od nevhodných jednání

na základě jejich odpovědnosti – Zjišťování, sledování a nahrávání podezřelé aktivity – Adresování požadavků na audit pro dodržování

• standardní audit vs. fine-grained audit

Page 20: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Standardní audit

• Ve standardním auditu, lze použít inicializační parametry a příkazy SQL AUDIT i NOAUDIT pro audit SQL příkazů, práv, schémat objektů, síťí a vícevrstvných činností.

• Povinný audit - audit činnosti: – připojení k instanci s administrátorskými právy – spuštění databáze – vypnutí databáze

To zahrnuje akce každého uživatele, který je přihlášen s právami SYSDBA nebo SYSOPER. Pro této činnosti Oracle Database vždy provádí audity, bez ohledu na to, zda povoleno auditování.

• Oracle Database vždy píše povinné záznamy do souboru operačního systému (který se implicitně nachází $ORACLE_BASE/admin/$ORACLE_SID/adump).

Page 21: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

AUDIT a NOAUDIT

• Každý uživatel může nastavit auditování pro objekty v jeho vlastním schématu, pomocí příkazu AUDIT.

• Pro zrušení auditu pro tento objekt, lze použít příkaz NOAUDIT.

• Není třeba žádné další práva pro provedení tohoto úkolu. • Uživatelé mohou spouštět příkazy AUDIT aby nastavit

auditování bez ohledu na nastavení parametrů AUDIT_TRAIL.

• Pro audit objektů v jiném schématu, uživatel musí mít právo AUDIT ANY

• Pro audit systémových práv, uživatel musí mít právo AUDIT SYSTEM.

Page 22: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Záznamy auditu (audit records)

• Oracle Database zapsuje auditorské činnosti do záznamů auditu. Záznamy o auditu poskytují informace o operaci, která byla předmětem auditu, uživateli který provel operace, a datě i času operace.

• Auditní záznamy mohou být uloženy – do tzv. audit trail databáze DBA_AUDIT_TRAIL (tabulka SYS.AUD$),

– do souborech operačního systému, tzv. audit trail operačního systému – do pohledu DBA_COMMON_AUDIT_TRAIL, který kombinuje

standardní a fine-grained protokol záznamů auditu.

• Oracle Database také poskytuje sadu pohledů slovníku dat, které lze použít ke sledování podezřelé aktivity.

Page 23: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

AUDIT_TRAIL

• Lze povolit standardní audit trail nastavením inicializačních parametrů AUDIT_TRAIL. Tato nastavení určuje, zda vytvořit záznamy auditu v audit trail databáze, v souborech operačního systému, nebo audit zakázat.

• Aby povolit nebo zakázat standardní audit trail, přihlaste se do SQL * Plus s právami administratoru, a použijte příkaz ALTER SYSTEM. Pak, musíte restartovat instanci databáze.

• Aby zjistit aktuální hodnotu parametru AUDIT_TRAIL, použijte příkaz SQL * Plus UKÁZAT PARAMETER.

Page 24: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Seznam nastavení pro AUDIT_TRAIL

• DB - Směruje záznamy auditu do audit trail databáze (tabulka SYS.AUD$), mimo povinných a SYS záznamů auditu, které jsou vždy zapsány do audit trial operačního systému.

• DB,EXTENDED - Chová se stejně jako AUDIT_TRAIL = DB, ale umožňuje zachytit SQL příkaz používaný v akci, která byla auditována. Můžete zachytit jak příkaz SQL, tak i veškeré související vázby proměných.

• OS - adresuje všechny záznamy auditu do souboru operačního systému.

• XML - Píše audit záznam do souboru operačního systému ve formátu XML.

• XML, EXTENDED - Chová se stejně jako AUDIT_TRAIL = XML, ale také zahrňuje informaci o SQL příkazech a vazbách

• NONE - Zakáz standardního auditu.

Page 25: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

AUDIT_FILE_DEST

• Aby specifikovat adresář operačního systému, do kterého se zapíše audit trail, použijte inicializační parametr AUDIT_FILE_DEST.

• Je třeba nastavit AUDIT_FILE_DEST na platný povolený adresář.

• Informace povinného auditu také se píše do tohoto adresáře, stejně jako záznamy o auditu, pro uživatele SYS, když zadán inicializační parametr AUDIT_SYS_OPERATIONS.

Page 26: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Nastavení AUDIT_FILE_DEST

• Parametr AUDIT_FILE_DEST lze změnit pomocí příkazu ALTER SYSTEM

ALTER SYSTEM SET AUDIT_FILE_DEST =

directory_path DEFERRED;

• Aby zjistit aktuální nastavení parametru AUDIT_FILE_DEST, zadejte následující příkaz:

SHOW PARAMETER AUDIT_FILE_DEST

Page 27: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Audit připojení

• Lze provést audit všech požadavků na připojení k databázi. Audit pokusů přihlášení lze nastavit pomoci AUDIT SESSION

• Aby bylo možné provádět audit pouze těch pokusy o přihlášení, které jsou úspěšný nebo neúspěšný, použijte jeden z následujících příkazu: AUDIT SESSION WHENEVER SUCCESSFUL

AUDIT SESSION WHENEVER NOT SUCCESSFUL

• Pokud záznamy auditu jsou uloženy v tabulce SYS.AUD$, jejích lze prohlížet pomocí pohledu slovniku dat DBAAUDITSESSION této tabulky.

• Pro zákaz auditu relace platí příkaz NO AUDIT NOAUDIT SESSION

Page 28: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Audit operací

• Každý příkaz DDL, který má dopad na některý objekt databáze, jako jsou například tabulka, pohled nebo index, může být předmětem auditu.

• Lze snadné seskupovat operací CREATE, ALTER a DROP, působící na objekt. Seskupení příkazů snižuje množství správní činnosti potřebné k nastavení a údržbě parametrů auditu.

• Tak, pro audit všech příkazů, které mají dopad na role, musíte zadat příkaz AUDIT ROLE

• Pro zrušení daného nastavení, je třeba zadat NOAUDIT ROLE • Existují skupiny auditu SQL-příkazů. Každá skupina může být použita

ke kontrole všech SQL příkazů, které ona obsahuje. Například, s použitím příkazu AUDIT ROLE, budou se plnit audit

příkazy CREATE ROLE, ALTER ROLE, a DROP ROLE

Page 29: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Audit objektů

• Lze také provádět audit operací SELECT, INSERT, UPDATE a DELETE

• Příkazy pro audit objektů – BY SESSION (podle relace)

– BY ACCESS (podle přístupu)

• Například, v případě, že uživatel provedl na stejné tabulcě čtyři různých příkazů UPDATE, – výsledek auditu podle přístupu (BY ACCESS) - zápis

čtyřech záznamu auditu. – výsledek auditu podle relace (BY SESSION) - jeden

záznam auditu.

Page 30: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Audit práv (1)

• K auditu práva nedojde, pokud je akce povolena vlastníkem a právem na objekt. Audit práva je spuštěn pouze v případě, že práva jsou nedostatečné , to je pouze v případě že akci umožnuje systémové právo.

• Uživatel SCOTT má právo SELECT ANY TABLE

• SELECT ANY TABLE je předmětem auditu.

• SCOTT vybere svou vlastní tabulku (například SCOTT.EMP) => žádný záznam auditu není generován

• SCOTT vybere z jiného schématu (například tabulku HR.EMPLOYEES ) => záznam auditu bude generován

Page 31: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Audit Práv (2)

• Audit práva DELETE ANY TABLE.

AUDIT DELETE ANY TABLE BY ACCESS

WHENEVER NOT SUCCESSFUL;

• Následující příkaz odstraní všechny možnosti auditu práva :

NOAUDIT ALL PRIVILEGES;

Page 32: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Fine-grained audit

• pomoci FGA, lze např. auditovat konkrétní sloupec tabulky a zjistit, kdy a kdo se pokusil o přístup to během stanovené doby.

• Kromě toho lze vytvořit upozornění, které bude spouštěno při porušení politiky, a zapisovat tato data do samostatného souboru auditu.

• Záznamy fine-grained auditu jsou uloženy v tabulce SYS.FGA_LOG$.

Page 33: Administrace Oracle Práva a role, auditkopecky/vyuka/oracle2/1213/ref07pr.pdf · 2012. 10. 29. · UPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X . Systémová

Zdroje

• http://docs.oracle.com/cd/E11882_01/server.112/e10897/users_secure.htm#ADMQS12001

• http://tmd.havit.cz/Papers/Oracle/Oracle.htm

• http://docs.oracle.com/cd/E11882_01/network.112/e16543/auditing.htm#DBSEG006

• http://all-oracle.ru/content/view/?part=1&id=83

• http://bd-sql-xml.org.ua/index.php/subd/52-oracle/78-audit-dejstvij-polzovatelej-v-subd-oracle