
Keycloak a Active Directory: prepojenie cez LDAP
Keycloak a Active Directory / LDAP: ako prepojiť firemné účty so SSO
Väčšina firiem, ktoré uvažujú o SSO, má jedno spoločné: už spravujú používateľov niekde inde. Najčastejšie v Active Directory – adresári, cez ktorý zamestnanci pristupujú k počítačom, súborovým serverom a firemnej sieti.
Dobrá správa: Keycloak sa na Active Directory alebo LDAP napojí priamo. Používateľov nemusíte prepisovať ručne ani udržiavať dve oddelené databázy účtov. Keycloak si identitu používateľa načíta z AD – a o zvyšok sa postará sám.
Čo to v praxi znamená
Keď prepojíte Keycloak s Active Directory, používatelia sa do všetkých SSO aplikácií prihlasujú rovnakými údajmi, ktoré poznajú z prihlasovania do Windows. Žiadne nové heslá, žiadna synchronizácia v Exceli, žiadne „zabudol som heslo do tej novej aplikácie“.
Z pohľadu IT oddelenia sa nič zásadne nemení: používateľov stále vytvárate, meníte a odoberáte v Active Directory, ako ste zvyknutí. Keycloak tieto zmeny automaticky odráža.
Odíde zamestnanec? Deaktivujete ho v AD a stratí prístup ku všetkým SSO aplikáciám – s krátkymi access tokenmi prakticky okamžite, bez toho, aby ste ho museli mazať v každej aplikácii zvlášť.
Toto je jedna z najväčších praktických výhod SSO v spojení s Active Directory: offboarding sa stane jednorazovou operáciou, nie kontrolným zoznamom.
LDAP a Active Directory: jeden mechanizmus, rôzne prostredia
Active Directory je adresárová služba od Microsoftu – systém, ktorý uchováva informácie o používateľoch, počítačoch a skupinách vo firme. LDAP je protokol, cez ktorý sa komunikuje s adresárovými službami. Active Directory protokol LDAP podporuje.
Z pohľadu Keycloaku je to to isté: prepojenie funguje rovnako pre Active Directory aj pre iné LDAP adresáre, ako sú OpenLDAP alebo FreeIPA. Líšia sa len detaily nastavenia, nie základný princíp.
Keycloak v predvolenom nastavení používateľov z AD importuje do svojej lokálnej databázy – profil používateľa sa vytvorí pri prvom prihlásení, takzvaným lazy importom.
Keycloak heslá do svojich databáz neukladá – pri prihlásení ich preposiela priamo do AD cez šifrované LDAP spojenie.
Import možno vypnúť. V tom prípade Keycloak overuje každú požiadavku priamo voči AD.
To je dobrá správa z hľadiska bezpečnosti: nepridávate ďalšie miesto, kde by citlivé dáta mohli uniknúť.
Ako prepojenie vyzerá krok za krokom
Nastavenie sa vykonáva v administrátorskom rozhraní Keycloaku a nevyžaduje žiadne zmeny na strane Active Directory – okrem jednej veci.
Servisný účet v AD
Keycloak potrebuje v Active Directory účet, cez ktorý bude vykonávať dopyty. Ide o technický účet – používatelia ho nikdy neuvidia ani s ním nebudú pracovať.
Stačí mu oprávnenie na čítanie adresára: vidieť používateľov a skupiny, nič viac.
Heslo tohto účtu by nemalo expirovať, inak vám v neočakávanom okamihu prestane fungovať prihlasovanie.
Konfigurácia v Keycloaku
V nastavení Keycloaku nadefinujete, kde AD hľadať: adresu servera, šifrované pripojenie, účet na prihlásenie a miesto v adresárovom strome, kde sú používatelia a skupiny.
Keycloak potom overí, že sa dokáže pripojiť na AD, a overí, že testovacieho používateľa v adresári nájde. Ak oboje prejde úspešne, prepojenie funguje.
Šifrované pripojenie je povinné. Nešifrovaná komunikácia s AD prenáša heslá po sieti v čitateľnej podobe – v produkčnom prostredí je to neprijateľné riziko.
Mapovanie atribútov
Active Directory uchováva o každom používateľovi množstvo informácií: prihlasovacie meno, meno a priezvisko, e-mailovú adresu, oddelenie, telefónne číslo.
Keycloak si prevezme tie atribúty, ktoré potrebuje – štandardne prihlasovacie meno, celé meno a e-mail.
Ak vaše aplikácie potrebujú viac, napríklad oddelenie na pridelenie prístupu alebo interné ID zamestnanca, nastavíte to ako rozšírenie.
Skupiny a roly
Skupiny z Active Directory možno namapovať do Keycloaku vrátane prípadnej vnorenej hierarchie. Vyžaduje to však explicitnú konfiguráciu Group LDAP Mapperu.
To je praktické: ak v AD máte skupiny ako „Finance“, „HR“ alebo „IT Admins“, nemusíte prístupové práva v Keycloaku nastavovať od nuly.
Namapujete skupiny na roly a prístupové práva v aplikáciách sa nastavia automaticky.
Synchronizácia: aké aktuálne sú dáta
Pri každom prihlásení Keycloak overí prihlasovacie údaje priamo voči AD – účet musí existovať a byť aktívny.
Profilové dáta, ako meno, e-mail alebo skupiny, sa pri zapnutom importe čítajú z lokálnej databázy Keycloaku a aktualizujú podľa nastaveného synchronizačného cyklu.
Pre ešte rýchlejšie prihlasovanie a odolnosť voči výpadku AD je vhodné nastaviť pravidelnú synchronizáciu používateľov do databázy Keycloaku. Máte dve možnosti.
Úplná synchronizácia
Keycloak raz denne, typicky v noci, stiahne všetkých používateľov z AD.
Hodí sa pre menšie firmy alebo prostredia, kde sa adresár nemení príliš často.
Priebežná synchronizácia zmien
Keycloak každú hodinu stiahne len tých používateľov, u ktorých sa od poslednej synchronizácie niečo zmenilo.
To je vhodné pre väčšie firmy s tisíckami používateľov, kde by úplná synchronizácia trvala príliš dlho.
Dôležité upozornenie: priebežná synchronizácia zmien nezachytí vymazaných používateľov.
Ak zamestnanec odíde a vy ho v AD vymažete namiesto deaktivácie, Keycloak sa to dozvie až pri najbližšej úplnej synchronizácii.
Preto odporúčame účty v AD skôr deaktivovať než mazať – a úplnú synchronizáciu spúšťať aspoň raz denne.
Prihlasovanie bez hesla na počítačoch s Windows
Ak vaši zamestnanci pracujú na počítačoch pripojených do firemnej domény Windows, môžete im ponúknuť ešte pohodlnejšie prihlasovanie: prídu do firemnej aplikácie a sú automaticky prihlásení – bez prihlasovacej stránky, bez zadávania hesla.
Funguje to preto, že Windows pri prihlásení do domény vydá pre používateľa kryptografický doklad identity, takzvaný Kerberos tiket.
Prehliadač tento doklad automaticky predloží Keycloaku, ktorý ho overí a používateľa pustí dovnútra.
Z pohľadu používateľa to vyzerá ako mágia – príde na interný portál alebo do aplikácie a je okamžite prihlásený. V skutočnosti Windows a Keycloak spolupracujú na pozadí a prihlasovanie za používateľa vyriešia samy.
Táto funkcia funguje pre používateľov v kancelárskej sieti alebo na VPN. Používatelia pristupujúci z domu cez osobný počítač uvidia štandardný prihlasovací formulár.
Nastavenie vyžaduje súčinnosť s Active Directory: vytvorenie špeciálneho servisného účtu, vygenerovanie súboru keytab s kryptografickými kľúčmi účtu a nastavenie Keycloaku.
Ak vaša firma túto funkciu zvažuje, je dobré ju zahrnúť do rozsahu implementačného projektu od začiatku – doplniť ju spätne sa dá, ale je to krok navyše.
Na čo si dať pozor
Heslo servisného účtu nesmie expirovať
Je to jedna z najčastejších príčin nečakaných výpadkov prihlasovania. Nastavte heslo servisného účtu tak, aby nikdy nevypršalo – alebo si do monitoringu pridajte upozornenie, keď sa blíži jeho expirácia.
Synchronizujte len atribúty, ktoré skutočne potrebujete
Každý atribút, ktorý prenesiete z AD do Keycloaku, je ďalšie miesto, kde ležia dáta o zamestnancoch.
Menej je viac – synchronizujte len to, čo aplikácie reálne využívajú.
Pripojte sa cez šifrované spojenie
Nešifrovaná komunikácia s AD je bezpečnostné riziko. Vždy požadujte šifrované spojenie – váš AD administrátor by mal mať príslušný certifikát k dispozícii.
Testujte offboarding, nielen onboarding
Väčšina tímov otestuje, že sa nový zamestnanec dokáže prihlásiť. Málokto otestuje, čo sa stane pri deaktivácii účtu v AD.
Otestujte to explicitne – overte, že deaktivovaný používateľ stratí prístup do všetkých aplikácií.
Rýchlosť odobratia závisí od platnosti existujúcich tokenov: s krátkymi access tokenmi, napríklad 5 minút, je odozva prakticky okamžitá. S dlhšími tokenmi alebo session cookies môže trvať dlhšie.
Zložitejšie scenáre
Základné prepojenie jedného AD s Keycloakom je štandardný projekt. Existujú však situácie, ktoré vyžadujú viac premýšľania.
Viac AD domén
Typicky firmy po akvizícii alebo s medzinárodnou štruktúrou. Keycloak zvláda federáciu z viacerých adresárových zdrojov naraz, ale nastavenie vyžaduje dôkladné plánovanie, najmä ak sa používatelia v rôznych doménach prekrývajú.
Migrácia z iného systému
Prechod z existujúceho SSO riešenia na Keycloak. Dáta používateľov zostávajú v AD, ale migrácia konfigurácie aplikácií a prístupových práv je projekt sám osebe.
Hybridné prostredie
Kombinácia on-premise AD a cloudových identít, napríklad Microsoft Entra ID, predtým Azure AD, alebo Google Workspace.
Keycloak dokáže fungovať ako broker, ktorý prepája oba svety.
Ak riešite niektorý z týchto scenárov, radi sa s vami pozrieme na konkrétnu situáciu.



