Databázové systémy II Přednáška II Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky

Slides:



Advertisements
Podobné prezentace
Základy databázových systémů
Advertisements

SQL: DDL v ORACLE CREATE TABLE jméno_tabulky (atribut datový_typ [DEFAULT][attribut_constraint] [, atribut datový_typ [DEFAULT] [attribut_constraint]],...
Přednáška č. 3 Normalizace dat, Datová a funkční analýza
Aplikační a programové vybavení
Jazyk SQL Ing. Zdena DOBEŠOVÁ. SQL Structured Query Language 1974 SEQUEL (Structured English Query Language) neprocedurální relační dotazovací jazyk norma.
 Informací se data a vztahy mezi nimi stávají vhodnou interpretací pro uživatele, která odhaluje uspořádání, vztahy, tendence a trendy  Existuje celá.
Přednáška č. 5 Proces návrhu databáze
ZMVŠ. Bezpečnost Windows 8 Dynamic Access Control (DAC) Volně – Dynamický kontrolní přístup) rozšíření NTFS access control listů (ACL) o složitá pravidla.
Informatika pro ekonomy II přednáška 11
Architektury a techniky DS Tvorba efektivních příkazů I Přednáška č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy 1 Cvičení č. 3 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
SQL Lukáš Masopust Historie  Předchůdcem databází byly papírové kartotéky  děrný štítek  1959 konference  1960 – vytvořen jazyk COBOL.
Uživatelé, Role, Schémata
Databáze Jiří Kalousek.
MySQL - Vytvoření nové tabulky  create table jméno_tabulky (jméno_položky typ_položky,... ) Přehled nejběžnějších datových typů Přehled nejběžnějších.
Fakulta elektrotechniky a informatiky
Caché Security. Jak vypadá zabezpečení dnes Jak bude vypadat a co by Caché měla umět v budoucnu Včera, dnes a zítra.
Databázové systémy II Přednáška č. 2 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Gymnázium, SOŠ a VOŠ Ledeč nad Sázavou I NFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Ing. Jan Roubíček.
Databáze Úvod.
Adresářová služba Active directory
Databázové systémy II Přednáška č. 8 – Pohledy (Views)
D ATOVÉ MODELY Ing. Jiří Šilhán. D ATABÁZOVÉ SYSTÉMY Patří vedle textových editorů a tabulkových kalkulátorů k nejrozšířenějším představitelům programového.
Školení správců II. Petr Pinkas RNDr. Vít Ochozka.
Databázové systémy 2 Cvičení V Ing. Tomáš Váňa Fakulta elektrotechniky a informatiky
Databázové systémy teorie a návrh relačních databázových systémů část II.
8. dubna 2013ISSS - Portál interních identit, Z. Motl1 Portál interních identit jako nadstavba identity managementu Mgr. Boleslav Bobčík, T-Systems Czech.
JIP a KAAS Co umí. A co nabízí ve vztahu k základním registrům.
Relační databáze.
Vypracoval: Ondřej Dvorský Třída: VIII.A
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Bezpečnost IS David Krch Solutions Specialist IS Technolog. Fyzická Osobní Organizační Komplexní pohled na bezpečnost Technolog. IS.
Informatika pro ekonomy II přednáška 10
Principals, Securables, Schema Vít Ochozka. Entity databáze - zdroje Securables –Entity databáze (zdroje), ke kterým SQL reguluje přístup podle práv –Hierachie.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
Databázové systémy II Přednáška č. X Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky
Administrace Oracle Práva a role, audit Filip Řepka 2010.
Fakulta elektrotechniky a informatiky
Architektury a techniky DS Cvičení č. 9 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Databázové systémy II Přednáška č. 9. Transakce je logická jednotka práce sestávající z jednoho nebo více SQL příkazů, které jsou atomické z hlediska.
Databázové systémy II Cvičení č. 3 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Copyright (C) 2000 Vema, a. s.1 V3 klient Michal Máčel Provozní integrace G2, HR/Win a internetu.
DATABÁZOVÉ SYSTÉMY. 2 DATABÁZOVÝ SYSTÉM SYSTÉM ŘÍZENÍ BÁZE DAT (SŘBD) PROGRAM KTERÝ ORGANIZUJE A UDRŽUJE NASHROMÁŽDĚNÉ INFORMACE DATABÁZOVÁ APLIKACE PROGRAM.
Databázové modelování
Aplikační a programové vybavení
Zabezpečení dat a zajištění oprávněných přístupů k Vašim aplikacím
Obchodní akademie, Ostrava-Poruba, příspěvková organizace Vzdělávací materiál/DUM VY_32_INOVACE_01B13 Autor Ing. Jiří Kalousek Období vytvoření březen.
Databázové systémy 2 Cvičení č. 5 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Petr Dadák, Centralizovaná správa účtů v heterogenním prostředí Centralizovaná správa účtů v heterogenním prostředí Petr Dadák Bakalářská práce.
Selektivní šifrování dat v databázích
Klomfar Petr.  Adresářová služba  specializovaná databáze optimalizovaná pro čtení a vyhledávání.  popisující objekt pomocí atributů. Na rozdíl od.
Miroslav Skokan IT Security Consultant
Databázové systémy Zabezpečení DBS. Cíle, které je třeba vzít v úvahu při návrhu databázové aplikace z pohledu bezpečnosti: Důvěrnost - informace by neměly.
Úvod do databází zkrácená verze.
David Gešvindr MCSA: SQL Server | MSP | MCITP | MCPD.
Základní škola T. G. Masaryka a Mateřská škola Poříčany, okr. Kolín VY_32_INOVACE_ICT_04 ORGANIZACE DAT V PC Zpracovala: Mgr. Květoslava Štikovcová Číslo.
BEZPEČNOSTNÍ TECHNOLOGIE I Operační program Vzdělávání pro konkurenceschopnost Projekt: Vzdělávání pro bezpečnostní systém státu (reg. č.: CZ.1.01/2.2.00/ )
Bezpečnostní technologie I
Soubor Soubor v informatice označuje pojmenovanou sadu dat uloženou na nějakém datovém médiu, se kterou lze pracovat nástroji operačního systému jako.
Databázové systémy I Přednáška 11 Databázové systémy 1 – KIT/IDAS1
Identity management v UIS
Informatika pro ekonomy přednáška 8
Zabezpečení www stránek
Optimalizace SQL dotazů
Správa disků
Přednáška 9 Triggery.
Databázové systémy a SQL
Transkript prezentace:

