Portál AbcLinuxu, 5. listopadu 2025 15:03
Co to je Identity Manager
Před několika lety jsem na Ábíčko napsal článek o správě uživatelů pomocí tzv. Identity Manageru (IdM). Identity Manager je nástroj pro automatizaci řízení životního cyklu uživatelských účtů v heterogením prostředí. Součástí IdM jsou synchronizační nástroje pro přenos dat, různé dohledové a reportovací funkce a samozřejmě uživatelské rozhraní, které umožňuje přenést zodpovědnost za určité úkoly na uživatele.
Proč Identity Manager CzechIdM vznikl?
Dřív jsme využívali pro správu uživatelů primárně software od společnosti SUN Microsystems, který jsme vyhodnotili jako jeden z nejschopnějších a technicky nejpropracovanějších nástrojů na našem trhu. Jako většina dalších Identity Managerů obsahoval spoustu funkcí, které ale většina zákazníků nechtěla a nikdy nevyužila. Často jsme při nasazování do provozu vedli diskuzi na téma ceny - jedna z oblíbených vět zákazníků byla "ty funkce stejně nepotřebujeme, kdyby šlo IdM ořezat a tím zlevnit...".
Cena projektu pro automatizaci správy uživatelů se skládá z položek: poplatek licence + cena za nasazení + cena za podporu.
U SUN Identity Manageru (a stejně tak i u dalších srovnatelných nástrojů na trhu) se platí nemalá částka za licence. Existují různé modely výpočtu ceny licencí - platí se dle zaměstnanců společnosti, uživatelů evidovaných v IdM nebo se koupí tzv. krabice - licence na produkt a je jedno kolik uživatelů se spravuje. Produkt se v některých případech licencuje po součástech - Identity Manager jako "jádro" systému a k němu se přikupují adaptéry pro napojení na spravované systémy.
Poplatek za licence u komerčních řešení tvoří dost velkou část výsledné ceny - pro některé organizace i o dost více než 50%. S kolegy jsme dost dlouho řešili jak snížit cenu za projekty a stát se víc konkurence schopnými. Ceny za licence určovali zástupci společnosti SUN Microsystems. Práce při nasazení nelze ořezávat, aby bylo nasazení identity manageru smysluplné a mělo pro zákazníka požadované dopady je prostě nutné práci udělat. No a cena za podporu je také daná. Snad každý zákazník požaduje podporu v podobě oprav a úprav software, v rámci podpory se často systém i rozvíjí a přizpůsobuje aktuálním požadavkům.
Před nějakou dobou jsme se s přáteli založili firmu BCV solutions s.r.o. s tím, že se budeme specializovat primárně na správu uživatelů, systém jednotného přihlašování a správu unixových systémů. Založení vlastní firmy nám rozvázalo ruce.Jsme si sami sobě šéfy a plánování "čísel" je na nás. Rozhodli jsme se jít cestou poskytování služeb zákazníkům a nepřeprodávat krabice. Závislost na nějakém dodavateli, který si dělá co chce bez možnosti to ovlivnit je nepříjemná. V případě pohlcení SUNu Oraclem se to pro spoustu firem jasně ukázalo. Měli jsme tedy ideální podmínky na snížení ceny - rozhodli jsme se vyvinout vlastní Identity Manager u kterého nebudeme muset platit licenční poplatky. Tak vznikl projekt CzechIdM.
Jak je CzechIdM naprogramován?
Aplikace je naprogramovaná v Javě, využívá platformy J2EE. Pro svůj provoz vyžaduje J2EE aplikační server a databázi pro ukládání dat. Nároky na server jsou poměrně rozumné - pro provoz je třeba minimálně 2GiB RAM a nějaký aktuální procesor. Nároky na HW se samozřejmě liší podle způsobu používání a objemu zpracovávaných dat.
Uživatelské i administrátorské rozhraní je webové - pro správu stačí webový prohlížeč s podporou javascriptu.
Webové rozhraní je naprogramováno pomocí frameworku JSF 1.2 a komponent RichFaces. Využíváme AJAX, takže je prostředí docela příjemné na používání. Webové rozhraní je možné upravovat dle přání zákazníka.
Aplikační vrstva je naprogramována pomocí EJB 3.0. Workflow engine je použit jBPM. Procesy jsou definovány tak, že je můžeme modifikovat bez nutnosti odstávky Identity Manageru. O spojení s databází se stará Hibernate framework, který zajišťuje nezávislost Identity Manageru na konkrétní relační DB.
Připojení ke spravovaným systémům má na starosti sada konektorů. Konektory jsou naprogramované tak, že komunikují s koncovým (spravovaným) systémem jeho nativním způsobem. Seznam základních systémů, které umíme spravovat máme uvedený na domácí stránce projektu v sekci Technický popis.
Kde je možné CzechIdM stáhnout?
Software zatím není šířen formou volného stažení z webu. Software poskytujeme při implementaci zdarma. Zákazník platí jen naší práci při uvádění do provozu a následnou podporu případně další rozvoj.
Jaké služby poskytujeme?
Zabýváme se návrhem a realizací řešení pro správu uživatelů. Nejsme prodavači konkrétních produktů, ale snažíme se zákazníkovi pomoci a najít pro něj co nejvýhodnější způsob jak uživatele ukočírovat. Někde použijeme centrální adresářovou službu, jinde nasadíme doménu pro MS Windows a někde zase použijeme Identity Manager. Konkrétní způsob záleží na požadavcích zákazníka, stavu IT, jeho velikosti, finančních možnostech nebo třeba osobních preferencí konkrétních lidí. Primárně se snažíme využívat open source software, ale pokud je komerční produkt přínosnější a perspektivnější tak ho použijeme.
Oblasti, které primárně řešíme:
Tiskni
Sdílej:
Ze seznamu konektorů na vašem webu:
Složitý konektor pro SAP šikovnému programátorovi trvá cca 10MD.
Tohle by mě vážně zajímalo. Vážně dokážete donutit SAP logon, aby ověřil jméno a heslo proti nečeme jinému než je databáze uživatelů SAP? Tedy jde mi hlavně o SAPGUI for Java, na platformě Windows to jde vyřešit přes SNC, to vím.
Když si to vezmeš, tak to není zas tak těžký, udělat server-klient část se šifrovaným spojením s tím, že klient bude nainstalován na serverech a bude lokálně přistupovat do konkrétních systémů a měnit hesla, popř. vytvářet a mazat uživatele.Náš Identity Manager nepotřebuje na většinu spravovaných systémů agenta na serveru (např. pro MS Active Directory není nutný, ale je to vhodné, umíme pak víc věcí než jen kdybysme přistupovali přes LDAP rozhraní), připojuje se na servery jejich nativním způsobem (unix = ssh na server a useradd/passwd).
Já jen že pokud je tedy úkolem z Vaší aplikace změnit heslo uživatele ze SAP R/3, pak jde o jedno zavolání funkčního modulu SUSR_USER_CHANGE_PASSWORD_RFC přes RFC... Takovéto standardní řešení (ten funkční modul je tuším dostupný už od R/2) mi nepřijde jako práce na 10 člověkodnů. Ale to je jedno, produkt jako takový vypadá zajímavě. My řešíme podobný problém také, ale zatím to vypadá, že naší centrální databází zůstane AD... Celkem jednoduše jsme zařídili synchronizaci účtů v AD dle SAP HR, ale problém je právě se synchronizací hesel R/3 <-> AD.
RFC1, SDIFRUNTIME, SYST, SYSU, BFHV, SG00, SRFC, SUSR
Je pravda, že všechny aspekty jsem neuvažoval, vlastně jen ten jeden, který aktuálně řeším já (tedy pouze synchronizaci hesel neboť účty samotné se již synchronizují). Jinak co se týče tohoto
Každý SAP bývá jiný. A tím nemyslím jen verzi, ale způsob nasazení, implementace, rozsahu přizpůsobení a množství použitých modulů.
tak tam bych tak skeptický nebyl. Uvedená problematika je záležitostí báze, která nebývá tak diverzifikovaná. A odchylky, které se vyskytují lze řešit formou jednoduché customizace (např. použití CUA atd.). Ale je fakt, že jsem neviděl tolik systémů jako konzultanti, kteří se živí poskytováním služeb mnoha společnostem.
Jinak zájem by určitě byl, je to zajímavé téma, ale čas by nebyl
I když mě to zajímá, je to okrajové téma.
Je třeba si zvyknout, že Java = 1,5-2GiB RAM jako rozumné minimum.
Software poskytujeme při implementaci zdarma.Pod jakou licencí?
CzechIdM meumožňujeme poskytnout třetí osobě nebo dceřiným společnostem.Tedy není opensource (určitě ne ve smyslu, v jakém se to používá zde na Abclinuxu). Díky za odpověď, a prosím, abyste přestali ten software za opensource vydávat.
Dle našeho názoru se jedná o velmi vstřícný přístup. Konkurenční produkty stojí obvykle na licenčních poplatcích za poměrně veliké peníze a to s omezením na uživatele, instance, konektory apod., což je pro zákazníky limitující.Váš názor chápu. Na druhou stranu to o své nabídce tvrdí každý.
Pro pripadne dalsi opozdene zabloudilce. Samozrejme, ze kdyz mi dodavatel da k programu zdrojove kody, tak je to OpenSource software. Ze ty si OpenSource pojem pletes s FreeSoftware/SvobodnymSoftwarem je tvuj osobni problem ("Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer." R.M. Stallman). Takze CzechIdM je OpenSource, ale neni to FreeSoftware/Svobodny a nema "free software license" - svobodnou licenci. Tenhle zpusob je nahodou dost dobry zpusob, jak vydelavat, ale pritom zakaznikovi garantovat za jeho penize skutecne produkt. V pripade dodani binarniho blobu se zakaznik nemuze rozhodnout nechat si udelat upravy od nekoho jineho. Takhle ma aspon za sve penize neco v ruce. A poskytnuti zdarma v pripade objednavky implementacnich sluzeb je taky super, takhle to delaji i ostatni.CzechIdM meumožňujeme poskytnout třetí osobě nebo dceřiným společnostem.Tedy není opensource (určitě ne ve smyslu, v jakém se to používá zde na Abclinuxu). Díky za odpověď, a prosím, abyste přestali ten software za opensource vydávat.
Pro pripadne dalsi opozdene zabloudilce. Samozrejme, ze kdyz mi dodavatel da k programu zdrojove kody, tak je to OpenSource software. Ze ty si OpenSource pojem pletes s FreeSoftware/SvobodnymSoftwarem je tvuj osobni problem ("Free software is a matter of liberty, not price. To understand the concept, you should think of free as in free speech, not as in free beer." R.M. Stallman).Je velmi pochybné používat jako jediný zdroj hlavního představitele víceméně konkurenčního tábora. Já bych spíš citoval:
Open source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:(http://www.opensource.org/docs/osd) Používat pojem open source v jiném významu, než ve kterém byl zaveden, a následně někoho označovat za opožděného zabloudilce, mi přijde nanejvýš pochybné a hloupé.
O konkurenční definici open source od FSF a od OSI jsem se tu již několikrát pohádali. Vzhledem k tomu, že FSF má delší historii, považuji za právoplatnou verzi od FSF – že open source nezahrnuje právo na redistribuci.Citation needed.
FSF ani RMS a svobodný software do toho ani nemusíš tahat. Přečti si definici otevřeného softwaru / Open Source.
Tedy není opensourceano, to není
určitě ne ve smyslu, v jakém se to používá zde na Abclinuxusmysl je jen jeden -- definice mluví jasně -- taková licence porušuje hned první bod a nejedná se o open source / otevřený software (ani o free software / svobodný software).
Díky za odpověď, a prosím, abyste přestali ten software za opensource vydávat.Souhlas -- přesně takový marketing firem, které se snaží na open sourcu přiživit, mu dělá dělá špatné jméno. Lidi si pak budou stěžovat, že to byl přece "open source", ale nemohli s tím dělat to a to... přitom kdyby to open source (resp. svobodný software) byl, tak by to dělat mohli. Na druhou stranu jejich přístup* dokážu pochopit a považuji ho za mnohem slušnější a přívětivější než přístup používaný u jiného proprietárního softwaru (uživatel nemá ani zdrojáky natož právo je měnit). *) to, že zvolili restriktivní licenci. Pro zneužívání pojmu "open source" (pokud se tak děje) pochopení nemám, to je neomluvitelné.
Souhlas -- přesně takový marketing firem, které se snaží na open sourcu přiživit, mu dělá dělá špatné jméno. Lidi si pak budou stěžovat, že to byl přece "open source", ale nemohli s tím dělat to a to... přitom kdyby to open source (resp. svobodný software) byl, tak by to dělat mohli.Ono to nakonec (doufám) uškodí i samotné firmě. Pokud je to totiž součástí oficiálního marketingu, budou to někteří obchodní partneři právem vnímat jako podvod.
*) to, že zvolili restriktivní licenci.To taky chápu.
Pro zneužívání pojmu "open source" (pokud se tak děje) pochopení nemám, to je neomluvitelné.Souhlas.
Abychom uspokojili všechny, rozhodli jsme se urychlit vydání CzechIdM i pod licencí dle OSI tedy včetně volné redistribuce. Tedy pokud zákazník projeví zájem, dostane možnost pořídit CzechIdM s Open source licencí dle OSI. Open source licence vždy byla a je naším záměrem. Připravujeme i zveřejnění SW/kódu komunitě.To je pro mě rovněž velké překvapení. Jen bych rád připomněl, že jsem nikde nekritizoval, že software není licencován podle OSI. Ale samozřejmě si počkám na výsledek. Pokud plánujete vydat SW jako opensource, tak mě docela hodně zajímá, jak bude vypadat ochrana vaši investice do tohoto opensource.
Děkuji všem za reakce. Tímto považuji téma k licencím zde za vyčerpané, veškeré další dotazy k tomuto tématu směřujte prosím pouze na můj mail.Já myslím, že je to zajímavé pro všechny, takže zatím nemám důvod psát cílené maily. Nastavit upozorňování na příspěvky mailem je zde na Abclinuxu triviální.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.