Jak synchronizovat on-prem AD účty s existujícími účty v Entra ID

Máte stávající uživatele Entra ID (Azure AD), kteří používají Office 365 a potřebujete je synchronizovat s místní službou Active Directory? Nebo naopak, potřebujete stávající uživatele v Active Directory propojit s již existujícími uživateli v Microsoft 365?

V tomto návodu ukážu postup, jak synchronizovat místní uživatele AD se stávajícími uživateli Entra ID / Azure AD.

Obsah

Výchozí stav

V tomto případě mám již existující uživatele v místní Active Directory:

Propojení existujících uživatelů v Active Directory a Microsoft 365

V Microsoft 365 mám stejné 2 uživatele, kteří jsou nyní v režimu Cloud Only (Sync status = In cloud)

Tyto uživatele bych rád propojil. Důvod je prostý, mít jeden uživatelský účet pro daného zaměstnance, tedy jeden login, jedno heslo, propojená identita.

Pokud propojení provedu špatně, uživatelské účty budu mít v Microsoft 365 2x. Jeden účet zůstane ten stávající a druhý účet vznikne duplicitní, již propojený na uživatele v Active Directory.

Soft match nebo Hard match?

Existují dvě možnosti, jak existující účty v Active Directory propojit s uživateli v cloudu.

Soft Match

  • Jedná se metodu, která je založena na přesné shodě e-mailu, userPrincipalName a proxyAddress.
  • Tato možnost se snáze implementuje, pokud máte hodně uživatelů, které potřebjete synchronizovat s Azure.
  • Nevýhodou je, že tato metoda může být za určitých okolností méně spolehlivá. Je to dáno zejména případy, kdy nemáte v Active Directory zrovna pořádek, nebo máte pozůstatky po akcích typu „Metoda pokus – omyl“

Hard Match

  • Jedná se metodu, která používá tzv. Immutable ID (neměnné ID) uživatele, které slouží jako propojovací prvek
  • Metoda vyžaduje několik kroků a implementace pro více uživatelů může být složitější
  • Je založena na přesné shodě ID, tedy jedná se o vysoce přesnou metodu

Synchronizace uživatelů z Active Directory pomocí Soft Match

U každého místního uživatelského účtu budete muset upravit následující tři atributy v místní Active Directory

  • UserPrincipalName (přihlašovací jméno)
  • E-mail
  • proxyAddresses
1. Sjednocení UPN (UserPrincipalName)

UserPrinicpalName místního účtu Active Directory se musí shodovat s uživatelským jménem účtu Microsoft 365.

Například uživatelské jméno uživatele „Tomáš Marný Soft Match“ je tomasmarny@domena.cz.

V Microsoft 365 Admin centru lze UPN nastavit v sekci UživateléAktivní uživatelé a následně otevřít detail uživatele.

Microsoft 365 - Sjednocení UPN (UserPrincipalName)

V místní Active Directory se UPN nastaví pomocí nástroje ADUC (Active Directory Users and Computers), ve kterém je potřeba otevřít vlastnosti uživatele (Properties) a jít do záložky Účet (Account)

Active Directory - Sjednocení UPN (UserPrincipalName)

Uživatelská jména se musí v obou případech shodovat

2. Nastavení parametru E-mail

E-mail místního uživatelského účtu se musí shodovat s účtem v Microsoft 365. Ve vlastnostech uživatele klikněte na kartu General (Obecné) a vyplňte pole E-mail.

3. Nastavení atributu proxyAddresses

Klikněte na záložku editoru atributů a poté najděte atribut proxyAddresses. Přidejte primární adresu SMTP pomocí velkého SMTP.

Pokud má uživatel aliasy, přidejte je také.

4. Vynucení synchronizace

Pokud jste si jisti, že máte všechny tři parametry nastaveny správně, můžete ručně spustit synchronizaci. Pokud jste před touto akcí přepnuli Entra Connect to Staging mode, tak jej vypněte.

Pokud Entra Connect (dříve AD Connect) ještě nemáte nainstalovaný, nyní jej můžeze nainstalovat a spustit.

Synchonizaci ručně spustíte pomocí PowerShell příkazu, který spustíte na serveru, na kterém je Entra Connect nainstalován.

Start-ADSyncSyncCycle -PolicyType Delta

Jakmile synchronizace proběhne, je potřeba zkontrolvat, jak naše snažení dopadlo. Kontrolu provedeme pomocí Azure AD Connect Synchronization Service Manager, který se nachází na serveru, na kterém je Entra Connect nainstalován.

Nejprve zkontrolujte, zda byl objekt synchronizován a nevyskytly se žádné chyby.

Klikněte na Distinguished Name a pak Properties

Ověřte synchronizované údaje a hlavně zkontrolujte, že byla nastavena hodnota atributu sourceAnchor.

Poslední co zbývá, je provést kontrolu v Microsoft 365 Admin Centru.