Databázové systémy II Přednáška II Ing. Tomáš Váňa, Ing. Jiří Zechmeister Fakulta elektrotechniky a informatiky

Obsah Systémový katalog Zajištění bezpečnosti dat IDAS2 - Přednáška II 2

Systémový katalog IDAS2 - Přednáška XI

Systémový katalog (Datový slovník) Systémový katalog (Oracle Data Dictionary) se skládá z tabulek a pohledů poskytujících informace o databázi, ty jsou uloženy v tabulkovém prostoru SYSTEM, slovník se skládá z: základní tabulky (typicky x$…) – uchovávají informace o databázi – pouze Oracle by měl zapisovat a číst do/z těchto tabulek, protože jsou normalizované, na některých systémech může dotaz nad takovou tabulkou shodit databázi – jsou důležité pro správnou funkčnost databáze pohledy – tyto pohledy shromažďují a zobrazují v čitelné podobě informace uložené v základních tabulkách katalogu (např. DBA_TABLES) Všechny tabulky i pohledy vlastní uživatel SYS. Databázové systémy 2 - př. 1 4

Systémový katalog (Datový slovník) Systémový katalog má tři základní použití: – Oracle zde hledá informace o uživatelích, objektech a strukturách používané pro ukládání (storage structures). – Oracle jej mění po každém DDL příkazu. – Libovolný uživatel si jej může prohlížet (to, na co má práva). Při databázových operacích Oracle zjišťuje, zda objekty existují a zda má na ně uživatel právo. Oracle vytváří public synonyma pro mnoho pohledů systémového katalogu, aby se na ně uživatel nemusel odkazovat včetně uvádění schématu. Další produkty Oracle mohou odkazovat na současné pohledy, ale vytvořit si i nové tabulky a pohledy. Ne všechna data jsou dostupná všem uživatelům Databázové systémy 2 - př. 1 5

