Archiv pro rubriku: BCV

Prezentace Scala vs. Java 8

V rámci interních školení u nás proběhla prezentace představující programovací jazyk Scala a porovnávající jej s jazykem Java ve verzi 8. Scala je programovací jazyk kompatibilní s Javou, který v sobě kombinuje objektově orientované a funkcionální programování. Tento jazyk, navržený v roce 2003 Martinem Oderskym, německým počítačovým vědcem působícím ve Švýcarsku, se vyznačuje několika zajímavými vlastnostmi jako jsou pattern matching, duck typing či anonymní funkce. Právě posledně jmenované Anonymní funkce přinesla i Java 8 v podobě lambda výrazů.

Continue reading

IDS – Intrusion Detection System

V rámci interního vzdělávání jsem měl prezentaci o tom, co je to IDS (Instrusion Detection System) a jak jsme jej nasazovali u zákazníka. V tomto článku vám popíši základní principy IDS a jak jej správně začlenit do síťové infrastruktury. Představím vám také některé aplikace, které jsem ve svém řešení IDS použil. Na závěr se budu zabývat tím, jakým způsobem IDS nastavit, jaká volit pravidla a co použít pro vizualizaci reportů.

Continue reading

CzechIdM Roadmap 2015

Každý větší software musí mít nejakou vizi, cíl, kam chce směřovat. Bez vize je jeho vývoj pouze nabalující se sněhovou koulí. Vývoj běží na úrovni implementace vlastní setrvačností. V začátcích nám samovolný vývoj nevadí, ale v momentě, kdy aplikace dosáhne určitého rozsahu, je takový způsob práce dále neudržitelný.

S příchodem roku 2015 jsme tedy i my formalizovali naši vizi a vytvořili pro CzechIdM Roadmapu.
CzechIdM je ve vývoji již zhruba pět let, což je relativně dlouho. Většina vývoje je přizpůsobování produktu na míru konkrétnímu zákazníkovi. Dostatečně obecné (a užitečné) funkcionality jsou zároveň zařazovány do standardního produktu. Vývoj je tedy z větší části řízen poptávkou po konkrétních funkcionalitách, z části menší pak vývojem vlastních features „do šuplíku“.

Continue reading

Tisková zpráva: Podruhé jsme součástí IT projektu roku

Podruhé jsme součástí IT projektu roku

Bohemia Energy je jedním z vítězů soutěže IT projektu roku 2014, která je vyhlašována Českou asociací manažerů informačních technologií (CACIO). BCV solutions pro Bohemia Energy v tomto projektu zajišťuje Identity a Access Management s produkty CzechIdM a OpenAM.

Česká asociace manažerů informačních technologií (CACIO) vyhlásila dne 19. 2. 2015 výsledky soutěže IT projekt roku 2014. Tato soutěž se u nás pořádá již 12 let a zúčastnit se jí mohou projekty informačních a komunikačních technologií, které jsou uvedeny do praxe. Letošní ročník má tři vítěze. Jedním z nich je i největší alternativní poskytovatel elektrické energie, společnost Bohemia Energy, která zvítězila s řešením umožňujícím jejím zástupcům uzavírání nových smluv prostřednictvím tabletů. „Jsme velice rádi, že projekt, na kterém jsme se podíleli, byl oceněn takovou prestižní cenou,“  řekl Lukáš Cirkva, ředitel společnosti.

Na projektu jsme se podíleli s naším identity managerem CzechIdM, který již byl v organizaci implementován před pořízením tabletů. Pro začlenění tabletů a aplikací, které umožňují elektronické sepsání smlouvy, jsme správu uživatelských účtů přes CzechIdM rozšířili. Identity manager nyní kontroluje nejen to, aby měli přístupy pouze uživatelé, kteří je mají mít, ale kontroluje i jejich oprávnění — tedy kam uživatelé v aplikaci mohou a kam už nikoli. Tyto procesy — zakládání, mazání a kontroly přístupů — umožňuje identity manager CzechIdM u všech napojených aplikací. Nemůže tedy dojít k tomu, aby uživatelé, kteří již nejsou v zaměstnaneckém či jiném poměru, mohli nahlížet a měli přístupy do systémů Bohemia Energy. Pokud dojde k přeřazení zaměstnance na jinou pozici, přiřadí mu identity manager pouze ty přístupy, které má na nové pozici mít.

