1 / 40

Práva a role, audit

Administrace Oracle. Práva a role, audit. Filip Řepka 2010. Práva (privileges). Objekty (tabulky, pohledy, procedury, ...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma pojmenované podle jeho uživatelského jména. Předem definovaná schémata

kris
Download Presentation

Práva a role, audit

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Administrace Oracle Práva a role, audit Filip Řepka 2010

  2. Práva (privileges)

  3. Objekty (tabulky, pohledy, procedury, ...) jsou v databázi logicky rozděleny do schémat. Každý uživatel má přiděleno svoje schéma pojmenované podle jeho uživatelského jména. Předem definovaná schémata • SYS, SYSTEM (odpovídají speciálním systémovým uživatelům) • PUBLIC (odpovídá "skupině" všech uživatelů).

  4. Práva (privileges) • cílem je omezení uživatele, aby směl manipulovat jen s určitými objekty a to daným způsobem • každý uživatel má přidělenu množinu práv, kterými disponuje • dva druhy: systémová práva a práva na objekty

  5. Systémová práva • řádově desítky • používají se pro umožnění nějaké činnosti globálně na všech objektech daného typu např. 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

  6. Práva na objekty • malý počet • Oracle umožňuje přidělit práva na konkrétní objekty • každý typ objektu má jistou množinu práv, která mohou být přidělena jeho instancím

  7. 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

  8. Přidělování práv a rolí • 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 také přidělovat práva na objekty ve svém schématu či na objekty, na které my byla přidělena práva s nastaveným parametrem GRANT OPTION

  9. práva lze přidělit přímo konkrétním uživatelům či roli Přidělení práv roli odpovídá jejich přidání do množiny práv, kterou role reprezentuje. Analogicky lze přidělit roli (tj. množinu práv) uživateli nebo jiné roli. • K přidělování práv a rolí slouží dvě verze SQL příkazu GRANT.

  10. Pro systémová práva a role

  11. Pro práva na objekty(zjednodušeno)

  12. Odebírání práv • příkazem REVOKE syntaxe je analogická jako u GRANT s tím rozdílem, že namísto slova TO je slovo FROM.

  13. Role

  14. je pojmenovaná množina práv • umožňuje jednoduché přidělení, úpravu a odebrání množiny práv skupinám uživatelů

  15. Vytvoření, změna a zrušení role • k vytvoření role slouží příkaz CREATE ROLE

  16. Vytvoření, změna a zrušení role • práva roli se nastavují příkazem GRANT • roli lze zrušit příkazem DROP ROLE • změna identifikace se provádí příkazem ALTER ROLE

  17. Předdefinované role • Jsou v DB ihned po jejím vytvoření DBA role administrátora CONNECT přidána automaticky každému nově vytvořenému uživateli

  18. Platnost role • role může být buď zapnutá - práva, která obsahuje jsou přenesena na uživatele, nebo je vypnutá a práva, která obsahuje jsou uživateli odebrána • poté, co se uživatel přihlásí k databázi, jsou všechny role, které mu byly přiděleny příkazem GRANT zapnuty

  19. Platnost role • pokud chce uživatel pro sebe roli zapnout či vypnout, může tak učinit příkazem SET ROLE

  20. Audit DB

  21. Audit DB • sledování uživatelských aktivit v DB • lze sledovat operace, uživatele, tabulky ... • určitá míra auditu je vhodná vždy Je však důležité si rozmyslet, co vše se bude sledovat, jak mnoho informací to bude produkovat a jak moc to může ovlivnit při velkém zatížení dotazy na DB

  22. Ukládání informací • Audit Trail • operační systém • oboje zároveň

  23. Audit Trail • uložen v datového slovníku databáze - tabulka SYS.AUD$ • lze používat předdefinované pohledy z DB • Lze použít nástroje Oracle pro tvorbu zpráv (Oracle Reports)

  24. Audit Trail • obsah závisí na konkrétním nastavení auditu • Vždy obsahuje: login uživatele (v operačním systému) uživatelské jméno identifikátor session identifikátor terminálu jméno objektu, ke kterému je přistupováno typ prováděné operace návratový kód operací Datum a čas

  25. Operační systém • podpora OS je různá windows – event log • data z různých programů na jednom místě • komplexnější analýza činnosti

  26. Operační systém • ukládají se: stejné informace jako do Audit Trail záznamy generované operačním systémem činnosti DB, které se zaznamenávají vždy činnost administrátorů • složení záznamů kód akce - popisvtabulce AUDIT_ACTIONS přístupová práva - popis v tabulce SYSTEM_PRIVILEGE_MAP výsledek akce - 0 = úspěch, jinak Oracle error code

  27. Vždy zaznamenávané akce • ukládají se i v případě vypnutého auditu a to do systémového souboru • připojení k instanci s administrátorskými právy • spuštění databáze (záznam loginu, terminálu, času, a stavu auditování) • vypnutí databáze (záznam loginu, terminálu, data a času)

  28. Audit administrátorů • uživatelé s oprávněním SYS (SYSDBA a SYSOPER) • lze zapnout v konfiguračním souboru AUDIT_SYS_OPERATIONS = TRUE (defaultně false) • data se ukládají do OS AUDIT_TRAIL není brán v potaz Odkaz na stránky Oracle s příkladem

  29. Zapnutí a vypnutí auditu • každý přihlášený uživatel může kdykoliv nastavit sledování příkazů, práv a objektů • musí být nejdříve povoleno auditování • nastavuje se v konfiguračním souboru • zpravidla nastavuje „security administrator“ • pro aplikovaní změn nutné restartovat Oracle (jedná se o statické parametry)

  30. Zapnutí a vypnutí auditu • parametry pro nastavení auditu: AUDIT_TRAIL AUDIT_SYS_OPERATIONS AUDIT_FILE_DEST

  31. AUDIT_TRAIL • slouží pro nastavení auditování • možnosti: DB – zapne auditing, záznamy ukládány do Audit Trail databáze OS - zapne auditing, záznamy ukládány do OS NONE - vypíná auditování, výchozí nastavení

  32. AUDIT_FILE_DEST • nastavuje adresář, kam se ukládají záznamy musí být nastaveno AUDIT_TRAIL = OS • ukládají se sem také vždy sledované informace • je-li nastaven AUDIT_SYS_OPERATIONS, pak se sem ukládají i záznamy o administrátorech • defaultní adresář je $ORACLE_HOME/rdbms/audit • liší se podle OS

  33. Příkaz AUDIT Standardní úrovně auditu: • příkazy – sleduje vykonávání specifických příkazů na určitých typech databázových objektů. • privilegia – sleduje příkazy autorizované specifickými systémovými právy • objekty - sledování určitých příkazů na určitých objektech

  34. Příkaz AUDIT příklady: • AUDIT TABLE spustí sledování příkazů CREATE TABLE, TRUNCATE TABLE, COMMENT ON TABLE, DELETE [FROM] TABLE • AUDIT CREATE ANY TRIGGER spustí sledování příkazů používajících systémové právo CREATE ANY TRIGGER • AUDIT ALTER ONuser.table spustí sledování změn na tabulce user.table Syntaxe příkazu AUDIT na stránkách Oracle

  35. Příkaz AUDIT • parametry BY SESSION - pro všechny příkazy v jedné session je jeden záznam(default) BY ACCESS - jeden záznam pro každý příkaz v jedné session WHENEVER SUCCESSFUL - záznam operací, jenž uspěly WHENEVER NOT SUCCESSFUL - záznam operací, jenž neuspěly nebo skončily chybovou hláškou NOT EXISTS - záznam operací, jejichž cílový objekt neexistoval

  36. Příkaz NOAUDIT • vypíná množství sledovacích možností • používá se na resetování sledování příkazů a práv • má podobnou syntaxi jako AUDIT, pro upřesnění použít odkaz níže Příklady použití NOAUDIT na stránkách Oracle

  37. Audit Trail – velikost dat • pokud se Audit Trail zaplní, nelze ukládat další záznamy a sledované operace nelze vykonávat • velikost dat a jejich růstu závisí na počtu sledovaných operací a na jejich četnosti • Pro udržení rozumné velikosti dat je dobré • nemít stále zapnutý podrobný audit • zvážit, co vše je opravdu potřeba auditovat • rozumné přidělení práva pro audit (security admin buď vlastní všechny objekty nebo má právo AUDIT ANY)

  38. Audit Trail – redukce velikosti dat • SYS.AUD$ je tabulka v databázi, tudíž uživatel s potřebnými právy(security admin) z ní může mazat nebo je možné z ní vyexportovat data ven • po smazání záznamů má SYS.AUD$ stále alokované místo – pro reálné zmenšení slouží příkaz TRUNCATE

  39. Audit Trail - ochrana • při sledováním podezřelých operací je vhodné si chránit získané informace – práva jako DELETE ANY TABLE by měl mít pouze security administrator • neopomenout možnost sledovat změny v Audit Trailu AUDIT INSERT, UPDATE, DELETE ON SYS.AUD$ BY ACCESS Příklady auditu tabulky SYS.AUD$ na stránkách Oracle Pohledy na Audit Trail na stránkách Oracle

  40. Zdroje • http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/privs.htm • http://tmd.havit.cz/Papers/Oracle/Oracle.htm • http://download.oracle.com/docs/cd/B10501_01/server.920/a96521/audit.htm • http://download.oracle.com/docs/cd/B10501_01/server.920/a96540/statements_48a.htm

More Related