Systémový katalog (Datový slovník) systémový katalog je složen z množin pohledů. V mnoha případech mají množiny tři podobné pohledy lišící se v názvu prefixem: – USER_ – všechny objekty, které uživatel vlastní – ALL_ – všechny objekty, ke kterým má uživatel přístup – DBA_ – všechny objekty (pohledy pro DBA) sloupce v každé množině jsou identické s následujícími výjimkami: – pohledy s prefixem USER většinou nemají sloupce OWNER (očekává se, že vlastníkem je uživatel, který dotaz spustil) – některé DBA pohledy mají další sloupce navíc s informacemi užitečnými pro DBA – některé tabulky (např. USER/ALL/DBA_USERS) Databázové systémy 2 - př. 1 6

Systémový katalog (Datový slovník) Příklady názvů pohledů: Databázové systémy 2 - př. 1 7

Systémový katalog (Datový slovník) Zjištění různých pohledů systémového katalogu a jejich významu: SELECT * FROM dictionary ORDER BY table_name Lze omezit např.: SELECT table_name, comments FROM dictionary WHERE table_name LIKE '%TABLE%' ORDER BY table_name Popisy sloupců lze najít takto: SELECT column_name, comments FROM dict_columns WHERE table_name = 'ALL_TAB_COLUMNS' Databázové systémy 2 - př. 1 8

Systémový katalog (Datový slovník) Příklady často používaných synonym: CAT synonymum pro pohled USER_CATALOG DICT DICTIONARY OBJ USER_OBJECTS SYN USER_SYNONYMS TABS USER_TABLES Databázové systémy 2 - př. 1 9

Systémový katalog (Datový slovník) Příklady pohledů (synonymum) CATALOG (ALL_, DBA_, USER_ (CAT)) Informace o databázových tabulkách, pohledech, synonymech a sekvencích CONSTRAINTS (ALL_, DBA_, USER_) Informace o integritních omezeních databáze INDEXES (ALL_, DBA_, USER_, (IND)) Informace o indexech v databázi OBJECTS (ALL_, DBA_, USER_, (OBJ)) Informace o databázových objektech Databázové systémy 2 - př. 1 10

Systémový katalog (Datový slovník) Příklady pohledů (synonymum) ROLE_PRIVS (DBA_, USER_) Informace o rolích přidělených uživateli TABLES (ALL_, DBA_, USER_, (TABS)) Informace o tabulkách v databázi USERS (ALL_, DBA_, USER_) Informace o uživatelích v databázi VIEWS (ALL_, DBA_, USER_) Informace o pohledech v databázi Databázové systémy 2 - př. 1 11

Systémový katalog (Datový slovník) Příklady pohledů (synonymum) DATA_FILES (DBA_) Informace o datových souborech databáze LOCKS (DBA_) Informace o DLL a DML uzamčeních v databázovém serveru ROLE_PRIVS (DBA_, USER_) Informace o rolích přidělených uživateli SOURCE (ALL_, DBA_, USER_) Zdrojové texty uložených procedur, funkcí, specifikací a těl balíků v databázi Databázové systémy 2 - př. 1 12

Systémový katalog (Datový slovník) Příklady pohledů (synonymum) DEPENDENCIES (ALL_, DBA_, USER_) Informace o závislostech mezi objekty v databázi TABLESPACES (DBA_, USER_) Informace o tabulkových prostorech databáze TRIGGERS (ALL_, DBA_, USER_) Informace o triggerech v databázi V$TRANSACTION Informace o aktuálně prováděných databázových transakcích Databázové systémy 2 - př. 1 13

Systémový katalog (Datový slovník) Příklady: SELECT name, type, referenced_name, referenced_type FROM user_dependencies WHERE referenced_owner=user order by name; SELECT object_name, object_type, status FROM user_objects; SELECT tablespace_name FROM user_indexes WHERE index_name = ‘idx_name’; Databázové systémy 2 - př. 1 14

Spojování pohledů syst. katalogu Příklad – zjištění názvů sloupců ve schématu A_HR, které jsou typu NUMBER a jsou součástí primárních klíčů tabulek SELECT column_name, table_name, data_type FROM all_constraints JOIN all_cons_columns using (constraint_name, owner, table_name) JOIN all_tab_cols using (owner, table_name, column_name) WHERE owner='A_HR' AND constraint_type='P' AND data_type = 'NUMBER'; Databázové systémy 2 - př. 1 15

Zabezpečení dat IDAS2 - Přednáška II 16

