48
Databázové systémy II Přednáška č. 1 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky [email protected]

Databázové systémy II

Embed Size (px)

DESCRIPTION

Databázové systémy II. Přednáška č. 1 RNDr. David Žák, Ph.D . Fakulta elektrotechniky a informatiky david.zak @ upce.cz. Náplň předmětu IDAS2. Konzolové aplikace sqlplus, iSQL*Plus. Nástroj SQL developer. - PowerPoint PPT Presentation

Citation preview

Page 1: Databázové systémy II

Databázové systémy II

Přednáška č. 1

RNDr. David Žák, Ph.D.Fakulta elektrotechniky a informatiky

[email protected]

Page 2: Databázové systémy II

Náplň předmětu IDAS2

• Konzolové aplikace sqlplus, iSQL*Plus. Nástroj SQL developer.

• Zabezpečení a ochrana dat – uživatelské účty, systémová a objektová oprávnění, role, profily.

• Transakce, návratové body, automatické zamykání, konzistentní čtení.

• Přístup k databázi z vyššího programovacího jazyka. Bezpečnost a SQL injection.

Databázové systémy 2 - př. 1 2

Page 3: Databázové systémy II

Náplň předmětu IDAS2• Jazyk PL/SQL, proměnné, syntaxe bloku, operátory.• Řízení toku programu - podmínky, cykly, kurzory,

záznamy, ošetření chyb.• Systémové jednotky DBMS_OUTPUT a

DBMS_RANDOM.• Procedury a funkce, balíky procedur.• Triggery a jejich využití.

Databázové systémy 2 - př. 1 3

Page 4: Databázové systémy II

Náplň předmětu IDAS2• Export a import dat, práce s textovými soubory

a XML dokumenty.• Normální formy, dekompozice, normalizace.

Databázové systémy 2 - př. 1 4

Page 5: Databázové systémy II

Plán práce na cvičeních

• Logický a fyzický návrh modelu databáze• Práce se systémovým katalogem• Opakování DML – dotazy střední náročnosti• Transakce, systémová a objektová práva

Databázové systémy 2 - př. 1 5

Page 6: Databázové systémy II

Plán práce na cvičeních• PL/SQL - tvorba bloku a spuštění kódu, balíček

DBMS_OUTPUT• PL/SQL - procedury a funkce, primitivní balíček,

ošetření výjimky• PL/SQL - triggery pro úpravu vkládaných dat do DTB,

pokročilé hlídání konzistence FK a PK, logování událostí

• PL/SQL - opakování, práce s hodnotami NULL a datumem a časem v různých formátech

• Hierarchické dotazy• Analytické funkce

Databázové systémy 2 - př. 1 6

Page 7: Databázové systémy II

Plán práce na cvičeních• Průběžně na všech cvičeních:

– Testy (opakování)– Konzultace semestrální práce– Kontrola řešení semestrální práce (rozpracovanosti)

Zápočet je třeba získat a zapsat do STAGu i indexu do 2 týdnů od ukončení výukového období. V tomto období budou vypsány i 2 náhradní termíny pro opakování zápočtových testů.

Databázové systémy 2 - př. 1 7

Page 8: Databázové systémy II

Doporučená literatura• Lacko, L. Oracle, správa, programování a použití databázového systému.

Computer Press, 2007.

• Urman, S., Hardman, R., McLaughlin, M.: Oracle - programování v PL/SQL. Computer Press, 2008.

• Groff, J.R., Weinberg, P.N.: SQL - kompletní průvodce. Computer Press, 2005.

• Stephens, K.R., Plew, R.R.: Naučte se SQL za 21 dní. Computer Press, 2004.

• Opel, A.: Databáze bez předchozích znalostí. Computer Press, 2006.

Databázové systémy 2 - př. 1 8

Page 9: Databázové systémy II

Obsah

• Systémový katalog• Zajištění bezpečnosti dat

Databázové systémy 2 - př. 1 9

Page 10: Databázové systémy II

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 10

Page 11: Databázové systémy II

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 11

Page 12: Databázové systémy II

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 12

Page 13: Databázové systémy II

Systémový katalog (Datový slovník)

Příklady názvů pohledů:

Databázové systémy 2 - př. 1 13

Page 14: Databázové systémy II

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 dictionaryWHERE 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 14

Page 15: Databázové systémy II

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 15

Page 16: Databázové systémy II

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 16

Page 17: Databázové systémy II

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 17

Page 18: Databázové systémy II

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 18

Page 19: Databázové systémy II

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 19

Page 20: Databázové systémy II

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 20

Page 21: Databázové systémy II

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 21

Page 22: Databázové systémy II

Zajištění bezpečnosti datCí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

Databázové systémy 2 - př. 1 22

Page 23: Databázové systémy II

Bezpečnostní mechanismyPohledy

– 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 ASSELECT 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í

Databázové systémy 2 - př. 1 23

Page 24: Databázové systémy II

Přístup k databáziPro 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 <user_name>

IDENTIFIED BY <new_password>

