facebook LinkedIN LinkedIN - follow
IT SYSTEMS 3/2015 , ITSM (ITIL) - Řízení IT

Cesta k efektivnímu identity managementu (2. díl)

Adresářové systémy



EvolveumSpráva identit a přístupů (Identity and Access Management, IAM) je relativně široká oblast, na které se podílí množství technologií. Srdcem téměř každého IAM řešení je nesporně adresářový systém (directory service). Je to komponenta, kterou je možné najít snad v každém nasazeném systému. U menších podnikových nasazení je to známé Active Directory, u větších škálovatelných systémů se často používá systém dedikovaných LDAP serverů.


Adresářový systém slouží k efektivnímu ukládání a zpřístupnění údajů o identitách, které jsou využívány ostatními komponenty IAM řešení a velmi často i samotnými aplikacemi. De facto standardem u adresářových služeb se stal protokol LDAP. Tento protokol se vžil do takové míry, že samotný koncept adresářového systému se často (i když nesprávně) označuje jako „LDAP“.

Adresářový systém je tedy ve svojí podstatě databáze, která je ovšem značně odlišná od běžných SQL databází. Adresářový systém je od základu navržený na masivní škálovatelnost. Když počet záznamů překročí několik milionů, v SQL databázích se začnou objevovat první problémy se škálovatelností. Pro adresářové služby je však milion záznamů téměř zanedbatelné číslo – ani adresářové systémy s miliardami záznamů nejsou zcela výjimečné. Podstatou škálovatelnosti adresářových služeb však není počet záznamů, jsou totiž navrhovány tak, aby umožňovaly lehkou replikaci a distribuci dat. Adresářový systém tvořený jen jediným severem je velká výjimka, běžně se skládá alespoň ze dvou serverů, které navzájem replikují svůj obsah. Proto adresářové služby mají inherentně velmi vysokou dostupnost a je možné zvyšovat jejich výkon jednoduše přidáním dalšího serveru. Toto jsou vlastnosti, které v SQL světě nejsou zdaleka běžné. Ještě důležitější je fakt, že adresářové služby dokáží škálovat velmi levně. Adresářový server má typicky relativně malé výkonnostní nároky a není výjimečné, že replika adresářové služby je umístěná na stejném síťovém uzlu jako samotná aplikace, která adresářová data používá.

Adresářové systémy mají téměř zázračnou škálovatelnost a dostupnost. Avšak v technologii má všechno svoji cenu. Adresářové služby za to platí tím, že mají dost silné omezení na data, která se v nich dají ukládat. V první řadě datový model adresářových systémů je velmi jednoduchý a podobně je na tom i systém vyhledávání. Například operace „join“, která je běžná v SQL systémech, se v adresářových službách běžně vůbec nevyskytuje. Podobně jsou na tom indexy, transakce a v podstatě všechny pokročilé databázové operace. Právě tato zjednodušení umožnují velmi efektivní replikaci dat a jsou předpokladem pro vysoký výkon systému. I když jsou adresářové služby často velmi pomalé při zápisu údajů, tento nedostatek kompenzují extrémně vysokou rychlostí při čtení. Proto jsou ideální pro údaje, které se zřídka mění, ale často čtou.

Toto všechno zvládnou adresářové služby ideálně na ukládání údajů o identitách. Tyto údaje potřebují obrovskou škálovatelnost a dostupnost. Pokud nejsou údaje o identitách dostupné, tak celý systém kriticky selhává, protože uživatel se do systému jednoduše nedostane. Údaje o identitách se mění zřídka, ale čtou se velmi často. Při běžném provozu systému je vyhledávání v těchto údajích velmi jednoduché a transakce nejsou potřebné. Proto je adresářový systém jádrem téměř každého IAM řešení. Adresářový systém slouží jako rychlá, škálovatelná a vysoce dostupná databáze identit, která je zdrojem pro autentifikační a autorizační rozhodnutí.

Adresářové systémy, které komunikují s protokolem LDAP, mají však ještě jednu podstatnou výhodu. Tyto adresářové služby jsou navrhované na to, aby byly sdílené. Na rozdíl od „SQL světa“, kde každá aplikace má svoji sadu databázových tabulek, v „LDAP světě“ jeden adresářový systém poskytuje sdílené údaje množství aplikací. Standardizovaný není jen přístupový protokol, ale i podstatné části datového modelu. Aplikace proto vědí, že objekty typu „inetOrgPerson“ mají textový atribut „givenName“, který obsahuje jméno osoby. Tato standardizace umožňuje aplikacím jednoduchou integraci s adresářovými systémy. Proto je dnes už velmi vzácné najít moderní aplikaci, která by neměla podporu LDAP.

Adresářová služba se dá využít i jako jednoduchý autentifikační server. Mnoho aplikací přímo podporuje autentifikaci pomocí LDAP protokolu, a proto se tato metoda často využívá. Je spravedlivé přiznat, že pro jednoduchá řešení správy identit je to téměř ideální metoda. Při složitějších řešeních je však potřebné si uvědomit, že adresářová služba je v podstatě jen databáze a není navrhnuta jako autentifikační server. Adresářové servery například neudržují informace o uživatelské relaci (session), a proto nemohou přímo poskytovat službu jednotného přihlašování (single sign-on, SSO). Kromě toho, informace o přihlašování nejsou replikované, autorizační informace slouží jen na omezení přístupu k datům v databázi adresářového systému atp. Proto téměř každé složitější IAM řešení potřebuje další komponentu: systém řízení přístupu (access management).

Dalším omezením adresářového systému je jeho jednoduchý datový model. Jednoduchost je obrovská výhoda pro výkon, škálovatelnost a dostupnost, ale je to i nevýhoda pro správce systému. Adresářová služba typicky poskytuje jen jednoduchý systém vnořených skupin. Komplikované přístupové modely založené na rolích (RBAC) jsou podporované jen velmi slabě nebo vůbec. Adresářové služby nejsou navrhnuté pro komplexní delegovanou administraci, správu administračních procesů, samoobslužné služby (jako například reset hesla) atp. Adresářový server také typicky není primární zdroj informací, které jsou v něm uložené. Takovým zdrojem je většinou personální systém nebo podobná databáze zaměstnanců, zákazníků, brigádníků, dodavatelů atp. Běžně je takových zdrojů dokonce několik a proto je potřebné data v adresářové službě synchronizovat. Pro tyto účely je prakticky v každém IAM řešení potřebná samostatná komponenta: systém na správu identit (identity management, IDM) označovaný také jako „provisioning“.

Adresářový systém je klíčovým komponentem téměř každého IAM řešení. S výjimkou velmi jednoduchých nasazení však nedosahuje samostatně kýžené efektivity. V komplexním IAM řešení je doplněný prvky pro řízení přístupů (AM) a identit (IDM). O těchto prvcích budou následující části našeho seriálu.

Ing. Radovan Semančík, PhD., Evolveum Ing. Radovan Semančík, PhD., Evolveum
Autor pracuje ve společnosti Evolveum na pozici softwarového architekta a specialisty na správu identit. Navrhoval jedno z prvních řešení správy identit ve střední Evropě a podílel se na návrhu a nasazení mnoha komplexních řešení v oblasti správy identit. Momentálně věnuje většinu svého času vedením projektu midPoint, který je nejrozsáhlejším volně dostupným open source systémem pro správu identit.
Spoluautor Stanislav Grünfeld, MBA
působí ve společností AMI Praha jako ředitel realizace a je zodpovědný za projekty v oblasti identity managementu.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.