Zajištění bezpečnosti dat Cíle, které je třeba vzít v úvahu při návrhu databázové aplikace z pohledu bezpečnosti: Důvěrnost (secrecy) - informace by neměly být přístupné neautorizovaným uživatelům. Integrita (integrity) - modifikovat data může jen autorizovaný uživatel. Dostupnost (availability) - autorizovaným uživatelům by nemělo být bráněno v přístupu. – bezpečnostní politika - kdo co může s jakými daty dělat – bezpečnostní mechanismy - zajištění bezpečnostní politiky IDAS2 - Přednáška II 17

Zajištění bezpečnosti dat Funkce databáze Oracle pro zajištění bezpečnosti dat: – Uživatelské účty – Autentifikační metody – Práva a role – Informace o uživatelově relaci – Využití VPD (Virtual Private Database) – Šifrování – Audit IDAS2 - Přednáška II 18

Bezpečnostní mechanismy Pohledy – umožní přístup jen k některým sloupcům tabulek – možnost omezit přístupné řádky – možnost skrýt skutečnou strukturu tabulek – mohu omezit, že některé pohledy mají sloužit pouze ke čtení (read only) CREATE VIEW V_UKAZKA AS SELECT sloupec_A novy_nazev_sloupce, sloupec_B omezení a přejmenování sloupců FROM tabulka_1 skrytí skutečné tabulky WHERE podmínka omezení řádků [WITH CHECK OPTION [CONSTRAINT constraint] ] omezení pro INSERT a UPDATE řádků [WITH READ ONLY] pohled pouze pro čtení IDAS2 - Přednáška II 19

Přístup k databázi Pro přístup do databáze je nutné, aby uživatel měl v databázi zaregistrováno uživatelské jméno a odpovídající heslo. Tuto registraci provádí správce databáze při registraci nového uživatele příkazem CREATE USER. CREATE USER IDENTIFIED BY Příklad CREATE USER jnovak IDENTIFIED BY w25sqx; Příkaz vytvořil v databázi uživatele s názvem JNOVAK, který bude mít heslo "w25sqx". IDAS2 - Přednáška II 20

Přístup k databázi Při vytvoření uživatele je možno zároveň přidělit uživateli default tablespace a temporary tablespace neboli implicitní a dočasný tabulkový prostor. CREATE USER IDENTIFIED BY DEFAULT TABLESPACE TEMPORARY TABLESPACE Dále je možné např. definovat, že uživatel musí změnit heslo při dalším přihlášení, nastavit uživateli profil, omezit velikost přiděleného místa v tabulkových prostorech atd. Příklad CREATE USER jnovak IDENTIFIED BY w25sqx DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; Příklad ukazuje vytvoření uživatele a přidělení tabulkových prostorů. Pokud tabulkové prostory nejsou určeny, nastaví se implicitní hodnoty. IDAS2 - Přednáška II 21

Přístup k databázi Uživatel si může změnit heslo uvedeným příkazem. Stejně tak to za něj může provést administrátor. ALTER USER IDENTIFIED BY ; Příklad ALTER USER JNOVAK IDENTIFIED BY sdf45t; IDAS2 - Přednáška II 22

Systémová přístupová práva poskytují možnost operace na úrovni schématu uživatele nebo na úrovni celé databáze. GRANT CREATE SESSION, CREATE TABLE TO JNOVAK; Příkazem GRANT byla uživateli JNOVAK přidělena práva přístupu k databázi a vytváření tabulek. REVOKE CREATE TABLE FROM JNOVAK; Příkazem REVOKE bylo stejnému uživateli odebráno právo vytvářet tabulky. Uživatel musí mít minimálně právo CREATE SESSION, aby se mohl přihlásit do databáze. GRANT CREATE PROCEDURE TO JNOVAK WITH ADMIN OPTION; Pokud bylo uživateli přiděleno právo např. CREATE PROCEDURE příkazem s klauzulí WITH ADMIN OPTION, získává uživatel zároveň právo přidělovat právo CREATE PROCEDURE i jiným uživatelům. SELECT * FROM user_sys_privs; Informace ze systémového katalogu o systémových právech přidělených uživateli. IDAS2 - Přednáška II 23

Systémová přístupová práva CREATE PROCEDURE CREATE SEQUENCE CREATE SESSION CREATE SYNONYM CREATE TABLE CREATE TRIGGER CREATE TYPE CREATE USER CREATE VIEW IDAS2 - Přednáška II 24

