Tag Archives: Role

CzechIdM 7 – popis produktu

CzechIdM 7 je nejnovější generací identity manageru, který v českých společnostech spravuje přes 3 milióny účtů osob. Při vývoji byly využity zkušenosti z praxe při správě identit u našich stávajících zákazníků. Do této verze byly promítnuty požadavky uživatelů, administrátorů i vývojářů.

Podívejte se na online demo na adrese http://demo.czechidm.com/ a posuďte, jak moc se nám to povedlo.

Continue reading

IDM: Jak šikovně updatovat mnoho uživatelů ve spravovaných systémech

Pokud dojde k úpravě na roli, která změní stav účtu na koncovém systému, je třeba tuto úpravu propsat u všech dotčených uživatelů. Toto je možné provést několika způsoby. Implementačně nejjednodušší je každou noc přeukládat všechny uživatele v IdM. V případě, že je v IdM velké množsví uživatelů však takové přeuložení může trvat i několik dní.
Další možností je ihned po změně na roli přeuložit všechny uživatele s danou rolí. Změny na rolích se ale obvykle dějí v pracovní době, což by vytížilo systém uprostřed dne, kdy se k němu připojují uživatelé.

Continue reading

Nové GUI pro správu rolí

S nedávno vydaným releasem CzechIdM 2016q1 přichází nejen řada nových a zajímavých funkcí, ale i několik změn v GUI. Tou nejvýraznější z nich je nový, uživatelsky přívětivější formulář pro vytváření a editaci rolí. Jelikož se řada nových funkcí týká právě rolí a práce s nimi, přibylo do již tak poměrně nepřehledného editačního formuláře mnoho nových konfiguračních políček. Právě proto vyvstala potřeba formulář přepracovat. Continue reading

Pokročilé možnosti automatického přidělování rolí

V jednom z minulých článků jsem popsal novou funkcionalitu CzechIdm, kterou je automatické přidělování rolí. Ukázal jsem základní možnosti konfigurace a používání této novinky v CzechIdM. V tomto článku v krátkosti ukáži, jak je možné využít pokročilé možnosti konfigurace pro automatické přidělování rolí.

Zástupné znaky

V pravidle getAutoRolesAttributes je možné kromě přesného názvu atributu specifikovat také název s použitím takzvaných zástupných znaků (wildcards). V této chvíli lze jako zástupné znaky používat znak tečka (.) a znak procento (%). První jmenovaný zastupuje jeden libovolný znak ve jméně atributu, druhý pak libovolnou sekvenci znaků. Bude-li použit název atributu,

position.:cat

pak tento výraz odpovídá například oboum následujícím výrazům:

position0:cat
position9:cat

Odvození chování zástupného znaku procento pro předchozí příklad je pak už triviální.

Vícehodnotová podmínky

Může se stát, že chceme přiřadit roli uživatelům na základě více hodnot pro jeden název atributu. Například chceme, aby se automatická role přidělila všem uživatelům, kteří mají atribut “mobile”, jehož hodnota má jednu z následujících hodnot:

+421 777 777 777
+420 777 777 774

Pak je nutné konfiguraci nastavit tak, aby pro jeden název atributu bylo možné speficikovat více hodnot. To lze nastavit v GUI pro automatické přidělování rolí (v záložce pro editaci rolí)  tak, že hodnoty jednotlivých atributů oddělíme znakem středník (;) například takto:

;+421 777 777 777;+420 777 777 774;

Role pak bude přidělena všem uživatelům, kteří mají potřebný atribut s alespoň jednou uvedenou hodnotou (v případě relace EQ, viz předchozí článek). Logický operátor mezi jednotlivými hodnotami je tedy OR.

Zvláštní chování však má relace NEQ při použití vícehodnotového parametru. Při uvedení více hodnot, jako například v předchozí ukázce, bude mezi jednotlivými hodnotami v případě NEQ logický operátor AND (místo očekávaného OR v případě NEQ).

V tomto článku jsem představil pokročilé možnosti automatického přidělování rolí. Ukázal jsem, jak je možné používat vícehodnotové parametry v konfiguraci a také jak využít zástupné znaky pro názvy atributů. Pro jakékoli dotazy mě můžete kontaktovat na info@bcvsolutions.eu.

Automatické přidělování rolí

Role v CzechIdM představují balík oprávnění identity ke koncovému systému nebo přímo CzechIdM (admin role). Role lze přiřazovat ručně, například pomocí webového GUI, nebo pomocí workflow a pravidel. Mým úkolem bylo implementovat nový způsob přiřazování rolí – automatické přidělování rolí, které lze použít v průběhu standardní rekoncilace/synchronizace. Dále se v článku dozvíte, jak byla tato nová funkcionalita v CzechIdM implementována a jak automatické přidělování rolí konfigurovat a spouštět.

Automatické role

Nejprve je třeba definovat, co jsou to automatické role. Nově v CzechIdM mají všechny role, včetně admin rolí, atributy, které slouží primárně pro rozhodování, komu danou roli při automatickém přiřazení přidělit. Počet těchto atributů je napevno stanoven na 10 a jsou jednoduše pojmenovány attribute1 až attribute10. Role je automatická právě tehdy, když má vyplněný alespoň jeden tento atribut – hodnota atributu není null a nebo prázdný řetězec.

Pro přiřazování automatických rolí byly definovány 4 nové užitečné metody nad třídou Data.

  • GetAutoRoles() – metoda používá aktivní UserView a pro daného uživatele vrací seznam automatických rolí, které splňují podmínky přidělení v příslušných atributech rolí.
  • AssignAutoRolesExpUsers() – na základě explicitně předaného seznamu uživatelů těmto přiřadí odpovídající automatické role.
  • AssignAutoRolesExpRoles() – na základě explicitně předaného seznamu rolí vyhledá odpovídající uživatele a těmto přiřadí odpovídající automatické role.
  • AssignAutoRoles() – pro všechny uživatele v systému přiřadí odpovídající automatické role.