Než přejdete do centra pro správu Microsoft 365 a zkontrolujete stav synchronizace, je dobré počkat přibližně 5-10 minut, než se změny projeví.

Centrum pro správu Microsoft 365 zobrazuje stav synchronizace jako Synced from on-premises (synchronizovaný z místního prostředí).

Funguje to. Účet „Tomáš Marný Soft Match“ se nyní zobrazuje jako synchronizovaný z místní Active Directory.

Je potřeba myslet na to, že tato metoda ne vždy funguje a ke případnému zdvojení účtů může docházet. Jedinou možností, jak toto riziko eliminovat je použití metody Hard Match.

Synchronizace uživatelů z Active Directory pomocí Hard Match

Pokud metoda Soft Match nefunguje, budete muset použít metodu Hard Match.

Metoda Hard Match spočívá v nastavení immutableID v Azure AD (Entra ID) na stejnou hodnotu jako on-prem objectGUID.

1. Získání ObjectGUID pro uživatelský účet v místní Active Directory

Spusťte PowerShell jako správce a použijte příkaz Get-ADUser, abyste získali objectGUID uživatele.

Get-ADUser "prokop.buben" | fl UserPrincipalName,objectGUID

# nebo můžete hledat podle UserPrincipalName
Get-ADUser -Filter { UserPrincipalName -eq "prokop.buben@domena.cz" } | fl UserPrincipalName, objectGUID
2. Konverze objectGUID řetezec kódovaný base64
#v závorce je objectGUID
[Convert]::ToBase64String([guid]::New("cbb75926-b4bc-xxxx-xxxxc-xxxxx113904aa").ToByteArray())

Výstupem z výše uvedeného příkladu bude takový řetězec:

Jlm3y7y0bXXXXXXXXTkEqg==

Další užitečné příkazy, které nejsou nutné pro tento postup, ale obecně by se mohly hodit:

# konverze z immutableID na objectGUID
[GUID][system.convert]::FromBase64String("Jlm3y7y0bXXXXXXXXTkEqg==")

# Získání immutableID z EntraID pomocí MS Graph
Connect-MgGraph -Scopes "User.ReadWrite.All"

Get-MgUser -UserId "prokop.buben@domena.cz" -Property OnPremisesImmutableId, UserPrincipalName | fl UserPrincipalName, OnPremisesImmutableId
3. Uložení base64 řetězce do Entra ID
# pokud ještě nemáte nainstalovaný modul MSOnline, použijte příkaz níže
Install-Module MSOnline

# připojení k EntraID
Connect-MsolService

Získání aktuální hodnoty ImmutableID

Get-Msoluser -UserPrincipalName prokop.buben@domena.cz | Select-Object ImmutableId

Pokud immutableID obsahuje hodnotu, je potřeba tuto hodnotu porovnat s hodnotou, kterou jsme získali konverzí objectGUID do base64 formátu.

V mém případě je hodnota immutableID prázdná, což je v pořádku.

4. Nastavení hodnoty immutableID pro účet v Entra ID

Pomocí příkazu níže uložte hodnotu immutableID. Jedná se o hodnotu (řetězec), který byl získán konverzí v bodu 2.

Set-MsolUser -UserPrincipalName prokop.buben@domena.cz -ImmutableId Jlm3y7y0bXXXXXXXXTkEqg==

Pomocí příkazu Get-MsolUser proveďte zpětnou kontrolu

Poud je hodnota immutableID uložena, nezbývá nic jiného, než spustit synchronizaci a nastavení otestovat.

Pokud Entra Connect (dříve AD Connect) ještě nemáte nainstalovaný, nyní jej můžeze nainstalovat a spustit.

Synchonizaci ručně spustíte pomocí PowerShell příkazu, který spustíde na serveru, na kterém je Entra Connect nainstalován.

Start-ADSyncSyncCycle -PolicyType Delta

A stejně jako u metody Soft Match, zbývá provést kontrolu v Microsoft 365 Admin Centru.

Než přejdete do centra pro správu Microsoft 365 a zkontrolujete stav synchronizace, je dobré počkat přibližně 5-10 minut, než se změny projeví.

Centrum pro správu Microsoft 365 zobrazuje stav synchronizace jako Synced from on-premises (synchronizovaný z místního prostředí).

Povedlo se. Účet v místní Active Directory se úspěšně propojil s účtem v Entra ID.

Tento postup je poněkud složitější, ale spolehlivější. Určitě je mnoho způsobů, jak přenos konvertované hodnoty objectGUID do EntraID, například pomocí proměnných a cyklu nebo exportem do CSV a následným importem. Každý si jistě poradí, jak nejlépe umí.

Závěrem

Rád bych ještě zmínil, že v postupu zmíňuji modul MSOnline (verze 1) avšak Microsoft doporučuje použití PowerShell modulu Azure Active Directory V2.

Pokud vám tento návod pomohl, budu rád, když jej budete sdílet dál nebo se podívejte třeba na to, jak přesunout AD Connect na nový server.

Napsat komentář