CzechIdM a Exchange 2007

U jednoho našeho zákazníka se rozhodli přejít z dnes už poměrně zastaralého mailserveru MS Exchange 2003 na novější verzi MS Exchange 2007. O uživatelské účty v informačním systému se už několik let stará Identity Management – na mailserveru zakládá a aktualizuje účty, nepoužívané účty blokuje. Pojďme se podívat, co migrace znamenala pro Identity Mangement CzechIdM, jaké úpravy jsme museli provést a čím se Exchange 2007 od Exchange 2003 z hlediska napojení liší.

schemata

Konektory

CzechIdM může ke všem spravovaným systémům přistupovat stejně: k databázové tabulce stejně jako k adresářové struktuře, excelové tabulce nebo třeba SAPu. Uživatelský účet na sebesložitějším systému je totiž z pohledu CzechIdM tvořen jen jistým seznamem dvojic „atribut“ – „hodnota“. Jednotné rozhraní nad všemi typy systémů našemu CzechIdM poskytují takzvané konektory, speciální knihovny napsané zpravidla v Javě nebo v C#. Ty se postarají o poslední krok komunikace mezi CzechIdM a napojeným systémem – je to jakási vrstva vložená mezi systém a CzechIdM, díky které mohou CzechIdM i napojený systém komunikovat způsobem, na který jsou zvyklé.

Některé konektory, které používáme, vznikly v rámci open-source projektu OpenICF. Jiné, hlavně pro složitější systémy, píšeme běžně na míru zákazníkovi.

Active Directory konektor versus Exchange konektor

U zákazníka jsme až dodnes komunikovali s MS Exchange prostřednictvím takzvaného Active Directory konektoru, který se kromě účtů na mailserveru postará i o celý uživatelský účet v doméně. Z pohledu programátora je Active Directory konektor speciální třída napsaná v jazyce C#, jejímž prostřednictvím přistupuje CzechIdM k doménovému řadiči. Nic víc ovšem neumí. Když dostane seznam atributů, zapíše je do příslušného záznamu na doménovém řadiči. Některé atributy na doménovém řadiči slouží pro MS Exchange 2003 a jejich prostřednictvím je možné uživateli založit novou schránku nebo aktualizovat tu současnou.

Exchange 2007 se od verze 2003 liší mimo jiné tím, že tento přístup nefunguje. Když prostřednictvím Active Directory konektoru vyplníte atributy jako obvykle, schránka se sice založí, ale je starého typu „Legacy Mailbox“, nikoli nového „User Mailbox“. Čím se typy liší? V mnoha podstatných maličkostech: do „Legacy Mailbox“ se například nepřihlásíte z webového rozhraní. Což je docela trápení, jak sami jistě uznáte. Naštěstí na tuto novinku vzniklo v rámci projektu OpenICF řešení: speciální Exchange konektor.

Ten z Active Directory konektoru vychází, coby třída v jazyce C# od původního Active Directory konektoru přímo dědí. Umí tedy všechno to, co uměl Active Directory konektor, a k tomu něco navíc. Oproti Active Directory konektoru především nepřistupuje jen doménovému řadiči. Namísto toho spouští skripty v Windows Power Shellu, což mu dává daleko větší moc.

Jak konfigurovat Exchange Connector

Pokud chcete stejně jako já přejít z fungujícího napojení přes Active Directory konektor na nové napojení používající Exchange konektor, budete si muset na několika místech dát pozor:

  1. Exchange konektor používá Power Shell a v něm konkrétně Exchange Management Tools. Zkontrolujte si, že je máte na serveru nainstalované, jinak se konektor bude domáhat modulu Microsoft.Exchange.Management.PowerShell.Admin a se systémem nenaváže spojení.
  2. Oproti staršímu Active Directory konektoru má Exchange konektor bohatší schéma atributů. Nejdůležitějším z nich je atribut „recipientType“. Je typu String a vy do něj standardně budete zapisovat konstantu „UserMailbox“. Jen tak se založí účet v doméně s aktivní e-mailovou schránkou. Navíc budete muset vyplnit atribut „Database“: pošlete do něj řetězec s distinguished name databáze, ve které se má účet založit (například: CN=Mailbox Database 123456789,CN=Databases,CN=Exchange Administrative Group(ABCDEFG1234567),CN=Administrative Groups,CN=ABC Org,CN=Microsoft Exchange,CN=Services,CN=Configuration,DC=ABC,DC=COM). Oba atributy jsou povinné, bez nich skončí založení účtu chybou.
  3. Pokud chcete nadále vyplňovat atribut „mailNickname“, máte smůlu. Exchange ho vygeneruje sám podle hodnoty v atributu „sAMAcountName“. Když se budete snažit do konektoru nějakou hodnotu poslat, bude po vás házet výjimkami.

Závěr

Migrace z Exchange 2003 na Exchange 2007 znamená pro CzechIdM výměnu konektoru ze staršího Active Directory konektoru na novější Exchange konektor a přenastavení některých atributů. V zásadě to ovšem není nic těžkého; kdybyste chtěli poradit nebo potřebovali pomoc, můžete mi napsat na vojtech.matocha@bcvsolutions.eu. Přeji pěkný podzim!

1 komentář u „CzechIdM a Exchange 2007