Pomocí těchto metod lze například ve workflow nebo pravidlech jednorázově přiřadit automatické role uživatelům.

Konfigurace automatického přiřazení rolí

Předtím, než je možné přikročit k samotnému procesu automatického přidělování, je potřeba provést konfiguraci podmínek, které musí uživatelé splňovat, aby jim byla automatická role přidělena.

Podmínky je možné si představit jako trojici:

Atribut:Relace:Hodnota atributu

  • Atribut je název uživatelského atributu, například „tel“
  • Relace je vztah mezi názvem a hodnotou atributu, v současnosti lze vybírat z equal (EQ), not equal (NEQ) a like (LIKE)
  • Hodnota atributu je vypovídající, například „+420 540 123 456“

Konfigurace podmínky probíhá ve dvou krocích. První část konfigurace je umístěna v pravidle getAutoRolesAttributes. Pravidlo tedy editujeme, nejjednodušeji pomocí webového rozhraní. Pravidlo getAutoRolesAttributes obsahuje definici DTO, které představuje první část podmínky pro automatické přidělování rolí. Pravidlo má následující strukturu:

DTO roleAttrs = new DTOGroup();
 DTO attr1 = new DTOGroup();
 attr1.put(Constants.AUTO_ROLE_ATTRIBUTE_NAME, "tel");
 attr1.put(Constants.AUTO_ROLE_ATTRIBUTE_RELATION, RoleAttrRelation.EQ);
 …
 DTO attr10 = new DTOGroup();
 attr10.put(Constants.AUTO_ROLE_ATTRIBUTE_NAME, "");
 attr10.put(Constants.AUTO_ROLE_ATTRIBUTE_RELATION, RoleAttrRelation.EQ);
 …
 roleAttrs.put(AutoRoleAttr.EQ.name(), RoleAttrEq.OR);

Na řádku attr1.put(Constants.AUTO_ROLE_ATTRIBUTE_NAME, "tel"); jako druhý argument funkce attr1.put() vyplníme název atributu uživatele, například „tel“. Na následujícím řádku se vyplňuje Relace, v příkladu je RoleAttrRelation.EQ, který reprezentuje rovnost řetězců. Jak je vidět, lze nastavit až 10 podmínek pro přidělování rolí, přičemž logický operátor mezi jednotlivými podmínkami je ve výchozím stavu OR, jak je vidět na posledním řádku z příkladu.

Nyní máme tedy nastavenou první část podmínky Atribut:Relace:Hodnota a chybí nám ještě poslední část samotná hodnota atributu. Tu nastavujeme do již představených atributů rolí Attribute1 až Attribute10, přičemž pořadí atributů odpovídá řádkům v pravidle getAutoRolesAttributes. Toto můžeme nastavit pomocí webového GUI:

auto_config

Nyní máme již nastavené podmínky pro automatické přidělování rolí. Spuštění automatického přidělování rolí může probíhat automaticky při standardní rekoncilaci/synchronizaci. Pomocí GUI lze nastavit, kdy bude tato funkcionalita aktivní.

synch_conf

Omezení

Je třeba zdůraznit, že automatické přidělení rolí proběhne pouze při změnách uživatelské identity (update, vytvoření). Tedy vždy pouze pro určité stavy a akce. Jsou to tyto:

  • Assigned – UPDATE_IDENTITY
  • Matched – LINK_ACCOUNT_AND_UPDATE
  • Missing identity – CREATE_IDENTITY
  • Missing identity – CREATE_IDENTITY_AND_UPDATE

Automatické role mají určitá omezení, která je třeba mít na paměti při konfigurování. Zejména lze přiřazovat role pouze na základě atributů datového typu String. Například nelze použít pouze název atributu „homeOrganisation“ nebo „disabled“.

Dále je třeba počítat s tím, že jednotlivé podmínky jsou vzájemně spojeny logickým operátorem OR. Návrh automatických rolí počítá s pozdějším přidáním dalších logických operátorů jako je AND, nicméně v současné podobně je jedinou volbou OR.

Závěr

V tomto článku jsem představil novou vlastnost CzechIdM – automatické přiřazování rolí. Byly definovány automatické role, ukázány možnosti konfigurace automatického přiřazení rolí a také omezení pro tuto novou funkcionalitu. Možnosti využití jsou jistě širší, než je schopen pojmout tento článek, proto se můžete těšit na pokračování, kde budou představeny širší možnosti konfigurace automatických rolí. Pro jakékoli dotazy mě můžete kontaktovat na info@bcvsolutions.eu.

Pomáháme spravovat přes 2 000 000 účtů!

Je mi potěšením Vám oznámit, že jsme v lednu 2014 zdolali další magickou hranici v počtu spravovaných účtů na napojených systémech. K dnešnímu dni CzechIdM a Sun IdM u našich zákazníků pracuje s neuvěřitelnými 2 204 122 účty napříč všemi segmenty trhu: pomáhá ve zdravotnictví, ve školství, ve státní správě i v soukromém sektoru.

pocitadlo

Continue reading

Schvalování přiřazení rolí v CzechIdM

Ukážeme příklad, kdy administrátor někomu přiřazuje roli vyžadující schválení.  V našem řešení Identity Managementu CzechIdM je možné (a je to také často požadováno), aby si uživatel si sám mohl o roli požádat. K tomu nepotřebuje žádná speciální práva. Žádost o roli je možné podat z webového uživatelského rozhraní. Tento článek navazuje na můj předchozí článek Jak na role v Identity Manageru CzechIdM.

 

Continue reading