Table of Contents

Systems - DB: Source of identities

Basic configuration

This tutorial deals with how to connect an authoritative (primary) system as a source of identities. To this end, the basic Database Table Connector will come in handy. The source table we are going to use consists of 4 columns: id, username, first name, and last name.

First, click on the Add button on the Systems tab item. Pick a system name, say, Some base. Check the ReadOnly checkbox field – your database is to serve as a source of data only, you don't actually wish to be able to write to it. Keep other attributes of the system as they are by default. Then click on the Save and continue button.

Connector configuration

Go to the Configuration tab and select the Database Table Connector (connId). Next, enter the path to the DB and the user login that IdM will use to get access the DB. This user must be authorized to read the connected table, as a minimum. Specific settings in our example:

TODO translate to ENG

V době psaní tohoto návodu lze driver pro PostgreSql stáhnout zde https://jdbc.postgresql.org/download.html

Kromě nastavení v konfiguraci systému v CzechIdM je potřeba soubor s ovladačem umístit do umístění pro knihovny aplikačního serveru. V našem případě běží CzechIdM v AS Tomcat, tedy driver umístíme do složky lib. Případně můžeme umístit driver do WEB-INF/lib přímo v umístění aplikace CzechIdM.

Ostatní atributy konektoru necháme nevyplněné nebo s výchozí předvyplněnou hodnotou.

Pokud jsme vše správně nastavili a CzechIdM má přístup do naší DB, můžeme konfiguraci ověřit kliknutím na zelené tlačítko Test konektoru na začátku stránky.

Schéma DB systému

Přejdeme na záložku Schéma systému (popsáno v kapitole 2.3.2) a klikneme na tlačítko Generovat schema. Konektor nám automaticky vrátí seznam dostupných atributů na napojovaném systému. Objekt vrácený z konektoru je ve výchozím stavu typu __ACCOUNT__, což nám pro napojení identit vyhovuje. Dále konektor vrátil podle očekávání 4 atributy dle našich sloupečků v DB. Ty zobrazíme kliknutím na obrázek lupy vedle typu objektu.

Navíc nám konektor ale vrátil atribut __NAME__, který je definován standardem ConnId. Námi použitá implementace Database Table Connector (connId) se této specifikace drží, avšak pro synchronizaci jej nepoužívá, proto pro naše načítání dat ze zdrojového systému jej nebudeme potřebovat.

Kliknutím na lupu vedle názvu atributu je možné zobrazit detaily konfigurace pro konkrétní atribut.

 \\
Obrázek 22: Detail atributu ve schématu systému

V našem případě mají všechny atributy stejnou konfiguraci až na atribut id a __NAME__, které jsou označeny jako povinné.

Mapování synchronizace pro DB

Máme-li připravené schéma systému, pak přikročíme k mapování synchronizace. To nám umožní určit, jaké atributy z dostupného schématu nasynchronizujeme do IdM a také do kterých atributů Identity se budou atributy z účtu plnit.

Na záložce mapování atributů stiskneme tlačítko Přidat.Vyplníme

Po vytvoření mapování klikneme na detail tohoto mapování a nastavíme konkrétní vazby atributů účtu na atribut identity. Nastavíme mapování pro všechny naše atributy id, name, surname, username.

fig:Například atribut id nastavíme dle následujícího obrázku. Ostatní atributy nastavím stejně až na položky

Jak je vidět, ne všechny atributy musíme mapovat na atribut v CzechIdM. Ty, které nenamapujeme, nebudou vyplněny k entitě v CzechIdM. V našem případě se k entitě nepřenese id, které nechceme dále využívat, ani jej neplánujeme posílat do spravovaných systémů.

V našem příkladu jsme namapovali atributy účtu na systému na základní atributy Identity. Každá entita v CzechIdM má základní sadu atributů, které však lze rozšířit. Chceme-li v synchronizaci namapovat atributy na rozšířené atributy entit v CzechIdM musíme mít nejprve přichystán formulář EAV atributů pro danou entitu, viz kapitola 2.10.

Nastavení synchronizace

V předchozí kapitole jsme si připravili mapování atributů pro synchronizaci. Nyní nastavíme samotný proces synchronizace, který toto mapování bude používat.

Přejdeme na záložku Synchronizace a klikneme na tlačítko přidat. V synchronizaci vyplníme název a povolíme ji dle obrázku. Rekoncilace můžeme zaškrtnout také, budeme načítat všechny účty bez omezení. Do sady mapovacích atributů vybereme mapování users, které jsme si vytvořili v minulé kapitole.

Dále přejdeme ve formuláři až k nastavení operací pro jednotlivé stavy účtu a entity a nastavíme následujícím způsobem:

Položky Workflow necháme nevyplněny, ty slouží pro pokročilé skriptování u jednotlivých akcí.

Na podzáložce Filtr nenastavujeme nic, nechceme omezovat synchronizaci pouze na některé účty. A záložka Logy je pouze informativní a obsahuje auditní log synchronizace.

Spuštění synchronizace a log

Pokud jsme úspěšně prošli nastavením v předchozích kapitolách, můžeme nyní přistoupit ke spuštění samotné Synchronizace. Přejdeme na záložku Napojené systémy, vybereme náš nakonfigurovaný systém a přejdeme na záložku Synchronizace. Synchronizaci spustíme zeleným tlačítkem se znakem trojúhelníku na konci řádku s konfigurací synchronizace.

Běžící synchronizace mají vyplněn sloupeček Běží. Pokud přejdeme na detail běžící synchronizace (kliknutím na znak lupa) a poté přejdeme na záložku Logy, vidíme přehled všech synchronizací, včetně aktuálně běžících.