Přístupová práva k objektům - poskytují uživateli možnost provádět databázové operace s určitými objekty jiného uživatele. Tyto práva může poskytovat správce nebo vlastník objektu. GRANT SELECT, INSERT, UPDATE, DELETE ON cisla TO jnovak; Uživatel, který vlastní tabulku CISLA přidělil právo dotazu, vkládání, aktualizace a rušení záznamů nad touto tabulkou uživateli JNOVAK. SELECT * FROM pholy.cisla; Uživatel s přidělenými právy pro dotaz nad tabulkou CISLA vlastníka(tedy schématu) PHOLY provedl dotaz v této tabulce. SELECT * FROM user_tab_privs; SELECT * FROM user_tab_privs_made; SELECT * FROM user_tab_privs_recd; Informace ze systémového katalogu o všech, přidělených a přijatých objektových právech. IDAS2 - Přednáška II 25

Objektová práva Tabulky, pohledy: ALTER DELETE INDEX INSERT UPDATE SELECT REFERENCES … Procedury, funkce: EXECUTE DEBUG IDAS2 - Přednáška II 26

Vytváření rolí Pro zjednodušení správy přístupových práv je možno použít prostředek nazvaný role. Role je množina souvisejících práv, které může správce přidělit najednou uživatelům databáze a ostatním rolím. Pro vývoj aplikace jsou programátorovi nejčastěji přiděleny role CONNECT a RESOURCE. GRANT CONNECT TO jnovak; GRANT RESOURCE TO jnovak; Přidělení rolí CONNECT a RESOURCE uživateli jnovak. SELECT * FROM user_role_privs; USERNAME GRANTED_ROLE ADM DEF OS_ JNOVAK CONNECT NO YES NO JNOVAK RESOURCE NO YES NO Výpis přidělených rolí přihlášeného uživatele. IDAS2 - Přednáška II 27

Vytváření rolí Jaká práva role obsahují je možno zjistit z pohledu syst. katalogu ROLE_SYS_PRIVS. SELECT * FROM role_sys_privs ROLE PRIVILEGE ADM CONNECT ALTER SESSION NO CONNECT CREATE CLUSTER NO CONNECT CREATE DATABASE LINK NO CONNECT CREATE SEQUENCE NO CONNECT CREATE SESSION NO CONNECT CREATE SYNONYM NO CONNECT CREATE TABLE NO CONNECT CREATE VIEW NO RESOURCE CREATE CLUSTER NO RESOURCE CREATE INDEXTYPE NO RESOURCE CREATE OPERATOR NO RESOURCE CREATE PROCEDURE NO RESOURCE CREATE SEQUENCE NO RESOURCE CREATE TABLE NO RESOURCE CREATE TRIGGER NO RESOURCE CREATE TYPE NO IDAS2 - Přednáška II 28

Vytvoření a přidělení rolí CREATE ROLE sklad; Příklad vytvoření role. Pro tento příkaz je nutno mít právo CREATE ROLE, které může přidělit správce. GRANT SELECT, INSERT, UPDATE, DELETE ON prijem TO sklad; GRANT SELECT, INSERT, UPDATE, DELETE ON vydej TO sklad; Přidělení přístupových práv na tabulky PRIJEM a VYDEJ roli SKLAD. GRANT sklad TO uživ1, uživ2, uživ3...; Přidělení role SKLAD uživatelům. SET ROLE sklad; Aktivování role SKLAD a zrušení ostatních přístupových práv. Tento příkaz je možno použít např. při spuštění aplikace. IDAS2 - Přednáška II 29

Přidělení práv všem uživatelům TO PUBLIC.. tj. všem uživatelům GRANT SELECT ON knihy TO PUBLIC; Přidělení přístupových práv na čtení tabulky knihy všem uživatelům. IDAS2 - Přednáška II 30

Práva a role Pár doporučení od Oraclu: – Přidělujte jen nutná oprávnění. Nepřidělujte uživatelům práva, která nepotřebují. – Nepřidělujte privilegia s ANY (CREATE ANY TABLE) ne- administrátorským uživatelům (non-DBA). – Uzamkněte předdefinované uživatelské účty. – Přidělujte práva jen rolím, nikoliv přímo uživatelům. Zjednodušíte tím správu práv. – Všechny rady viz: IDAS2 - Přednáška II 31