Poprvé jsme byli součástí výherce IT projektu v roce 2010, kdy jsme byli u zrodu první elektronické lékařské dokumentace na Všeobecné fakultní nemocnici, se kterou dlouhodobě spolupracujeme. Více informací o řešení na Všeobecné fakultní nemocnici naleznete zde.

Kontakt:

  • Veronika Melmuková
    BCV solutions s.r.o.
    7. května 1168/70
    149 00 Praha 4 – Chodov
    Tel.: +420 778 035 900
    Email: info@bcvsolutions.eu

Zhodnocení roku 2014 a plány na rok 2015

Rok 2014 byl pro nás obrovskou lekcí. Hlavně díky tomu, že jsme dlouho čekali na nové zakázky. To se nám stalo poprvé od startu firmy a donutilo nás to udělat hodně změn, které nakonec měly velmi pozitivní dopad na fungování firmy.

Druhá polovina roku byla opakem, naprostým úspěchem. Získali jsme nové zákazníky, tým vývojářů a konzultantů se rozjel a nasazovali jsme do produkce jeden systém za druhým. Uspořádali jsme úspěšný workshop na CzechPAM, kterým nám zajistil nové zákazníky. Splnili jsme si sen – vydali naše CzechIdM jako Opensource. Aktuálně máme nejvíce projektů od začátku firmy.

Co se podařilo v roce 2014:
  • Zveřejnili jsme náš produkt CzechIdM jako Opensource, což nás zviditelnilo a přineslo zákazníky.
  • Máme nový produkt CzechPAM. Střihli jsme si vývoj od základu a to poměrně velmi rychle. Produkt je velmi uživatelsky sexy.
  • Uspořádali jsme úspěšný workshop CzechPAM, který jsem si opravdu užil. S účastníky dále spolupracujeme.
  • Spravujeme jako firma nejvíce účtů pomocí IdM v ČR, vyjma datových schránek.
  • Udělali jsme mnoho vylepšení v CzechIdM – vytvořena standardní synchronizace, což je pecka funkce. Admin si sám může naklikat synchronizaci mezi napojenými systémy.
Cíle na rok 2015 – dominovat v ČR v identity managementu :-)
  • Dodat nejvíce IdM projektů najednou.
  • Růst obratu o 20%.
  • Pravidelně publikovat do blogu – 4xměsíčně.
  • Release nové verze CzechIdM 2x do roka. Zrychlit CzechIDM a zpříjemnit pro uživatele. Zavést automatizované testování GUI.

Osobně se mi podařilo pořádně se rozběhnout, za rok jsem zaběhl 927km. Na tento rok plánuji překonat 1000km.

Přeji mnoho úspěchů v novém roce.

Vypisujeme témata pro bakalářské a diplomové práce

Již několik let vypisujeme témata a vedeme bakalářské a diplomové práce. Zadání vytváříme na základě reálné potřeby pro skutečné zákazníky. Výsledek Vaší práce bude někdo používat a to v podstatě ihned. Proto hledáme šikovné lidi, kteří se nebojí udělat pořádnou práci a mají zájem se trochu zviditelnit.

Na čem budete pracovat?

CzechIdM Identity Management – nástroj pro centralizaci a automatizaci správy uživatelských identit (účtů, skupin atd.) v celé síti, a to bez výrazných zásahů do fungování stávajících systémů. CzechIdM je SW kompletně naprogramovaný v jazyce Java, konkrétně na platformě J2EE. Více zde: http://www.czechidm.com

Co budeš používat?

  • Java EE
  • JBoss AS
  • JBoss jBPM
  • Hibernate, Java persistent API (JPA)
  • Java Server Faces, Richfaces framework
  • EJB3
  • Connector Framework

Koho hledáme?

Obecně hledáme toho, kdo chce něco smysluplného vytvořit. Chceme toho, kdo dokončí co začal a chce se svou prací dlouhodobě chlubit. Pokud máte zájem vytvořit kvalitní práci, která nebude do šuplíku, a která bude přínosem, kontaktujte nás.

Ukázka témat

  1. Vytvoření konektoru na připojení Office365.
  2. Vytvoření automatické testovací platformy a automatických testů na GUI.
  3. Vytvoření nového uživatelského rozhraní CzechIdM.
  4. Realizace databázového migrátoru.

