Správa MS Active Directory a Exchange 2010 pomocí CzechIdM

Nedávno jsme pro našeho zákazníka napojovali na Identity Manager CzechIdM systémy MS Active Directory spolu s MS Exchange 2010. Uživatelské účty v doméně a e-mailové schránky již budou spravovány automatizovaně, což ušetří čas administrátorům těchto systémů a zajistí vždy aktuální data podle personalistiky. Náš zákazník měl i některé specifické požadavky, o jejichž řešení se s vámi ráda podělím v tomto článku.

Napojení na CzechIdM

K napojení MS Active Directory (AD) a MS Exchange jsme použili konektory vyvíjené v rámci projektu OpenICF. Princip fungování a postup instalace Exchange Connectoru už přehledně popsal Vojta Matocha ve svém článku. Jak jsem předeslala v úvodu, v tomto článku se budu věnovat řešení některých specifických požadavků při správě účtů, které vyžadují třeba i úpravu použitého konektoru.

Správa účtů v child doménách

Náš zákazník je velká instituce, pod kterou patří několik samostatných součástí. Přímí zaměstnanci hlavní instituce mají účty v hlavní doméně, nazvěme ji třeba instituce.cz, každá samostatná součást pak používá vlastní child doménu, řekněme soucast.instituce.cz. Na toto však konektor v základní konfiguraci není připraven. Co je třeba udělat pro správu účtů v child doménách?

clanek

  • Konektor přidává do všech volaných PowerShellových příkazů i parametr DomainController, jehož hodnotu standardně bere z konfigurace napojeného systému (konkrétně Active Directory Domain Controller Hostname). Do parametru DomainController je však nutné vyplňovat hostname doménového řadiče té domény, v níž chceme danou akci provést, v našem příkladu to bude dc.soucast.instituce.cz. Do konfigurace koncového systému v CzechIdM jsme proto přidali atribut DomainController a plníme ho pravidlem, které dynamicky zjišťuje, do jaké (child) domény má uživatelský účet patřit.
  • Administrátorský účet, pod kterým se CzechIdM hlásí do AD, musí být navíc ve skupině Enterprise Admins (na doméně instituce.cz) a Domain Admins (na soucast.instituce.cz). Jinak vás čekají nicneříkající hlášky jako „The server is unwilling to process the request“ či „No provisioning handler is installed“.
  • Schéma child domény musí být připraveno na Exchange. Toto obvykle provádí administrátor AD už při instalaci Exchange, ale například na testovacím prostředí to nemusí být vždy samozřejmostí. Pak byste viděli chybu „Could not find any available Domain Controller in domain DC=soucast,DC=instituce,DC=cz“

Při správě účtů musíme mít dále na paměti, že se účty v AD nedají jen tak přesouvat mezi doménou a child doménou. K tomu by musely být nainstalovány speciální nástroje Active Directory Migration Tools, jinak nás nemine výjimka „DirectoryServicesCOMException: A device attached to the system is not functioning“. Náš zákazník však přesun účtů mezi doménami nepoužívá, proto se AGMT tento článek dál nezabývá.

Databáze pro mailbox

Máme-li mnoho uživatelů s e-mailovými účty, vyplatí se vytvořit více databází pro mailboxy, které si zátěž rozloží. Mailboxy můžeme například ukládat do dvou databází na základě prvního písmena příjmení uživatelů. Příjmení však není neměnný údaj, obzvlášť u žen, proto je třeba umět přesouvat mailboxy mezi databázemi.

V MS Exchange se o přesun mailboxu musí žádat příkazem New-MoveRequest. Exchange pak přesun během několika minut vykoná. Před dalším případným přesunem mailboxu musíme nejprve smazat původní požadavek pomocí Remove-MoveRequest. V PowerShellu to celé vypadá takto:

Remove-MoveRequest -Identity 'test@instituce.cz'                       // Odstranění starého požadavku
New-MoveRequest -Identity 'test@instituce.cz' -TargetDatabase DB_A_K   // Vytvoření nového požadavku
Get-MoveRequestStatistics -Identity 'test@instituce.cz'                // Zjištění stavu přesunu

Tuto funkcionalitu jsme do Exchange Connector přidávali, jeho aktuální verze totiž přesun nepodporuje. Konektor jsme rozšířili o první dva PowerShellové příkazy, přičemž u Remove-MoveRequest jsme navíc přidali parametr Confirm=false, aby se nesnažil být interaktivní. Do napojení koncového systému v CzechIdM jsme pak přidali atribut TargetDatabase, který vyplňujeme vždy a shodně s atributem Database, naopak homeMDB (celé DN databáze mailboxu) už pouze čteme a explicitně neupravujeme.

E-mailové aliasy

Každý e-mailový účet v Exchange má jednu primární e-mailovou adresu a libovolný počet dalších e-mailových aliasů. V napojení systému v CzechIdM se adresy plní pomocí atributů ExternalEmailAddress a proxyAddresses; neuděláte chybu, pokud vyplníte oba. Správnou hodnotou je seznam adres s předponami „SMTP:“ (primární) resp. „smtp:“ (ostatní). Primární adresa se dále nastavuje i v atributu PrimarySmtpAddress, tam už ji ovšem vyplňujeme bez předpony.

Thumbnail photo

Thumbnail photo je obrázek, který se v AD ukládá v atributu thumbnailPhoto jako pole bytů. Tento obrázek pak používají některé aplikace integrované s AD, např. v Exchange se obrázek zobrazí ve „vizitce“ uživatele, který vám poslal e-mail.

AD konektor jsme rozšířili tak, aby CzechIdM v atributu thumbnailPhoto mohlo posílat cestu k souboru s fotkou, přičemž konektor tento soubor načte a jeho obsah jako pole bytů předá do AD. K tomu stačí pouze rozšířit třídu CustomAttributeHandler o nový handler pro atribut thumbnailPhoto.

Oprávnění administrátorského účtu

Na závěr neuškodí malá rekapitulace oprávnění, které administrátorský účet potřebuje, aby mohl správně zakládat účty v AD a mailboxy v Exchange, a to na všech částech doménového stromu. Toto je oblast, se kterou jsme poměrně dlouho bojovali, a jistě jsme nebyli sami. Nyní víme, že vše funguje, je-li administrátor členem těchto skupin:

  • instituce.cz:
    Discovery Management, Domain Admins, Domain Users, Exchange Organization Administrators, Exchange Public Folder Adiministrators, Exchange Recipient Administrators, Exchange View-Only Administrators, Group Policy Creator Owners, Schema Admins, Enterprise Admins
  • soucast.instituce.cz:
    Domain Admins

Závěr

V tomto článku jsem popsala některé detaily napojení MS Active Directory a Exchange 2010 na CzechIdM. Pokud vás toto téma zajímá hlouběji nebo pokud uvažujete o automatizované správě uživatelských účtů na Active Directory či Exchange u vaší společnosti, neváhejte mě kontaktovat na adrese info@bcvsolutions.eu.