Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
instalacni_balicek [2018/11/19 12:46]
poulm [Formát CSV souborů] - bez BOM znaků
instalacni_balicek [2024/03/26 05:38] (current)
kopro [Struktura synchronizovaných dat]
Line 1: Line 1:
 +====== Instalační balíčky CzechIdM ======
 +
 +===== Implementované procesy =====
 +
 +  * Řízení životního cyklu identit.
 +      * Synchronizace osob + synchronizace vztahů (kontraktů).
 +      * Standardní proces předání hesla - zaslání emailem uživateli při vytvoření účtu v AD/LDAP/DB.
 +      * Standardní procesy životního cyklu identity: Nový kontrakt, Konec kontraktu, Vynětí z evidenčního počtu, Změna organizačního zařazení.
 +        * Pro použití standardních procesů je třeba plnit atributy kontraktů uživatelů (synchronizací ze zdroje dat nebo manuálně v CzechIdM)
 +  * Synchronizace organizační struktury.
 +  * Schvalovací proces žádosti o změnu přidělených rolí.
 +      * Konfigurace standardního schvalovacího procesu pro role:
 +        * helpdesk může doplnit/schválit žádost,
 +        * vedoucím uživatele,
 +        * správci uživatelů,
 +        * případně finální schválení //bezpečností//.
 +      * Definice úrovně schvalování (kritičností role):
 +        * 0 - neschvalovat,
 +        * 1 - schvaluje garant role.
 +
 +===== Definice oprávnění v identity manageru =====
 +
 +  * Super administrátor - minimálně jeden uživatel na straně zákazníka, který má nejvyšší oprávnění v identity manageru.
 +  * Helpdesk - změna hesel, přístup k auditním informacím a odeslaným notifikacím.
 +  * Běžný uživatel - změna svého hesla, svůj profil pro čtení, může podat žádost o změnu oprávnění.
 +  * Vedoucí - práva jako běžný uživatel + vidí své podřízené, může pro ně žádat o změnu oprávnění.
 +
 +===== Zdroj dat =====
 +
 +  * Podporované zdroje dat:
 +      * Databáze - Připojení do databáze pomocí JDBC, pro každý typ objektu samostatná tabulka nebo pohled
 +      * Soubory CSV - pro každý typ zpracovávaného objektu samostatný soubor
 +  * Podpora synchronizace: pokud zdrojová data neobsahují pro každý záznam "timestamp", není možné spustit synchronizaci změn a je vždy zpracováván celý balík dat. Synchronizace organizační struktury neumožňuje zpracovávat jen změny a vždy se zpracují všechna data.
 +
 +==== Struktura synchronizovaných dat ====
 +
 +Pro implementaci identity manageru formou balíčku je třeba součinnost v podobě zpřístupnění zdrojových dat odpovídajících následující struktuře. Zpřístupnění může být formou databázové tabulky, pohledu nebo CSV souborů. Názvy sloupců mohou být libovolné.
 +
 +Struktura View nebo CSV odpovídá objektům Identita (Identity),Vztah(Contracts),Organizace (Department, Position) znázorněné na následujícím obrázku: [[https://wiki.czechidm.com/_media/devel/adm/idm_entities.png|https://wiki.czechidm.com/_media/devel/adm/idm_entities.png]]
 +
 +{{ :hr-entities.png |}}
 +
 +=== Identity ===
 +
 +Tabulka identit, slouží jako základní zdroj informací pro založení identity uživatele v CzechIdM.
 +
 +^atribut^  unikátní  ^  povinný  ^poznámka|
 +|id|  *  |  *  |často osobní číslo, ideálně v čase neměnný identifikátor, který není po ukončení vztahu s osobou "recyklován"|
 +|login|  *  |   |minimální délka 2 znaky, pokud není dostupný, generuje login identity manager|
 +|jméno|       |
 +|příjmení|       |
 +|titul před|       |
 +|titul za|       |
 +|email|     |standardně je použit pro předávání hesla|
 +|mobilní telefon|     |v případě napojení identity manageru na SMS bránu může být na mobil zasíláno heslo SMSkou|
 +|timestamp|     |časová značka změny, ideálně tzv. "unix timestamp"|
 +
 +=== Kontrakty ===
 +
 +Běžně může mít identita v identity manageru evidováno více kontraktů, pro tyto případy je možné kontrakty synchronizovat z externího zdroje stejně jako tomu je u identit. Pokud nejsou kontrakty v organizaci využívány, není tato synchronizace nutná - identity manager si "sám" založí výchozí kontrakt na který navazuje veškerou funkčnost.
 +
 +Kontrakty (Contracts) si lze představit jako PPV, DPP, DPČ zaměstnance nebo kontrakt externího dodavatele, stážista na oddělení, studium na fakultě, účastník na neplaceném projektu a další. U kontraktu je nejdůležitější vlastník a mají-li být řízeny automatické procesy jako nástup zaměstnance nebo ukončení zaměstnance, pak i platnosti kontraktů od/do.
 +
 +^atribut^  unikátní  ^  povinný  ^poznámka|
 +|id|  *  |  *  |klíč pro zpracování|
 +|název pracovní pozice|     |např. "Vrchní sestra", nepovinné|
 +|vlastník|    *  |reference na id osoby|
 +|platnost od|     |sql timestamp - Platnost pracovní smlouvy nebo kontraktu|
 +|platnost do|     |sql timestamp - Platnost pracovní smlouvy nebo kontraktu|
 +|vyřazení z ev. počtu|     |boolean, příznak vyřazení z evidenčního počtu|
 +|hlavní kontrakt|     |boolean, příznak hlavního kontraktu. Pokud není uveden, je využit automatický výpočet|
 +|nadřízený|     |reference na id osoby, lze využít i bez organizační struktury|
 +|organizace|     |reference na id z organizační struktury|
 +|timestamp|     |časová značka změny, ideálně tzv. "unix timestamp"|
 +
 +=== Organizační struktura ===
 +
 +V případě požadavku na synchronizaci organizační struktury do identity manageru je třeba dodržet následující strukturu dat. Do takto synchronizované organizační struktury mohou být přiřazeny kontrakty identity. I když identity manager podporuje více organizačních struktur, v rámci instalačních balíčků je synchronizována pouze jedna. Při odstranění prvku organizační struktury ze zdroje dat je odpovídající část org. struktury v identity manageru smazána pouze pokud je prázdná.
 +
 +^atribut  ^  unikátní  ^  povinný  ^poznámka  |
 +|id  |  *  |  *  |neměnný klíč pro zpracování  |
 +|název  |  *  |  *  |unikátní název organizační jednotky nebo pozice  |
 +|rodič  |     |reference na id nadřízeného prvku organizační struktury  |
 +
 +Všechny sloupce jsou datového typu varchar s limitem 254 znaků až na časové razítko, které je typu timestamp.
 +
 +==== Formát CSV souborů ====
 +
 +Pokud je jako zdroj použit CSV soubor, musí být v následujícím formátu:
 +
 +  * Textový soubor se sloupci oddělenými dodělovačem
 +  * Jeden záznam na řádek
 +  * Každý záznam má stejné pořadí sloupců
 +  * Podporované oddělovače sloupců: '',;''
 +  * Nový řádek: LF, CRLF
 +  * Hlavička: 1. řádek volitelně
 +  * Kódování: UTF-8 (bez BOM znaků)
 +  * Sloupec/text může být obalen uvozovkami ''"''  (//"sloupec1", "sloupec 2", sloupec 3//)
 +  * Uvozovky v textu musí být zdvojeny (//"sloupec1", "sloupec"" 2", sloupec 3//)
 +  * Nový řádek v textu je podporován jen ve sloupcích obalených uvozovkami
 +
 +===== Cíl dat =====
 +
 +Podporované cíle dat:
 +
 +  * LDAPv3 - provisioning identity a jejích rolí
 +  * MS AD - jedna doména, provisioning identity a jejích rolí
 +  * Databáze - Připojení do databáze pomocí JDBC, jedna tabulka pro identity (users)
 +
 +==== MS AD - struktura propagovaných dat ====
 +
 +^atribut  ^  povinný  ^poznámka|
 +|DN|  *  |distinguished name|
 +|sAMAccountName|   |login uživatele|
 +|cn|   |common name - často používané jako RDN|
 +|displayName|   |název účtu uživatele, často se zobrazuje v aplikacích používajících AD|
 +|description| | |
 +|password|     |
 +|sn| |přijmení|
 +|givenName| |křestní jméno|
 +|mail|   |email uživatele|
 +|userPrincipalName| |login + doména|
 +
 +Není li definováno níže jinak, jsou výše uvedené atributy předávány z identity uživatele bez transformace.
 +
 +Má-li se spravovat heslo z IdM (password), musí zákazník nakonfigurovat SSL spojení k AD přes port 636 (LDAP protokol).
 +
 +Význačné atributy s transformací:
 +
 +  * DN je generováno na základě organizačního zařazení uživatele, nebo složením nejvýše 2 atributů identity. Neexistuje-li nějaká část DN v AD, pak ji CzechIdM vytvoří.
 +  * cn je generováno kombinací nejvýše 3 atributů identity. Je doporučeno jej použít jako RDN.
 +  * RDN (ať už je použito cn či nikoli) je doporučeno používat ve formátu zajišťujícím unikátnost v rámci daného OU (lépe celého AD). Například <jméno příjmení (ID)>. Není-li zajištěna unikátnost RDN v rámci OU, zůstane při kolizi požadavek pro vytvoření účtu ve frontě provisioningu na manuální vyřešení administrátorem.
 +  * displayName je generováno kombinací nejvýše 3 atributů identity.
 +  * password je plněn heslem identity. Heslo nelze namapovat na jiný atribut.
 +
 +====== Požadavky na HW/SW prostředí ======
 +
 +  * [[:faq:prerequisites_and_system_requirements|Požadavky na hw/sw serveru]]
 +  * Pro instalaci a konfiguraci je potřeba fungující přístup ze serveru do Internetu za účelem stažení potřebného software.
 +
 +===== Součinnost zákazníka =====
 +
 +Níže uvedené úkony se očekávají jako součinnost zákazníka:
 +
 +  * Příprava serveru (hardware/virtuální server).
 +  * Instalace operačního systému, konfigurace firewallu apod.
 +  * Nastavení mailserveru - identity manager vyžaduje přístup k SMTP serveru.
 +  * Konfigurace SSL spojení k Active Directory (pokud se spravuje heslo)
 +  * Vzdálený přístup pro techniky provádějící implementaci.
 +  * Přístup na administrátorský účet (root) pro techniky provádějící instalaci.
 +  * Příprava zdroje dat dle formátu výše, zpřístupnění v síti
 +  * Účast na školení a předání prostředí
 +
 +~~NOTOC~~
 +