Kontakt

Kontaktuj mne na mailu lukas.cirkva@bcvsolutions.eu. Následovat bude osobní schůzka, kde si popovídáme a nabídneme několik témat a pokud si plácneme, domluvíme další kroky.

CzechIdM je nyní dostupný pod svobodnou licencí a zdarma!

V současné době jsou hlavním tématem v mnoha společnostech úspory. Není vůbec snadné prosadit jakýkoliv nový projekt. Na druhou stranu ICT prostředí je vystavováno stále větším nárokům a rozrůstají a zvyšují se i požadavky na jeho bezpečnost. Pomocníkem v této situaci je Identity management, který spravuje uživatelské účty, role, skupiny, organizační zařazení a jejich vztah k jednotlivým aplikacím a datům. Jak tedy nasadit centrální správu identit, bez velkých výdajů za licence a s využitím vlastních pracovníků?

bcv

Společnost BCV solutions s.r.o., leader v oblasti Identity a Access Managementu, nabízí pomocnou ruku. Po dlouhých letech vývoje a vylepšování svého identity manageru CzechIdM, který spravuje již více než 2 000 000 účtů, přibližuje na českém trhu řešení IDM každému. CzechIdM je nyní dostupné pod svobodnou licencí a zdarma! Proč se k tomuto kroku naše společnost přiklonila?

„Již od založení společnosti v roce 2008 bylo naším cílem především pomáhat firmám se správou identit. Poptávka po CzechIdM dlouhodobě překračuje naše možnosti. Protože chceme držet kvalitu implementací projektů, kontrolujeme náš růst.  Rozhodli jsme se dát CzechIdM k dispozici zdarma pod svobodnou licencí všem, kdo potřebují kvalitní a prověřené řešení IDM,” říká Lukáš Cirkva, ředitel společnosti BCV solutions s.r.o.

 

czechidm

 

Může CzechIdM pomoci právě Vám?

CzechIdM zajišťuje kompletní řešení správy uživatelských účtů pro malé a střední společnosti, instituce státní správy a zdravotnická zařízení. Toto řešení se tak stává dostupnější alternativou k již existujícím produktům společností Oracle, IBM či Novell.

Kdokoliv si produkt CzechIdM stáhne, je schopen jej nainstalovat, snadno připojit systémy a především jej používat,“ doplňuje Lukáš Cirkva.

Pokud vás řešení CzechIdM zaujalo a máte zájem o více informací či instalační soubory, navštivte nás na www.czechidm.com.

O BCV solutions

BCV solutions s.r.o., česká společnost se sídlem v Praze se zaměřením na poskytování IT řešení a služeb. Pomáháme zlepšit Identity a Access Management. Aktuálně zákazníkům pomáháme spravovat přes 2.000.000 účtů!

Kontakt

Lukáš CIRKVA, CEO
tel.: +420 724 111 809
email: lukas.cirkva@bcvsolutions.eu
http://www.bcvsolutions.eu

Nové možnosti delegování úkolů v CzechIdM

Možnost delegovat své schvalovací úkoly na jinou osobu máme v CzechIdM již delší dobu. V nedávné době se nám od našich zákazníků sešlo několik požadavků, jak tyto delegace dále zlepšit a rozšířit. Jedním z požadavků například bylo, aby administrátor s danými právy mohl nastavovat delegace za jiné uživatele. Dále jsem se rozhodli přepracovat GUI delegací tak, aby bylo pro uživatele přívětivější. Pojďme se tedy na tyto změny podívat.

czechidm

 

Práva pro administrátory k delegování