Schémata v systému Oracle Schéma je množina databázových objektů, které spolu souvisejí. Databázovými objekty mohou být tabulky, pohledy, indexy, clustery, sekvence, synonyma, uložené procedury, uložené triggery, databázové linky, snapshoty (používané pro repliky vzdálených tabulek). Při vytvoření uživatele správcem se implicitně vytvoří databázové schéma uživatele v definovaném tabulkovém prostoru. Ve svém databázovém schématu vlastní uživatel všechny objekty. Tip: všechny vytvořené databázové objekty si zobrazíte příkazem SELECT * from user_objects; IDAS2 - Přednáška II 32

Bezpečnostní mechanismy Oracle Zajištění principu minimálních nutných práv Mechanismus řízení přístupu pomocí systémových i objektových práv Řízení přístupu na úrovni záznamů Transparentní šifrování dat Šifrování záloh Šifrování komunikace Detailní audit operací Centrální správa uživatelů - spolupráce s LDAP Bezpečnostní certifikace IDAS2 - Přednáška II 33

Bezpečnostní mechanismy Oracle Mechanismus Secure Application Role uživatel může určité operace provádět jen pokud přistupuje z dané aplikace a nikoliv, pokud k přístupu použije třeba databázovou konzoli tyto role jsou pevně svázány s určitou databázovou package (knihovnou uložených procedur) a mohou být aktivovány pouze z této package. IDAS2 - Přednáška II 34

Bezpečnostní mechanismy Oracle Mechanismus Virtual Private Database (VPD) VPD zajišťuje automatické a transparentní doplnění jakéhokoliv dotazu o bezpečnostní podmínku. Ta pak omezuje data, se kterými uživatel může pracovat. I když tedy dva uživatelé zadají stejný dotaz (například výpis celé tabulky), může každý získat jiná data Např. uživatelé z různých oddělení mohou pracovat pouze se svými daty, i když jsou data celého podniku ve stejné tabulce IDAS2 - Přednáška II 35

Bezpečnostní mechanismy Oracle Mechanismus Oracle Label Security Option Každý záznam je označen štítkem určujícím jeho citlivost. Každý uživatel má na druhé straně definovány bezpečnostní úrovně, se kterými může pracovat. Databáze Oracle pak zajistí, že uživatel může pracovat pouze s těmi daty, jejichž citlivost odpovídá jeho úrovni. IDAS2 - Přednáška II 36

Bezpečnostní mechanismy Oracle Mechanismus Oracle Advanced Security Option (ASO) V rámci ASO je možné využít pokročilé metody ověřování, jako jsou třeba klientské SSL certifikáty, nebo využití různých autentizačních služeb postavených na standardech Kerberos či RADIUS. Pomocí těchto služeb lze například zajistit ověřování pomocí různých elektronických karet nebo biometrických údajů. IDAS2 - Přednáška II 37

Bezpečnostní mechanismy Oracle Mechanismus Proxy Authentication Problém s identifikací uživatelů však může nastat u webových aplikací, kdy se aplikace do databáze přihlašuje stále pod stejným jménem a heslem. Databáze totiž neví, kdo s ním skutečně pracuje, což blokuje řadu jejích bezpečnostních funkcí. Mechanismus Proxy Authentication aplikaci sice umožní přistupovat do databáze stále pod stejným jménem a heslem (a ušetřit tak čas na vytvoření spojení), avšak zároveň dovoluje předat informace o skutečném uživateli, který s aplikací pracuje. Databázový systém pak tuto informaci využije při řízení přístupu i auditování. IDAS2 - Přednáška II 38

Bezpečnostní mechanismy Oracle Mechanismus Advanced Security Option pro šifrování Šifrování přenosu dat má za cíl zabránit odposlechnutí či dokonce pozměnění komunikace. Šifrování komunikace je přitom transparentní pro samotnou aplikaci – neznamená nutnost zásahu do kódu aplikace. Kromě SSL existují i další techniky. Nástroje pro výběrové programové šifrování a dešifrování dat pomocí standardních algoritmů (DES, 3DES, AES a MD5) umožňují zašifrovat obzvláště citlivá data (rodná čísla, čísla kreditních karet). Možnost šifrování dat v tabulkách, které je transparentní z pohledu aplikace, nastavuje se deklarativně při definici tabulky. Tento mechanismus chrání před unikem dat při přístupu obcházejícím databázový server – např. kopírováním datových souborů, nebo zcizením záložních médií. IDAS2 - Přednáška II 39

