Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
tutorial:adm:connect_a_db_system [2019/01/02 10:22] kotisovam [Konfigurace konektoru] 1. odstavec do angličtiny |
tutorial:adm:connect_a_db_system [2024/04/15 09:43] cem [Systems - DB: Source of identities] |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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 // | ||
+ | |||
+ | |||
+ | <note important> | ||
+ | |||
+ | |||
+ | * Host = localhost – DB nám běží na stejném serveru jako IdM | ||
+ | * Port = 5432 – standardní port pro PostgreSQL | ||
+ | * User = idmadmin – dříve vytvořený uživatel v DB s dostatečným oprávněním na čtení dat | ||
+ | * User Password = %%**%%%%**%%* - zde je hodnota hesla pro DB uživatele zadaného v předchozím kroku | ||
+ | * Table = users – v DB jsme si předpřipravili tabulku s názvem // | ||
+ | * Key Column = id - //Database Table Connector (connId)// | ||
+ | * JDBC Connection URL = // | ||
+ | * JDBC Driver = org.postgresql.Driver – konektor podporuje více různých typů relačních databází. V našem případě napojujeme DB PostgreSql. Pro napojení je třeba v CzechIdM nastavit ovladač, který zajistí operace s daným typem databáze. | ||
+ | |||
+ | V době psaní tohoto návodu lze driver pro PostgreSql stáhnout zde https:// | ||
+ | |||
+ | 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 ==== | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Navíc nám konektor ale vrátil atribut %%__%%NAME%%__%%, | ||
+ | |||
+ | 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%%__%%, | ||
+ | |||
+ | ==== 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 // | ||
+ | |||
+ | * Typ operace = Synchronizace | ||
+ | * Název mapování = users – naše označení této sychronizace. Systém může mít více různých synchronizací. | ||
+ | * Název objektu = %%__%%ACCOUNT%%__%% - typ objektu, který chceme synchronizovat. | ||
+ | * {{: | ||
+ | |||
+ | 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. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | * //Je identifikátorem//, | ||
+ | * Atribut entity – říká, že atribut ze systému pošleme k základnímu atributu entity v CzechDIM. Vyplníme jej u všech položek kromě //id//. | ||
+ | * IdM klíč – definuje který atribut entity v CzechIdM bude daný atribut ze systému plnit. Tato volba je dosupná pouze pokud jsme předtím zaškrtli volbu //Atribut entity//. Dle obrázku výše namapujeme atributy //name, surname// a // | ||
+ | |||
+ | Jak je vidět, ne všechny atributy musíme mapovat na atribut v CzechIdM. Ty, které nenamapujeme, | ||
+ | |||
+ | 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, | ||
+ | |||
+ | {{: | ||
+ | |||
+ | 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: | ||
+ | |||
+ | * Vazba existuje, akce = Aktualizovat entitu – Tím zajistíme, že při opakovaném běhu synchronizace, | ||
+ | * Vazba neexistuje, korelační atribut = id, akce = Vytvořit vazbu – Tím zajistíme, že při opakovaných bězích se prolinkují všechny //účty a entity//, které mají stejné //id.// | ||
+ | * Entita neexistuje, akce = vytvořit entitu - Tím zajistíme, že při všech bězích se nám v CzechIdM vytvoří entity, které tam do té doby neexistovaly, | ||
+ | * Účet neexistuje, akce = Ignorovat – Nechceme provádět žádnou akci, pokud existuje entita v IdM a účet neexistuje. Systém je pro nás pouze zdroj dat. | ||
+ | |||
+ | Položky Workflow necháme nevyplněny, | ||
+ | |||
+ | 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, | ||
+ | |||
+ | {{: | ||