Role
Role v CzechIdM je entita reprezentují soubor (jedno a více) oprávnění na koncovém systému nebo v samotném CzechIdM. Uživatelé získávají role:
- automaticky – podle organizačního zařazení při začátků úvazku
- manuálně
- ručním přidělením administrátorem přes webové rozhraní
- na základě žádosti uživatele ve webovém rozhraní CzechIdM
Z pohledu identity manageru je jedno, jestli uživatel získá účet v konkrétní aplikaci, je zařazen do nějaké skupiny v LDAP, je mu nastaven příznak „může používat VPN“ nebo mu je nastaveno právo v aplikaci. Vždy se jedná o přidělení role. Takto provedené zjednodušení umožňuje aplikovat obecná pravidla na přidělování všech druhů oprávnění (~rolí) stejným způsobem.
Založení/editace role
Pokud chceme založit novou roli přejdeme na agendu Role a Správa rolía klikneme na tlačítko Přidat. Roli musíme zvolit unikátní jméno v rámci všech rolí, Roli také lze zařadit do jedné a více složek v katalogu rolí.
Každá role může mít nastaveno, kdo je jejím garantem, na garanta se mohou vázat další události jako například schválení přidání role, změna platnosti a její odebrání. Více viz sekce schvalovaní rolí.
U rolí lze nastavit následující atributy:
- Název role – povinný unikátní název role. Název role je zobrazován ve většině formulářů.
- Typ role – popisný atribut, nemá vliv na práci s rolemi.
- Úroveň kritičnosti -
- Určuje schvalovatele přidělení a odebrání dané role.
- Při provisioningu (propisování dat do koncového systému) je jednohodnotový atribut plněn rolí s vyšší kritičností.
- Kritičnost – číselná reprezentace úrovně kritičnosti.
- Složka v katalogu – Každá role může být zařazena do katalogu rolí, který slouží pro jejich třídění.
- Garanti role – garant role je identita zodpovědná za práci s rolemi, tzn. Vidí je v přehledu rolí (záložka Role) a má možnost vystupovat jako schvalovatel přidělení/odebrání role (v závislosti na konfiguraci Úrovně kritičnosti)
- Schvalovat odebírání rolí – jestliže toto zaškrtávací pole je označeno, pak je odebrání role schvalováno dle procesu nastaveného v konfiguraci CzechIdM. Výchozí volba konfigurace CzechIdM pro schvalovací proces odebrání role je Schválení garantem role.Tedy zaškrtnutím tohoto pole bez další konfigurace bude odebrání dané role uživateli schvalováno garantem role.
- Popis – dodatečný textový popisek role
- Neaktivní - Neaktivní role jsou v nabídkách výběrů zobrazeny zašedlou barvou a jejich zvolení je uživatelům zakázáno tj. nelze o ně například žádat.
Poté, co jsou všechny požadované volby zadány, klikneme na Uložit a pokračovat. Tím se rovnou dostaneme do menu Role → Správa rolí, konkrétně rovnou na detail nově vytvořené role.
Na záložce Další údaje lze upravovat rozšířené atributy rolí. Rozšířeným atributům role je věnována samostatná kapitola.
Oprávnění role
Na záložce Oprávnění se definují oprávnění dané role pro CzechIdM. Tímto způsobem je možné vytvořit roli, který přidá uživateli administrátorská práva v CzechIdM.
Při přidávání oprávnění máme možnost pracovat s následujícími atributy:
- Role (Read Only) – název role, které chceme měnit oprávnění do CzechIdM
- Agenda / Typ entity – Formulář v GUI nebo typ objektu v CzechIdM, ke kterému chceme upravit oprávnění. Chceme-li například držiteli role přidat právo nahlížet do auditních záznamů, pak vyberem položku Audit.
- Oprávnění – Druh oprávnění, které chceme držiteli role přidělit pro agendu / entitu vybranou v předchozím kroku. Typickým oprávněními jsou čtení/mazání/vytvoření apod. Některé agendy, jako je třeba Audit neumožňují výběr oprávnění (lze ho pouze číst), proto může být toto pole také zašedlé.
- Pořadí – Má-li uživatel více oprávnění z více rolí, pak pořadí udává pořadí vyhodnocení těchto oprávnění. Aplikuje se princip logického nebo (or). Má-li uživatel zároveň roli A, která přiděluje oprávnění číst podřízené a roli B, která povoluje editovat podřízené, pak uživatel má právo jak číst, tak editovat své podřízené. Práva lze však také omezit pomocí evaluátoru v dalším atributu Typ vyhodnocení, v tom případě se již projeví pořadí nastavené v tomto atributu.
- Popis – volitelný popis
- Neaktivní – takto označené oprávnění nebude po uložení platné. Tato volba se využívá především pokud si chceme Připravit například nějakou sadu oprávnění, která má začít platit až v budoucnu.
- Typ vyhodnocení – Někdy tuto položku také značíme evaluátor. Evaluátory slouží k tomu, aby vymezili skupinu objektů (Agenda / Typ entity), na které získají držitelé role oprávnění. Pokud jsme zvolili typ entity Uživatelé (IdMIdentity), pak můžeme například zvolit SubordinatesEvaluator, který přidělí oprávnění na podřízené držitele role. Některé typy entit, jako například Audit, neumožňuje zvolit Typ vyhodnocení,neboť se vztahuje přímo k danému formuláři v GUI nebo instanci objektu.
Automatické role
Záložka Automatické role umožňuje zavěsit danou roli na organizační strom. To znamená, že role bude přidělována a odebírána uživatelům na základě zařazení/vyřazení uživatele do/z organizační stromové struktury. Agenda automatických rolí zobrazuje aktuální seznam prvků stromové struktury (organizací), ve kterých je aktuálně editovaná role nastavena jako automatická.
Vytvoření nové automatické role lze provést kliknutím na tlačítko přidat. Lze nastavit následující parametry automatických rolí.
- Role (read only) – název role
- Prvek stromové struktury – definuje bod v organizační struktuře, do kterého bude role umístěna
- Typ rekurze – označuje schopnost přidělování role ve stromě:
- Bez šíření – roli dostanou pouze uživatelé, jejichž vztah je umístěn na stejném prvku organizace, jako tato role
- Šířit dle struktury dolů - roli dostanou všichni uživatelé, jejichž vztah je umístěn na stejném prvku organizace + všech podřazených, jako tato role. Například: Přidělením role na nejvyšší bod organizační struktury, řekněme „top“ způsobí přidělení role všem uživatelům ve struktuře.
- Šířit dle struktury nahoru - roli dostanou všichni uživatelé, jejichž vztah je umístěn na stejném prvku organizace + všech nadřazených, jako tato role.
Při zařazení uživatele do struktury je kontrolována platnost Vztahu, pomocí kterého je uživatel zařazován. Je-li vztah uživatele neplatný (dle atributů vztahu platnost od a platnost do), pak
- role je přidělena, ale platnost tohoto přidělení uživatel ↔ role je stejná jako u příslušného vztahu, pokud je tento údaj v budoucnosti. To znamená automatické role jsou uživatelům přidělovány na úvazky, které začnou v budoucnu a navíc platnost přidělení role koresponduje s platností úvazku.
- Role není přidělena, pokud platnost do u vztahu je v minulosti. To znamená, automatické role nejsou přidělovány, pokud daný úvazek již skončil.
Mění-li se platnost vztahu uživatele, na který má přidělenu automatickou roli, pak se mění i platnost vztahu uživatel ↔ role. Tím je zaručeno, že při začátku či konci vztahu bude vždy role odebrána či přidána bez ohledu na to, jak se měnila platnost vztahu v čase.
Přidáte-li roli jako automatickou do struktury, ve které již sedí nějaký uživatel, pak uživatel tuto roli dostane přiřazenu ihned. Naopak odeberete-li roli jako automatickou ze struktury, kde sedí nějaký uživatel, je tato role všem těmto uživatelům ihned odebrána. Kliknutím na tlačítko přidat na záložce automatická role máte možnost roli zařadit do struktury a nechat ji automaticky přidělovat uživatelům. Je možné specifikovat následující atributy:
Schvalování přidělování rolí
V CzechIdM je několik způsobů přidělení role. V této kapitole je popsáno, jaký proces doprovází manuální přidělení role
- administrátorem – menu Uživatelé → Detail uživatele (lupa u vyhledaného uživatele) → Přiřazené role. Zde tlačítko Změnit oprávnění.
- Uživatelem – menu Profil → Přiřazené role. Zde tlačítko Změnit oprávnění.
- Nadřízeným (pokud má nastaveno právo) – Profil → Podřízení → Detail uživatele (lupa u vybraného uživatele) → Přiřazené role. Zde tlačítko Změnit oprávnění.
V každém z předešlých bodů je vytvořena Žádost o změnu oprávnění,viz kapitola 2.2.3. CzechIdM obsahuje proces, který zajišťuje schvalování této žádosti v následujících krocích
- Helpdesk – celou žádost schvalují držitelé role určené pro zástupce oddělení helpdesk. Konkrétní název role je definován v konfiguraci CzechIdM pod volbou idm.sec.core.wf.approval.helpdesk.role.
- User manager – celou žádost schvalují držitelé role určené pro zástupce oddělení helpdesk. Konkrétní název role je definován v konfiguraci CzechIdM pod volbou idm.sec.core.wf.approval.manager.role.
- Manager – schvalují nadřízení uživatele, pro kterého je o roli žádáno. Nadřízení nejsou určeni rolí jako v předešlých krocích, ale jsou počítání dle všech úvazků uživatele. Schvaluje libovolný z nadřízených. V nasazení, kdy je třeba schvalovat nadřízenými dle jednotlivých úvazků doporučujeme tento krok konfiguračně vypnout a schvalování nadřízeným řídit kritičností rolí v následujícím kroku.
- Jednotlivé role – Celá žádost se v tomto kroku rozpadá. Schvalována je každá role, ze které se celá žádost skládala, jednotlivě. Jak bude každá role schvalována, je určeno nastavením dané role. Konkrétně každá role má nastaven atribut Kritičnostviz. Kapitola 2.2.1.3. Teprve po vyřešení (schválení/zamítnutí) schvalování všech jednotlivých rolí v tomto bodě pokračuje proces na následující bod.
- Security – Žádost tvořenou všemi rolemi schválenými v předchozím kroku chvalují držitelé role definované v konfiguraci CzechIdM pod volbou idm.sec.core.wf.approval.security.role. Byla-li v předchozím kroku některá role zamítnuta, pak je z celkové žádosti vyňata.
V bodech 1,2,3,5 je schvalována žádost jako celek. Tj. Všechny role, které byly v předchozím krocích schváleny postupují do dalšího kola schvalování. V každém ze schvalovacích kol 1,2,3 má realizátor možnost žádost vrátit k přepracování, zamítnou, nebo potvrdit. Pokud schvalovatel provede vrácení, případně zamítnutí celé žádosti, je notifikován žadatel. Po úspěšném schválení celé žádosti je vygenerovaná notifikace s výsledným stavem žádosti tj. které role byly schváleny a které ne.
Zapnutí či vypnutí těchto kol schvalování (stejně jako definice názvů rolí pro jednotlivá schvalovací kola) lze nastavit v konfiguračním souboru application.propertiesnebo explicitním zadáním na záložce Nastavení → Konfigurace aplikace:
- idm.sec.core.wf.approval.helpdesk.enabled – true/false, zapnutí či vypnutí schválení help desk,
- idm.sec.core.wf.approval.manager.enabled – true/false, zapnutí či vypnutí schválení manager,
- idm.sec.core.wf.approval.usermanager.enabled – true/false, zapnutí či vypnutí schválení user manager,
- idm.sec.core.wf.approval.security.enabled – true/false, zapnutí či vypnutí schválení security.
Obrázek 11 Příklad nastavení zapnutí schvalovacích kol
Obrázek 12 Příklad nastavení jmen rolí pro schvalovací kola
Schvalování jednotlivých rolí – rozpad na subprocesy
Hlavní proces o změnu oprávnění se může rozpadnou na menší subprocesy v závislosti na nastavení aplikace. Pod položkou menu Nastavení → Konfigurace aplikacelze nastavit klíče tvaru idm.sec.core.wf.role.approval<1-5>, přičemž hodnotou každého z nich je název workflow, které schvaluje danou úroveň kritičnosti. Kritičnost je vyjádřena číslem na konci každého z klíčů. Základní volby pro hodnoty jsou: approve-role-by-guarantee (schvaluje garant dané role), approve-role-by-manager (schvaluje nadřízený uživatele, pro kterého je žádáno o roli).
V subprocesech je realizováno schválení jednotlivých rolí, o které bylo žádáno v rámci hlavního procesu. Toto schválení probíhá asynchronně pro všechny role. V hlavním procesu je pokračováno až po dokončení posledního subprocesu (ať už zamítnutí nebo schválení).
U každé role také můžeme nastavit její kritičnost. Na kritičnost lze navázat, kdo bude schvalovat změnu oprávnění v subprocesech. V základní aplikaci CzechIdM máme celkem 5 kritičností:
- Žádná (0),
- Triviální (1),
- Malá (2),
- Velká (3),
- Kritická (4).
Na každou kritičnost se mohou vázat různé schvalovací workflow. Nastavení příslušných workflow k dané kritičnosti se provádí skrze Nastavení – Konfigurace aplikace.
Žádost o změnu oprávnění
Uživatel nebo oprávněný administrátor má možnost měnit role uživatelů pomocí tzn. Žádosti o změnu oprávnění. K žádosti se lze dostat skrze detail uživatele, pro kterého se bude o změnu žádat. Na záložce Přiřazené role je k dispozici formulář zobrazující:
- Přiřazené role – role, které má uživatel aktuálně přiděleny
- Žádosti o změnu oprávnění – právě probíhající žádosti
- Role čekající na schválení – seznam rolí, které čekají na schválení přes všechny žádosti
Dále je zde tlačítko „Změnit oprávnění“, pomocí kterého je vyvolán proces Žádost o změnu oprávnění, jak je vidět na následujícím obrázku.
Ve formuláři pro změnu oprávnění lze role přidávat, odebírat, nastavovat platnosti rolí. Odebírat nelze automatické role, ty se přidělují/odebírají automaticky. Role z výběru odstraníme kliknutím na červený křížek v tabulce Aktuálně přiřazené role (včetně požadovaných změn). Kliknutím na oranžový čtvereček se symbolem tužky lze provést editaci přidělení role (stejný formulář jako přidání dále). Nové role se do žádosti vkládají pomocí tlačítka Přidat.
- V novém okně pro výběr rolí lze vyplnit následující pole:Role - Pomocí fulltextového vyhledávání se zde vybírají nové role pro aktuální žádost.
- PPV – Výběr vztahu uživatele, na který bude nová role přidělena
- Platnost od -Role s platností přidělení v budoucnu začnou platit až v daný den. Tzn. Přiděluji-li role například účet ve spravovaném systému LDAP, účet se v něm vytvoří až nastane den platnosti nastaven v tomto atributu.
- Platnost do – Role, kterým vypršela platnost jsou zpracovány následujícím způsobem:
- V den, kdy vyprší platnost, uživatel přichází o všechna oprávnění plynoucí z dané role. Tzn. přidělovala-li role například účet ve spravovaném systému LDAP, účet se v něm smaže až nastane den platnosti nastaven v tomto atributu.
- Při nejbližším běhu plánované úlohy, která odebírá role po vypršení platnosti, je role fyzicky odebrána uživateli (respektive od vztahu uživatele) v IdM.
Výběr rolí potvrdíme kliknutím na tlačítko Nastavit.Role můžeme do jedné žádosti přidávat popsaným způsobem opakovaně, pokud chceme například různým rolím nastavovat jiné úvazky či platnosti.
Po vyplnění formuláře je třeba kliknout na tlačítko Podat žádost, pomocí které se formulář pošle k realizaci do procesu Žádost o změnu oprávnění. Pokud je formulář uzavřen tlačítkem zpět (vedle tlačítka Podat žádost), je formulář uložen jako koncept.
Proces žádosti o změnu oprávnění pokračuje schvalováním. Jednotlivým krokům schvalování se věnuje samostatná kapitola 1.1.1. Teprve po schválení v posledním kroku jsou změny aplikovány na uživatele a je odeslána notifikace obsahující seznam všech změn.
Po vytvoření žádosti můžeme na záložce Přiřazené role daného uživatele v tabulce Role čekající na schválení vidět aktuální seznam rolí, o které uživatel žádá a jejich stav.
Po kliknutí na detail (ikona lupy) se zobrazí aktuální detail procesu, včetně osob, které mohou danou žádost řešit. Po vyřešení celé žádosti o změnu oprávnění vidí uživatel všechny své role v tabulce Přiřazené role.