Bezpečnostní mechanismy Oracle Mechanismus Fine Grained Auditing (FGA) Nedílnou součástí bezpečnostních mechanismů je i možnost auditování operací prováděných jednotlivými uživateli. Základní auditovací mechanismy většinou vytvářejí velký objem záznamů – nepřehledné, těžce zpracovatelné – proto Oracle vyvinul FGA. FGA umožňuje detailně určit jakých dat se má operace týkat specifikací sloupce tabulky a podmínky. Pouze pokud se v rámci uživatelem prováděné operace začne pracovat se záznamem splňujícím podmínku a je vrácena informace z definovaného sloupce, je tato operace zapsána do auditovacího logu. Při takové události je možné spustit i uloženou proceduru, která zajistí patřičnou reakci – například zašle SMS správci databáze. IDAS2 - Přednáška II 40

Bezpečnostní mechanismy Oracle Mechanismus Oracle Internet Directory (OID) Standardní správa uživatelů vyžaduje aktualizace uživatelů v mnoha systémech při odchodech či nástupech zaměstnanců do zaměstnání a změnách funkcí zaměstnanců. Častým jevem je neaktuálnost uživatelských účtů a nezrušení jejich účtů v systémech. Řešením je centrální správa uživatelů na jednom místě, ze kterého si jednotlivé aplikace přebírají data pomocí standardu LDAP. V prostředí Oracle funkci tohoto centrálního prvku plní OID. Centrální správu uživatelů v OID lze samozřejmě využít i pro správu databázových uživatelů a rolí. Tato funkcionalita je označena jako Enterprise User Security. Databáze může přebírat nejen seznam uživatelů, ale může z OID získat i seznam rolí přiřazených uživatelům. IDAS2 - Přednáška II 41

Správa uživatelů Tradiční způsob Samostatná správa pro jednotlivé aplikace a komponenty Vysoké náklady na správu (duplikace práce) Nekonzistentní informace Pomalá reakce na změnu Riziko ponechání přístupu neoprávněné osobě Špatná kontrola Aplikace 1Aplikace 2Aplikace 3 Správa uživatelů IDAS2 - Přednáška II 42

Centrální evidence uživatelů Vyšší přehlednost Rychlejší reakce Efektivnější správa Aplikace 1Aplikace 2Aplikace 3 Adresářová služba (LDAP) Správa uživatelů Správa uživatelů Oracle Internet Directory LDAP v3 Uložení dat v Oracle DB Výkon Velké objemy dat Bezpečnost Dostupnost Oracle Internet Directory LDAP v3 Uložení dat v Oracle DB Výkon Velké objemy dat Bezpečnost Dostupnost IDAS2 - Přednáška II 43

Audit ADAPTERY Centrální správa identit v heterogenním prostředí LDAP V3 Oracle Internet Directory Personalistika Identity Management Server Samoobslužný webový přístup Administrátorské prostředí Aplikace ERP Aplikace CRM Vlastní aplikace Operační systémy Oracle Virtual Directory Osvědčená Oracle Internet Directory a to nejlepší z Oblix, Phaos, Thor Technologies, OctetString Schvalovací procesy IDAS2 - Přednáška II 44

LDAP a jiné adresáře OS Systémy a úložištěAplikace ERPvlastníPersonální systém Mainframe Auditing a výkazy Definice a provoz automatizovaných procesů ZaměstnanciIT odděleníSOA aplikace Podřízené organizace Externí uživatelé Delegovaná správa SOA aplikace Občané Interní uživatelé Služba Identity Management Zabezpečení přístupu Ověření & jednotné přihlášení Autorizace Federovaná identita Adresářové služby LDAP adresář Metadata adresář Virtuální adresář Synchronizace s aplikacemi Obousměrná synchronizace Uživatelé, role, práva Nezávislé na cílové aplikaci Správa identit Delegovaná administrace Samoregistrace, uživatelská samoobsluha Správa uživatelů a skupin Monitoring a správa Oracle Identity Management IDAS2 - Přednáška II 45

Děkuji za pozornost Otázky? IDAS2 - Přednáška II 46