+ All Categories
Home > Documents > Práva a role, audit

Práva a role, audit

Date post: 11-Jan-2016
Category:
Upload: kris
View: 52 times
Download: 0 times
Share this document with a friend
Description:
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 - PowerPoint PPT Presentation
40
Práva a role, audit Administrace Oracle Filip Řepka 2010
Transcript
Page 1: Práva a role, audit

Práva a role, audit

Administrace Oracle

Filip Řepka 2010

Page 2: Práva a role, audit

Práva (privileges)

Page 3: Práva a role, audit

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

Page 4: Práva a role, audit

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

Page 5: Práva a role, audit

• řá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

Systémová práva

Page 6: Práva a role, audit

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

Page 7: Práva a role, audit

tabulky pohledy sekvence procedury

SELECT X X XUPDATE X X INSERT X X DELETE X X ALTER X X INDEX X REFERENCES X EXECUTE X

Page 8: Práva a role, audit

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

Page 9: Práva a role, audit

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

Page 10: Práva a role, audit

Pro systémová práva a role

Page 11: Práva a role, audit

Pro práva na objekty(zjednodušeno)

Page 12: Práva a role, audit

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.

Page 13: Práva a role, audit

Role

Page 14: Práva a role, audit

• je pojmenovaná množina práv

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

Page 15: Práva a role, audit

Vytvoření, změna a zrušení role

• k vytvoření role slouží příkaz CREATE ROLE

Page 16: Práva a role, audit

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

Page 17: Práva a role, audit

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

Page 18: Práva a role, audit

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

Page 19: Práva a role, audit

Platnost role

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

Page 20: Práva a role, audit

Audit DB

Page 21: Práva a role, audit

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

Page 22: Práva a role, audit

Ukládání informací

• Audit Trail

• operační systém

• oboje zároveň

Page 23: Práva a role, audit

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)

Page 24: Práva a role, audit

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énoidentifikátor sessionidentifikátor terminálujméno objektu, ke kterému je přistupovánotyp prováděné operacenávratový kód operacíDatum a čas

Page 25: Práva a role, audit

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

Page 26: Práva a role, audit

Operační systém

• ukládají se:stejné informace jako do Audit Trailzá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 - popis v tabulce AUDIT_ACTIONS

přístupová práva - popis v tabulce SYSTEM_PRIVILEGE_MAPvýsledek akce - 0 = úspěch, jinak Oracle error code

Page 27: Práva a role, audit

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)

Page 28: Práva a role, audit

Audit administrátorů

• uživatelé s oprávněním SYS (SYSDBA a SYSOPER)

• lze zapnout v konfiguračním souboruAUDIT_SYS_OPERATIONS = TRUE (defaultně false)

• data se ukládají do OSAUDIT_TRAIL není brán v potaz

Odkaz na stránky Oracle s příkladem

Page 29: Práva a role, audit

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)

Page 30: Práva a role, audit

Zapnutí a vypnutí auditu

• parametry pro nastavení auditu:

AUDIT_TRAIL

AUDIT_SYS_OPERATIONS

AUDIT_FILE_DEST

Page 31: Práva a role, audit

AUDIT_TRAIL

• slouží pro nastavení auditování

• možnosti:DB – zapne auditing, záznamy ukládány do Audit Trail databázeOS - zapne auditing, záznamy ukládány do OS

NONE - vypíná auditování, výchozí nastavení

Page 32: Práva a role, audit

AUDIT_FILE_DEST

• nastavuje adresář, kam se ukládají záznamymusí 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

Page 33: Práva a role, audit

Příkaz AUDIT

Standardní úrovně auditu:1) příkazy – sleduje vykonávání specifických příkazů na

určitých typech databázových objektů.

2) privilegia – sleduje příkazy autorizované specifickými systémovými právy

3) objekty - sledování určitých příkazů na určitých objektech

Page 34: Práva a role, audit

Příkaz AUDIT

příklady:1) AUDIT TABLE spustí sledování příkazů

CREATE TABLE, TRUNCATE TABLE, COMMENT ON TABLE, DELETE [FROM] TABLE

1) AUDIT CREATE ANY TRIGGER spustí sledování příkazů používajících systémové právo CREATE ANY TRIGGER

2) AUDIT ALTER ON user.table spustí sledování změn na tabulce user.table

Syntaxe příkazu AUDIT na stránkách Oracle

Page 35: Práva a role, audit

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

Page 36: Práva a role, audit

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

Page 37: Práva a role, audit

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)

Page 38: Práva a role, audit

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

Page 39: Práva a role, audit

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 TrailuAUDIT INSERT, UPDATE, DELETE ON SYS.AUD$ BY ACCESS

Příklady auditu tabulky SYS.AUD$ na stránkách OraclePohledy na Audit Trail na stránkách Oracle

Page 40: Práva a role, audit

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


Recommended