PříkladCREATE USER jnovak IDENTIFIED BY w25sqx;

Příkaz vytvořil v databázi uživatele s názvem JNOVAK, který bude mít heslo "w25sqx".

Databázové systémy 2 - př. 1 24

Page 25: Databázové systémy II

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 <user_name> IDENTIFIED BY <new_password>DEFAULT TABLESPACE <def_tablespace>

TEMPORARY TABLESPACE <temp_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říkladCREATE 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.

Databázové systémy 2 - př. 1 25

Page 26: Databázové systémy II

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 <user_name> IDENTIFIED BY <new_password>;

PříkladALTER USER JNOVAK IDENTIFIED BY sdf45t;

Databázové systémy 2 - př. 1 26

Page 27: Databázové systémy II

Systémová přístupová právaposkytují 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.

Databázové systémy 2 - př. 1 27

Page 28: Databázové systémy II

Systémová přístupová práva

CREATE PROCEDURECREATE SEQUENCECREATE SESSIONCREATE SYNONYMCREATE TABLECREATE TRIGGERCREATE TYPECREATE USERCREATE VIEW

Databázové systémy 2 - př. 1 28

Page 29: Databázové systémy II

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.

Databázové systémy 2 - př. 1 29

Page 30: Databázové systémy II

Objektová právaTabulky, pohledy:ALTERDELETEINDEXINSERTUPDATESELECTREFERENCES…

Procedury, funkce:EXECUTEDEBUG

Databázové systémy 2 - př. 1 30

Page 31: Databázové systémy II

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 NOJNOVAK RESOURCE NO YES NO

Výpis přidělených rolí přihlášeného uživatele.

Databázové systémy 2 - př. 1 31

Page 32: Databázové systémy II

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 NOCONNECT CREATE CLUSTER NOCONNECT CREATE DATABASE LINK NOCONNECT CREATE SEQUENCE NOCONNECT CREATE SESSION NOCONNECT CREATE SYNONYM NOCONNECT CREATE TABLE NOCONNECT CREATE VIEW NORESOURCE CREATE CLUSTER NORESOURCE CREATE INDEXTYPE NORESOURCE CREATE OPERATOR NORESOURCE CREATE PROCEDURE NORESOURCE CREATE SEQUENCE NORESOURCE CREATE TABLE NORESOURCE CREATE TRIGGER NORESOURCE CREATE TYPE NO

Databázové systémy 2 - př. 1 32

Page 33: Databázové systémy II

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.

Databázové systémy 2 - př. 1 33

Page 34: Databázové systémy II

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.

Databázové systémy 2 - př. 1 34

Page 35: Databázové systémy II

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;

Databázové systémy 2 - př. 1 35

Page 36: Databázové systémy II

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

Databázové systémy 2 - př. 1 36

Page 37: Databázové systémy II

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.

Databázové systémy 2 - př. 1 37

Page 38: Databázové systémy II

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

Databázové systémy 2 - př. 1 38

Page 39: Databázové systémy II

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.

Databázové systémy 2 - př. 1 39

Page 40: Databázové systémy II

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

Databázové systémy 2 - př. 1 40

Page 41: Databázové systémy II

Bezpečnostní mechanismy OracleMechanismus 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í.

Databázové systémy 2 - př. 1 41

Page 42: Databázové systémy II

Bezpečnostní mechanismy OracleMechanismus 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í.

Databázové systémy 2 - př. 1 42

Page 43: Databázové systémy II

Bezpečnostní mechanismy OracleMechanismus 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.

Databázové systémy 2 - př. 1 43

Page 44: Databázové systémy II

Bezpečnostní mechanismy OracleMechanismus 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.

Databázové systémy 2 - př. 1 44

Page 45: Databázové systémy II

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 1 Aplikace 2 Aplikace 3Správa uživatelů

Správa uživatelů

Správa uživatelů

Správa uživatelů

Správa uživatelů

Databázové systémy 2 - př. 1 45

Page 46: Databázové systémy II

Centrální evidence uživatelů

• Vyšší přehlednost• Rychlejší reakce• Efektivnější správa

Aplikace 1 Aplikace 2 Aplikace 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

Databázové systémy 2 - př. 1 46

Page 47: Databázové systémy II

Audit

AD

APT

ERY

Centrální správa identit v heterogenním prostředí

LDAP V3Oracle Internet Directory

Personalistika

Identity Management Server

Samoobslužný webový přístupAdministrátorské prostředí

Aplikace ERPAplikace CRM

Vlastní aplikaceEMail

Operační systémy

Oracle Virtual Directory

Osvědčená Oracle Internet Directory a to nejlepší z Oblix, Phaos, Thor Technologies, OctetString

Schvalovací procesy

Schvalovací procesy

Databázové systémy 2 - př. 1 47

Page 48: Databázové systémy II

LDAP a jinéadresáře

OS

Systémy a úložištěAplikace

ERP vlastní Personálnísystém

Mainframe

Auditinga

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

Monitoringa

správa

Oracle Identity Management

Databázové systémy 2 - př. 1 48