Dříve právo na delegování svých úkolů měli pouze uživatelé samotní, což se v některých případech ukázalo jako nepraktické. V lepším případě uživatel jen odjel na dovolenou a úkoly zapomněl delegovat na svého kolegu. Pokud by chtěl administrátor delegování nastavit místo onoho uživatele měl jedinou možnost. Resetovat heslo do CzechIdM, změnit nastavení a pak uživateli vysvětlit, že si má nastavit nové heslo.
Nyní se administrátor přihlásí do admin rozhraní a u všech uživatelů, které má ve své kontrolované organizaci má možnost kliknout na Delegovat úkoly ve sloupci Akce. Odkaz administrátora přenese na delegaci úkolů daného uživatele. Aby mohl administrátor takto přejít na delegaci úkolů, musí mít přidělená oprávnění, což je možné dvěma způsoby:

  • Jedná se o administrátora, který má přidělenou superAdmin roli, tudíž může vše
  • Jedná se o normálního administrátora, tudíž musí mít přidělenou admin roli s oprávněním:
    • USER_TASK: DELEGATE
    • USER: READ – pro čtení seznamu uživatelů (není nutné, pokud má oprávnění přidělené pomocí jiné role
    • ORGANISATION: READ – pro čtení organizační struktury (není nutné, pokud má oprávnění přidělené pomocí jiné role)

users_delegace_ukolu_u

Přívětivější GUI delegací

Díky častému nasazení a použití delegací v některých projektech jsme zjistili, že původně navržené GUI není tak intuitivní, jak jsme byli přesvědčeni. Proto jsme přistoupili k jeho změně a nyní formulář uživatele opticky provede celým nastavením delegací. Navíc uživatel okamžitě v přehledu na stejné stránce vidí, jaké nastavení delegací má nastavené.

delegace_u

Nejprve uživatel vybere čas, kdy má být delegování aktivní, následně na koho se mají úkoly delegovat a následně novou delegaci uloží.
Po uložení delegace musí uživatel, na kterého mají být úkoly delegovány, požadavek schválit. Stav uživatel vidí v přehledu delegací ve spodní části stránky.

Závěr

V článku jsme si ukázali novou funkci pro delegování úkolů, která dává administrátorovi další práva a nové GUI, které je nyní daleko přívětivější. Pokud byste měli zájem o další informace o delegování nebo měli jakékoliv otázky, můžete mě kontaktovat na info@bcvsolutions.eu.

 

9 důvodů, proč dát přednost CzechIdM před Oracle Waveset

V poslední době se mě na prezentacích a školeních čím dál častěji ptají, v čem je náš Identity Management CzechIdM lepší než dosluhující Oracle Waveset, dříve nazývaný též Sun Identity Manager. Jako projektový manažer i vývojář jsem se na vlastní kůži setkal s oběma; nedávno jsem tu psal o úspěšné migraci z Oracle Waveset na CzechIdM ve Všeobecné fakultní nemocnici. Můžu tedy srovnávat, důvodů k migraci je celá řada.

  1. Podpora – CzechIdM je svým tvůrcem stále rozvíjeno.
    Zatímco Oracle Waveset je jako produkt mrtvý, CzechIdM se vyvíjí podle požadavků zákazníků, reaguje na technologické trendy a přizpůsobuje se novým verzím napojovaných systémů.
  2. Otevřené zdrojové kódy – Pokud máte Waveset, máte černou skříňku.
    S Wavesetem jste si nainstalovali předkompilované binární soubory, které si nepřečtete ani nepřizpůsobíte. Zákazníci CzechIdM naproti tomu dostanou kompletní zdrojové kódy a je na nich, zda budou chtít něco upravit.
  3. Příjemnější rozhraní – uživatelé mají raději CzechIdM.
    Rozdíl je v detailech: jednodušší menu, větší tlačítka, smysluplnější popisky, méně klikání v obvyklých situacích, přehlednější nápověda…
  4. Méně práce pro vývojáře – přizpůsobit CzechIdM je rychlejší a stojí to méně peněz.
    Kdo někdy programoval pro Oracle Waveset, dá mi za pravdu: napsat jednoduchý proces pro Waveset znamená naučit se podivný jazyk XPress a napsat v něm tisíc řádků kódu. CzechIdM používá standardní Javu, pokud jste se s ní potkali aspoň na gymnáziu, nejspíš byste zvládli napsat svůj první proces pro CzechIdM ještě dnes. Zákazník tak ušetří přes 30% nákladů.
  5. Výkon – CzechIdM zvládne za stejný čas více práce.
    Waveset drží všechny své objekty v XML struktuře. CzechIdM má datový model chytřejší: využívá všech výhod moderních relačních databází. Díky tomu pracuje s uživateli, účty a rolemi rychleji a efektivněji.
  6. Bezpečnost – tvůrci CzechIdM reagují na rizika.
    Ve světě informačních systémů se každý rok objevují nová bezpečnostní rizika – v databázích, aplikačních serverech, programovacích jazycích… Zatímco programátoři CzechIdM novým slabinám v technologiích čelí (viz nedávno odhalená bezpečnostní chyba v MySQL, na kterou museli reagovat, http://blog.sucuri.net/2012/06/security-vulnerability-in-mysql.html), Waveset už jen stojí na místě: bezpečnostní díra u něj zůstane dírou navždy..
  7. Jednodušší pro administrátory – s CzechIdM se administrátor rychleji naučí pracovat
    CzechIdM má jen ty funkce, které jsou skutečně potřeba. Administrátor tak může hned dělat svou práci a netráví dlouhý čas studiem nového produktu. Kompletní dokumentace v češtině taky není k zahození.
  8. Lokální tvůrce – tým vývojářů v Česku
    Na rozdíl od Wavesetu je CzechIdM stoprocentně český produkt vyvinutý lokální společností. Když zákazník potřebuje pomoc, dorazí k němu expert, který CzechIdM sám vytvářel a zná produkt do posledního řádku kódu.
  9. Prezentační vrstva na míru – JSF vs. XPress
    Složitější formulář pro Waveset jsou 3 dny práce v jazyce XPress a výsledek pravděpodobně nebude úplně podle vašich představ. CzechIdM stejně jako většina dnešních aplikací používá JSF, formulář bude za odpoledne a po stránce vzhledu je realizovatelné prakticky cokoli.

Ano, mít důvodů deset, vypadalo by to lépe. Máte podobnou zkušenost jako já? Pomůžete nám vymyslet desátý důvod? Kontaktovat nás můžete na adrese info@bcvsolutions.eu.

CzechIdM umí synchronizovat i bez programování

Za několik málo dní nastane pro CzechIdM velká událost, kterou ještě nebudu prozrazovat. Nicméně se snažíme CzechIdM na tento krok do neznáma připravit tak, aby jej zvládl a obstál se ctí. S tímto velkým krokem souvisí fakt, že se snažíme CzechIdM rozšířit tak, aby jej administrátor pouze nainstaloval a vše mohl nakonfigurovat v grafickém rozhraní, případně v konfiguračních souborech. Do nedávna musel administrátor mnoho věcí programovat v Javě resp. BeanShellu, mezi které patřila i synchronizace a rekonciliace napojených systémů. Udělali jsme zásadní rozhodnutí a nyní si oboje může administrátor nakonfigurovat, nebo naprogramovat, pokud preferuje tuto variantu. Pozn.: Nadále pro jednoduchost budu mluvit jen o synchronizaci, nicméně je tím myšlena i rekonciliace. V opačném případě bude uvedeno explicitně.

Workflow pro každý účet

Jak už jsem výše uvedl, administrátor musel pro každý napojený systém naprogramovat synchronizačním workflow, které v praxi bylo pro mnohé systémy velmi podobné. Výhodou tohoto řešení byla a stále ještě je, veliká variabilita, kdy s účtem a spárovanou identitou můžete dělat úplně cokoliv vás napadne. Jsou systémy, kde takovéto řešení je jediné možné, ale těch je velice málo. Naopak nevýhodou je fakt, že se pro každý synchronizovaný účet a identitu spouští workflow stále dokola, což má neblahý vliv na výkon, kdy vytváření jeho kontextu je řádově pomalejší než implementace v kódu.

Standardní implementace

Jestliže je workflow oproti klasickému kódu o tolik pomalejší, proč jej nevyužít pro synchronizaci? Zvlášť, když by bylo možné takto nakonfigurovat synchronizaci daleko rychleji, pohodlněji? Proto jsme zpracovali rozsáhlou analýzu problému a ujasnili si tak, co synchronizace v rámci workflow ve většině případů dělá. Po velké diskuzi nad tímto tématem jsme se pustili do implementace a nyní vám můžu hrdě a s radostí oznámit, že vše je dokončeno. Implementaci si v tuto chvíli nechám pro sebe a rovnou se vrhnu na jednoduchý modelový příklad, na kterém si vše ukážeme. Po tomto příkladu bude následovat rychlý přehled dalších funkcí, kterým se bude věnovat některý z dalších článků.

Používané termíny

Nejprve si musíme ujasnit některé termíny, které budu dále v příkladu používat:

  • účet – jeden účet na koncovém systému
  • identita – osoba v CzechIdM (může mít více účtů)
  • synchronizace – proces, kdy se zpracovávají jen změněné účty na jednom systému
  • rekonciliace – proces, kdy se zpracovávají všechny účty na jednom systému
  • korelace – podmínka, na jejímž základě se pokouší synchronizace přiřadit účet konkrétní identitě
  • stav synchronizace – stav spárování účtu s identitou; může být:
    • ASSIGNED – účet je již přiřazen konkrétní identitě
    • MATCHED – účet a identita si odpovídají na základě korelace
    • MISSING_IDENTITY – existuje účet na koncovém systému, ale v CzechIdM neexistuje odpovídající identita
    • MISSING_ACCOUNT – existuje identita, která by měla na základě role mít účet na koncovém systému, ale nemá jej. Tento stav může nastat pouze u rekonciliace.

Modelový příklad

Neuvedu zde suchý výčet všech možností synchronizace, ale vše ukážu na jednoduchém případě. Výčet a popis všech možností bude uveden v dalším článku, na který se můžete již teď těšit. Nyní tedy k modelovému příkladu – předpokládejme dva koncové systémy na kterých existují účty a CzechIdM, které jsme si čerstvě nainstalovali a nyní chceme napojit oba systémy. První koncový systém je Personalistika, ve které primárně vznikají účty při příchodu nového zaměstnance. Naopak po jeho odchodu se účet smaže a pokud měl účet na druhém systému s názvem Doména, tak se také smaže.

Vidíme, že se nám tu již tvoří seznam požadavků na synchronizaci, tak si jej zde uvedeme trochu podrobněji:

  1. Pokud vznikne nový účet na systému Personalistika, vznikne odpovídající identita.
  2. Synchronizace systému Personalistika bude probíhat každých 10 minut.
  3. Pokud nebude existovat účet na systému Personalistika, smaže se identita a přiřazený účet na systému Doména.
  4. Ze systému Personalistika se budou načítat veškeré atributy kromě emailu.
  5. Pro nově vytvořenou identitu se vytvoří účet na systému Doména.
  6. Domovská organizace z personálního systému bude top:zaměstnanci, ale pouze při vytvoření identity.
  7. Atribut identity email se bude vždy aktualizovat ze systému Doména a následně se bude zapisovat do systému Personalistika.
  8. Pokud existuje účet na systému Doména a neexistuje odpovídající účet v systému Personalistika, tento účet je určen k zablokování a budeme o něm informovat administrátory.
  9. Rekonciliace systému Personalistika bude probíhat jednou denně.
  10. Synchronizace systému Doména není nutná a proto bude probíhat jen kontrolní rekonciliace jednou denně, která bude aktualizovat email u identity.

Nastavení systémů

Předpokládáme, že oba systémy jsou napojeny pomocí DatabaseTable konektoru a vše potřebné pro připojení je již hotové.

Nastavení atributů systému Personalistika

Na následujícím obrázku je patrné jaké atributy jsou na systému Personalistika a jak jsou mapovány do CzechIdM. Je zde několik důležitých atributů kromě jména a příjmení. Jedná se hlavně o atributy „DISABLED“, který slouží k indikaci zablokovaného účtu a „PASSWORD“ kde je uloženo heslo k účtu. Dalo by se říct, že toto je již notoricky známé nastavování atributů systému a proto jej zde nebudu dále rozvádět.

Atributy_schematu_personalistika

Nastavení synchronizace systému Personalistika

Zde můžeme již vidět první nový formulář nastavení, který slouží k nastavení akcí při synchronizaci, konkrétně systému Personalistika. Jak můžeme vidět, pro každý stav synchronizace můžeme nastavit výkonnou akci a informativní akci. Výkonná akce upravuje účet nebo identitu a informativní akce informuje o stavu nebo výsledku. O dalších možnostech nastavení se budete moci dočíst v některém z dalších článků. Nyní se vrátíme k seznamu požadavků a vysvětlíme si, čím v tomto případě zajístíme jejich splnění.

Nejprve tedy první požadavek: Pokud vznikne nový účet na systému Personalistika vznikne odpovídající identita. Nový účet je značen stavem MISSING_IDENTITY, proto pro tento stav zvolíme možnost CREATE_IDENTITY, která nám identitu vytvoří a na základě mapování doplní.

Druhý požadavek zní: Synchronizace systému Personalistika bude probíhat každých 10 minut. Toto nastavíme jednoduše pomocí časovače, jak je uvedeno na obrázku.

Ostatní stavy synchronizace jsou nastavené tak, jak nepřímo plyne ze čtvrtého požadavku: Ze systému Personalistika se budou načítat veškeré atributy kromě emailu. Aby se toto skutečně mohlo dít i v čase, kdy se data v systému Personalistika mění, je nutné mít nastavené u stavu ASSIGNED volbu UPDATE_IDENTITY, která aktualizuje identitu. Pro stav MATCHED pak nastavíme LINK_AND_UPDATE, který dělá to samé jako UPDATE_IDENTITY, ale navíc spáruje účet s identitou.

Jako perlička je uvedena informativní akce pro stav MISSING_IDENTITY a to REPORT_ONLY_IF_ERROR, která odešle email pokud dojde během vytváření identity k chybě. Administrátor tak okamžitě zjistí, že došlo k chybě a může sjednat nápravu.

Nastaveni_synchronizace_systému_personalistika

Nastavení rekonciliace systému Personalistika

Synchronizaci již máme nastavenou, teď tedy k rekonciliaci, díky které je možné splnit čtvrtý požadavek: Pokud nebude existovat účet na systému Personalistika, smaže se identita a přiřazený účet na systému Doména. Chybějící účet je signalizován stavem MISSING_ACCOUNT, který může nastat pouze u rekonciliace, proto zde nastavíme možnost DELETE_IDENTITY. Ta nám zaručí smazání identity, který chybí účet na systému Personalistika a zároveň smazání všech ostatních účtů na koncových systémech.

Opět je zde přidána jedna perlička – nastavená hromadná akce REPORT_ONLY_IF_ERROR. Hromadná akce se spouští vždy po dokončení synchronizace nebo rekonciliace a volba REPORT_ONLY_IF_ERROR zaručí, že jakmile u jakéhokoliv účtu dojde k chybě, bude odeslán e-mail na zadanou adresu. Narozdíl od informativní akce, kde se odešle e-mail pro každou identitu, kde nastala chyba, zde se odešle pouze jeden e-mail s celkovým přehledem.

Nastaveni_rekonciliace_systému_personalistika

Nastavení mapování atributů pro systém Personalistika

Nyní se podíváme na mapování atributů pro systém Personalistika. Možná vás mate, že už jsme jednou atributy pro tento systém nastavovali, ale je to tak správně. Toto mapování totiž určuje, jak se budou vyplňovat atributy u identity, jakmile se má identita vytvářet nebo aktualizovat. Oproti tomu nastavení atributů u systému pouze určuje, jak se atributy z koncového systému budou předávat do CzechIdM a naopak.

V tomto mapování určíme jednoduše čím a jak se budou vyplňovat atributy identity při jejím vytváření ze systému Personalistika. Zde splníme požadavky:

  • Ze systému Personalistika se budou načítat veškeré atributy kromě emailu
  • Pro nově vytvořenou identitu se vytvoří účet na systému Doména
  • Domovská organizace z personálního systému bude top:zaměstnanci, ale pouze při vytvoření identity.

První bod zajístíme tím, že zde atribut „email“ neuvedeme a nebude se tedy do identity doplňovat. Ostatní atributy se do identy dostanou díky nastavení zdroje RESOURCE_ATTRIBUTE, který značí, že se atribut načte z koncového systému. Pouze musíme vyplnit jakým atributem na koncovém systému se má hodnota vyplňovat. Důležitým atributem je atribut „name“, který je identifikátorem identity.

Druhý bod je o trochu těžší, ale po vysvětlení se bude vidět jeho elegance – účet na koncovém systému je vždy definován rolí, kterou má identita přiřazenou. Chceme-li zakládat účet při založení identity, přiřadíme jí roli pro daný systém a tím pádem se účet na koncovém systému (zde Doména) vytvoří automaticky. Je nutné zároveň identitě přiřadit roli pro systém Personalistika, kde je synchronizace spouštěna, aby se účet mohl s identitou spárovat. Pro splnění druhého bodu tedy musíme atribut „roles“ vyplňovat ze zdroje CONSTANT, neboli konstantou, která je uvdena vedle. Zde je uvedený seznam rolí oddělených znakem „|“ a jako datový typ je zde „List<String>“.

Třetí bod splníme tím, že atribut „homeOrganisation“ u identity budeme vyplňovat opět konstantou jako v předchozím případě, jen s tím rozdílem, že hodnota bude „top:zaměstnanci“. Druhá část tohoto bodu je zajištěna tím, že se zvolí strategie zápisu CREATE, což značí, že se atribut bude v tomto stavu aplikovat pouze při vytvoření identiy a při aktualizaci se bude ignorovat.

Mapovani_atributu_synchronizace_personalistika

Nastavení atributů systému Doména

Na následujícím obrázku je patrné jaké atributy jsou na systému Doména a jak jsou mapovány do CzechIdM. Je zde několik důležitých atributů kromě jména a příjmení. Jedná se hlavně o atributy „DISABLED“, který slouží k indikaci zablokovaného účtu a „PASSWORD“ kde je uloženo heslo k účtu. Dalo by se říct, že toto je již notoricky známé nastavování atributů systému a proto jej zde nebudu dále rozvádět.

Atributy_schematu_domena

Nastavení rekonciliace systému Doména

Abychom splnili požadavky pro napojený systém Doména musíme rekonciliaci nastavit následujícím způsobem. Zrekapitulujeme si požadavky:

  • Atribut identity email se bude vždy aktualizovat ze systému Doména a následně se bude zapisovat do systému Personalistika
  • Pokud existuje účet na systému Doména a neexistuje odpovídající účet v systému Personalistika, tento účet je určen k zablokování a budeme o něm informovat administrátory.

První bod znamená, že se musí identita vždy aktualizovat a proto pro stav ASSIGNED je nastavena akce UPDATE_IDENTITY. Pro stav MATCHED je nastaveno opět LINK_AND_UPDATE. Zároveň pokud chybí účet na systému Doména ale identita má roli přiřazenou, tak dojde ke stvu MISSING_ACCOUNT a protože chceme účet vytvořit, nastavíme CREATE_ACCOUNT.

Druhý bod je opět stejně jednoduchý – stav o kterém se zde bavíme je MISSING_IDENTITY a proto zde nastavíme možnost DISABLE_ACCOUNT, která účet zablokuje na základě politiky blokování účtu na systému. Jelikož by tento stav nastávat neměl, chceme informovat administrátory a proto nastavíme jako informativní akci REPORT a vyplníme e-mailovou adresu.

Nastaveni_rekonciliace_systému_domena

Nastavení mapování atributů pro systém Personalistika

Opět je pro rekonciliaci nastavit mapování atributů ze systému do identity. Je zde řádově méně položek, jelikož Doména je autoritativní zdroj jen atributu email, který se tím pádem načte při každé rekonciliaci do identity. Dalším uvedeným atributem jsou přiřazené role. Jelikož může nastat situace MATCHED, kdy identita odpovídá účtu na základě korelace a zároveň identita nemusí mít přidelenou roli, tak jí tímto způsobem identitě přiřadíme. Stačí, když nastavíme typ zápisu APPEND, což zajistí, že uživateli roli přidá, pouze pokud ji nemá a zároveň ponechá všechny ostatní přidělené role.

Mapovani_atributu_reconciliace_domena

Drobná poznámka před koncem

Takto uvedený postup, kdybyste vše nastavili a spustili, by fungoval zcela správně, pouze pokud by na sytému Doména nexistoval jedinný účet. Pokud by existoval účet, který by měla identita měla vytvářet, dojde k nekonzistenci dat. Pokud byste chtěli takto postupovat, stačí při první synchronizaci systému Personalistika do atributu „roles“ nepřidávat roli pro systém Doména. Následně spustit rekonciliaci systému Doména, kde by u všech identit nastal stav MATCHED a role by se identitě přidala. Poslední krok by byl přidáním role do atributu „roles“ u synchronizace systému Personalistika.

Závěr

Ukázali jsme si na názorném příkladu, jak by probíhalo nastavení jednoduché synchronizace a rekonciliace u dvou systémů. Představte si, jak byste takové věci složitě programovali – není to úleva, že nyní již nemusíte? :-) O dalších možnostech nastavení si budete moct přečíst v dalším článku.

V případě jakýchkoliv připomínek či dotazů mě kontaktujte na info@bcvsolutions.eu.