www.SAMURAJ-cz.com 

24.10.2021 Nina Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Hybrid Azure AD Join

Středa, 02.06.2021 15:07 | Samuraj - Petr Bouška |
Registrace počítačů a dalších zařízení (jako jsou mobilní telefony) do Azure AD nám může přinést různé výhody. Krátce zmíníme základní možnost Azure AD Device Registration. Dále se budeme věnovat Hybrid Azure AD Join. Kdy máme počítače připojené k On-Premises AD doméně, jejich účty synchronizujeme do Azure AD a počítače se zaregistrují do Azure AD. Mohou pak využívat výhody obou prostředí. V Azure AD funguje SSO a podmíněný přístup (Conditional Access).

Úvod Active Directory

Dvě verze Active Directory (AD):

  • On-Premises AD - interní/lokální adresářové služby, Active Directory Domain Services (AD DS), využívá Forest a Domain, zařízení jsou Domain Joined, v článku většinou označujeme jako AD DS
  • Azure AD - cloudové adresářové služby, využívá Tenant, zařízení jsou Azure AD Joined, v článku označujeme jako Azure AD

Identita zařízení v Azure AD

Pro zabezpečení a administraci aktiv musíme spravovat identitu zařízení (Device Identities). Díky Device Identity Management můžeme použít device-based Conditional Access a řídit přístup pouze ze spravovaných zařízení.

Abychom dostali zařízení do Azure AD, tak máme tři možnosti:

  • Azure AD Joined - zařízení je zařazeno pouze do Azure AD (cloud-only), přihlašujeme se firemním Azure AD účtem
  • Hybrid Azure AD Joined - zařízení je zařazeno do AD DS i Azure AD, můžeme využít výhody obou prostředí, přihlašujeme se firemním AD DS účtem replikovaným do Azure AD
  • Azure AD Registered - může jít o soukromé zařízení či firemní (volitelně zařazené do AD DS), na něm pracujeme lokálním či doménovým (AD DS) účtem, ale máme připojený firemní Azure AD účet, podporováno pro Windows 10, iOS, Android a MacOS, označuje se také jako Workplace Joined

Pozn.: Hybrid Azure AD Joined zařízení nemají v Azure AD přiřazeného vlastníka (Owner) a nezobrazují se u uživatele mezi jeho zařízeními.

Spravovaná zařízení

Spravovaná zařízení (Managed Devices) jsou ta, která mají objekt v Azure AD Tenantu. To znamená, že jsou registrovaná (Registered) nebo připojená (Joined) do Azure AD. Hybridní stav je validní, pokud je přihlášen validní Azure AD uživatel. To dává uživatelům možnost využít Azure AD Single Sign-On (SSO) ke cloudovým zdrojům. Zařízení Windows 10 získávají Primary Refresh Tokens (PRT), který dovoluje využít SSO mezi aplikacemi. Starší OS využívají Seamless SSO.

Některé informace zmiňují, že registrované zařízení musí být navíc označeno jako Compliant (od MDM, třeba Intune), aby bylo bráno jako spravované.

Azure AD Registration

Stručně popíšeme, jak zařízení (primárně Windows 10) zaregistrovat nebo odregistrovat z Azure AD.

Pozn.: Zařízení nemůže být zároveň připojené i registrované do Azure AD (v některých případech to lze, ale může to dělat problémy).

Registrace při přihlašování

Když se někde přihlašujeme Azure AD účtem, tak se může zobrazit dialog, zda povolíme organizaci spravovat zařízení (Allow my organization to manage my device). Pokud odsouhlasíme, tak se k našemu účtu, kterým jsme přihlášeni do počítače, připojí Azure AD účet, kterým se právě přihlašujeme. Také se naše zařízení zaregistruje v Azure AD.

Azure AD Registration

Ruční registrace ve Windows 10

Ručně můžeme provést napojení účtu

  • Settings - Accounts - Access work or school
  • zvolíme Connect
  • přihlásíme se Azure AD účtem
Windows 10 Accounts - Access work or school

V obou případech dojde k registraci počítače do Azure AD. Uvidíme je v seznamu zařízení s Join Type Azure AD Registered.

  • Azure Active Directory admin center - Devices
Azure Active Directory admin center - Devices

Odregistrace a odebrání účtu

Ve Windows 10 můžeme odpojit Azure AD účet (Work or school account) a tím zrušit registraci zařízení v Azure AD (odstraní se počítač z Azure AD).

  • Settings - Accounts - Access work or school
  • zvolíme účet
  • klikneme na Disconnect a potvrdíme
Windows 10 Accounts - Access work or school - Disconnect

Pokud pouze smažeme objekt počítače v Azure AD, tak v nastavení počítače (OS) zůstane. Sice nemá oprávnění do Azure AD, ale myslí si, že je registrovaný. Korektní je tedy odstranění na klientovi. Nenašel jsem způsob, jak toto provést v operačním systému, který nemá volbu Access work or school (jako je třeba Windows Server 2016 / 2019).

Hybrid Azure AD Join

V popisech se uvádí, že jde o Managed Domains. Ale patrně to neznamená, že musíme vytvořit Azure AD Domain Services, jak popisuje dokumentace What is Azure Active Directory Domain Services? Ale spíše jde o způsob autentizace (Managed vs. Federated).

PS C:\> Get-MsolDomain

Name                       Status   Authentication
----                       ------   --------------
firma.onmicrosoft.com      Verified Managed       
firma.com                  Verified Managed

Jak probíhá Hybrid Azure AD Join

Obecné kroky (zde řešíme pouze Windows 10 zařízení) nastavení a průběhu připojení jsou

  • konfigurace Hybrid Azure AD Join pomocí Azure AD Connect - jde o vytvoření SCP záznamu v interní doméně (na který se klienti opakovaně dotazují pro získání informací o Tenantu)
  • počítače (Windows 10 zařazené do domény) si vygenerují SelfSigned certifikát a veřejnou část uloží do atributu userCertificate svého účtu v AD DS
  • Azure AD Connect provede synchronizaci účtů počítačů (musí mít certifikát a povolenu synchronizaci)
  • počítač provede registraci zařízení (Enroll Device) do Tenantu - připojí se do Azure AD jako Hybrid Azure AD Join, součástí je odeslání žádosti o certifikát
  • Azure AD vystaví a odešle certifikát zařízení, který si počítač spojí s žádostí a uloží do úložiště certifikátů (Certificate Store)

Než se počítač dostane do finálního stavu Hybrid Azure AD Join, tak to určitou dobu trvá a možná vyžaduje několik restartů (případně to restarty urychlí). Po vytvoření SCP si ho musí klient načíst, vygenerovat certifikát a uložit do AD DS. Pak musí proběhnout synchronizace účtu do Azure AD. Následně se musí počítač registrovat do Azure AD, což se možná děje při startu nebo přihlášení uživatele. Do té doby je synchronizovaný účet v Azure AD ve stavu Pending. Pokud byl počítač dříve Azure AD Registered, tak potom musí proběhnout zrušení této registrace. Pak je teprve vše korektní.

Pozn.: Za registraci do Azure AD je patrně zodpovědná plánovaná úloha Task Scheduler Library > Microsoft > Windows > Workplace Join - Automatic-Device-Join. Ta se spouští při přihlášení uživatele a při určité události.

Azure AD Connect synchronizace účtů počítačů

Microsoft ve všech návodech uvádí, že jako první krok máme zkontrolovat, že se nám do Azure AD synchronizují objekty počítačů (které mají být hybrid Azure AD Joined). Co se v návodech nepíše je, že dokud nenastavíme podmínky pro Hybrid Azure AD Join, tak se nám počítače synchronizovat nebudou. Vypadá to, že jde o vlastnost Azure AD Connect od verze 1.4.0.0 (tedy již hodně dávno, to mohli zvládnout upravit návody), viz. Understanding Azure AD Connect 1.4.xx.x and device disappearance.

Podle článku se pomocí Azure AD Connect do cloudu synchronizují pouze Windows 10 zařízení, nakonfigurovaná pro Hybrid Azure AD Join, která mají specifickou hodnotu atributu userCertificate (u objektu počítače v AD DS). Předmět certifikátu je CN={ObjectGUID}.

Tento certifikát vystavuje Windows vlastnost Hybrid Azure AD Join. Ale až ve chvíli, kdy je dostupné SCP s údaji o Azure AD Tenantu pro registraci zařízení. To znamená, dokud pomocí Azure AD Connect nevytvoříme SCP (také můžeme vytvořit ručně) nebo na některých klientech nevytvoříme patřičný záznam v registrech, tak počítač nemá certifikát a nesynchronizuje se do Azure AD.

Certifikáty pro Azure AD

Snažil jsem se zjistit více o těchto certifikátech. Nenašel jsem žádnou oficiální dokumentaci (něco popisuje článek Deep-dive to Azure AD device join). Níže jsou moje pozorování, která nemusí být přesná.

Ve chvíli, kdy registrujeme počítač do Azure AD (Azure AD Registered), tak se v certifikačním úložišti daného uživatele (certmgr.msc) vytvoří certifikát. Předmět certifikátu je GUID, ale to je jiné než hodnota atributu objectGUID účtu počítače v AD DS. Odpovídá položce Device ID tohoto registrovaného počítače v Azure AD. Certifikát uvádí, že byl vystaven od MS-Organization-Access. Účel klientská autentizace, platnost 10 let.

Pokud počítač najde údaje o Azure AD Tenantu (SCP), tak si vygeneruje SelfSigned certifikát (takže vydavatel i předmět je stejný a odpovídá objectGUID počítače v AD DS) a jeho veřejnou část uloží k účtu počítače do atributu userCertificate. Tento certifikát patrně není nikde v certifikačním úložišti počítače. Azure AD Connect provede synchronizaci počítačového účtu do Azure AD (takže se tam dostane i veřejný klíč certifikátu). Jeho Device IDAzure AD odpovídá objectGUID počítače v AD DS. Certifikát generuje plánovaná úloha Automatic-Device-Join a tedy příkaz dsregcmd, ale možná se generuje i jindy. Nepodařilo se mi zjistit, kdy a za jakých podmínek se vystavuje, části lidí se vystavil do hodiny po zveřejnění SCP.

Když se počítač zaregistruje do Azure AD (jako Hybrid Azure AD Join), tak na základě žádosti (CSR) dostane nový certifikát. Ten vznikne v certifikačním úložišti daného počítače (certlm.msc). Předmět certifikátu je objectGUID počítače v AD DS, je vystaven od MS-Organization-Access a vše stejné, jako při registraci.

Zároveň vzniká druhý certifikát se stejným předmětem a vydavatelem MS-Organization-P2P-Access [2021]. Účel je serverová autentizace. O tomto certifikátu, který má sloužit pro důvěru mezi zařízeními v Tenantu pro RDP, je krátká zmínka What are the MS-Organization-P2P-Access certificates present on our Windows 10 devices?

Nakonec, když proběhne odstranění původní registrace počítače v Azure AD, tak se odstraní i certifikát z uživatelského úložiště.

Pomocí PowerShellu se můžeme podívat (a stáhnout) na certifikát, který se ukládá do AD DS účtu počítače. Ověříme tak, že jde o jiný certifikát, než ten uložený v počítači po registraci do Azure AD. Základní údaje (předmět a vydavatel) zobrazíme

(Get-ADComputer JMENO-POCITACE -Properties Certificates).Certificates 

Abychom si prohlédli celý certifikát, tak jej můžeme uložit do souboru

Export-Certificate -Cert (New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 (Get-ADComputer JMENO-POCITACE -Properties Certificates).Certificates[0]) -FilePath c:\JMENO-POCITACE.cer

Záznam o synchronizaci, když se nesynchronizuje počítač

Když povolíme synchronizaci pro určitý počítačový účet, tak můžeme v Synchronization Service najít záznam (například) Delta Synchronization pro konektor naší interní domény. Kde je Connectors with Flow Updates nenulová hodnota, po otevření vidíme řádek pro náš počítač. Rozklikneme a přepneme se na záložku Lineage, kde klikneme na Metaverse Object Properties. Pokud vidíme atribut cloudFiltered = true, tak se záznam nesynchronizuje. Pokud se zde nenachází atribut userCertificate, tak to může být důvod.

Pokud na záložce Lineage vidíme pravidlo In from AD - Computer Filtering (mimo In from AD - Computer Join), tak to může být proto, že je záznam filtrovaný (třeba máme povoleno synchronizovat jen členy skupiny). Pokud synchronizujeme pouze určité OU a počítač je v jiné, tak se v žádném záznamu neobjeví. Toto jsou pouze příklady.

Jména počítačů s dolarem v Azure AD

U synchronizace počítačů do Azure AD můžeme narazit na zvláštní věc. Po synchronizaci se nám některé počítače mohou objevit s názvem, který má na konci znak $ (dolar). Při synchronizaci se jako název použije atribut displayName, pokud je prázdný, tak cn. Standardně, po zařazení počítače do domény, je displayName prázdný a cn obsahuje jméno. Pokud počítač přejmenujeme, tak se vyplní displayName názvem s dolarem na konci (sAMAccountName). Takže tak se nám dostane do Azure AD, ale tam se při nějakých akcích (provedení Hybrid Azure AD Join) zase změní na standardní jméno.

Detailněji je rozebíráno v The Mysterious Case of the $ (a.k.a. Dollar Sign) Character in Hybrid Azure AD Joined Devices.

Nastavení Hybrid Azure AD Join

Azure AD Connect obsahuje průvodce na konfiguraci Hybrid Azure AD Join. Jde v podstatě o to, že vytváří Service Connection Point (SCP) s údaji o firemním Azure AD Tenantu pro registraci zařízení. Toto SCP klienti pravidelně hledají, aby se mohli registrovat do Azure AD. SCP můžeme také vytvořit ručně. Pokud chceme registrovat pouze pár klientů, tak na nich můžeme nastavit hodnoty pomocí registrů.

Aby se zařízení mohlo korektně registrovat, tak musí mít dostupné některé Microsoft adresy. Pokud se používá SSL inspekce, která přerušuje komunikaci, tak pro adresu https://device.login.microsoftonline.com musí být nastavena výjimka. Microsoft má pro otestování komunikace PowerShell skript Test Device Registration Connectivity.

Průběh konfigurace (nejjednodušší možnost pomocí Azure AD Connect)

  • spustíme Azure AD Connect
  • klikneme na Configure a Configure device options
  • v průvodci se přihlásíme a pod Device options vybereme Configure Hybrid Azure AD Join
  • volíme, zda chceme řešit pouze Windows 10 a novější nebo i starší (Windows down-level) podporované systémy (na ně musíme instalovat Microsoft Workplace Join)
  • konfigurace SCP, pro každý les (Forest) se přihlásíme Enterprise Admin účtem
  • spustíme konfiguraci
Azure AD Connect - Configure device options 1
Azure AD Connect - Configure device options 2

Můžeme zkontrolovat, že se nám vytvořilo SCP a obsahuje korektní hodnoty. Například pomocí ADSI Edit se připojíme ke Configuration Naming Context (CN=Configuration,DC=firma,DC=local). Otevřeme CN=Services, CN=Device Registration Configuration (původně patrně neexistovalo) a zde se nachází SCP CN=62a0ff2e-97b9-4513-943f-0d221bd30080. Zvolíme jeho vlastnosti a otevřeme atribut keywords. Zde jsou dvě hodnoty azureADid a azureADName.

ADSI Edit - SCP pro Hybrid Azure AD Join

Připojení pouze vybraných zařízení

Nemusíme chtít, aby Hybrid Azure AD Join proběhl na všech počítačích v doméně. Například při úvodním testování nebo i v běžném provozu. Můžeme řídit, které účty počítačů se synchronizují do Azure AD. Jedna možnost je pomocí filtrování objektů pro synchronizaci v konfiguraci Azure AD Connect nebo úpravou synchronizačních pravidel Azure AD Connect sync: Configure filtering. Druhá možnost je nepublikovat SCP (dostupné všem), ale zadat tyto hodnoty vybraným klientům pomocí záznamu v registrech.

Windows 10 se automaticky snaží připojit do Azure AD. Pokud definujeme Service Connection Point (SCP), tak údaje z něj použijí pro připojení. V Azure AD se musí nacházet synchronizovaný objekt počítače. Pokud chceme připojit pouze vybrané počítače, tak nemusíme vytvářet SCP, ale pomocí registrů (třeba i pomocí Group Policy) vytvoříme klientské nastavení SCP.

registrech v cestě HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\CDJ\AAD, pokud některé klíče neexistují (třeba CDJ a AAD), tak je vytvoříme, přidáme dvě nové hodnoty typu String. Jde o TenantId a TenantName, údaje zjistíme v Azure AD. Jméno je naše ověřená doména nebo registrovaná doména na onmicrosoft.com.

Azure AD Registered a potom Hybrid Azure AD Joined

Pokud bylo Windows 10 zařízení registrováno do Azure AD tenantu a následně proveden Hybrid Azure AD join, tak může vzniknout duální stav. Verze Windows 10 1803 a novější tuto situaci řeší a po provedení Hybrid Azure AD join automaticky zruší původní registraci. Pro starší verze má být nejprve manuálně odstraněn stav Azure AD registered a pak teprve povolen Hybrid Azure AD join.

Audit logy a Troubleshooting

Azure AD nalezneme logy o registraci zařízení v

  • Azure Active Directory admin center - Devices - Audit logs

Ve Windows 10 jsou logy o registraci v

  • Applications and Services Log > Microsoft > Windows > User Device Registration
  • Applications and Services Log > Microsoft > Windows > AAD

Na klientovi je důležitý první log, kde nalezneme mnoho informací a chyb o průběhu registrace. Například

  • Event ID 304 Automatic registration failed. Failed to lookup the registration service information from Active Directory.
  • Event ID 304 Automatic registration failed at join phase. … Server error: The device object by the given id (c4d88c3c-27eb-4b8d-acf8-45541d72264e) is not found.
  • Event ID 105 The complete join response operation was successful.
  • Event ID 106 The registration status has been successfully cleared from the device. Join type: 9 (WORKPLACE_UNJOIN)

Pro zjištění informací na klientovi je velice užitečný řádkový příkaz dsregcmd. Příklad začátku výstupu

C:\>dsregcmd /status
+----------------------------------------------------------------------+
| Device State                                                         |
+----------------------------------------------------------------------+

     AzureAdJoined : YES
  EnterpriseJoined : NO
      DomainJoined : YES
        DomainName : FIRMA

Nachází se zde mnoho důležitých informací včetně zpráv o chybách. Úplně základní jsou informace, zda je zařízení připojeno do Azure AD (AzureAdJoined), do AD DS (DomainJoined) nebo registrováno do Azure AD (WorkplaceJoined). Ve funkčním stavu nesmí být zároveň Azure AD Registered a Azure AD Joined.

Hybrid Azure AD Join oprava

Problém s registrací počítače v Azure AD nastane například, když vyřadíme počítač ze synchronizace do Azure AD. Tím se účet v Azure AD smaže a z tohoto počítače je blokováno přihlášení. Když jej znovu zařadíme do synchronizace, tak se v Azure AD objeví, ale je ve stavu Pending. Výpis na klientovi ukazuje, že je AzureAdJoined, ale stav autentizace je chybný. Přitom přihlášení již funguje.

Část výpisu:

C:\>dsregcmd /status
+----------------------------------------------------------------------+
| Device State                                                         |
+----------------------------------------------------------------------+

             AzureAdJoined : YES
          EnterpriseJoined : NO
              DomainJoined : YES
                DomainName : FIRMA
               Device Name : POCITAC.firma.local

+----------------------------------------------------------------------+
| Device Details                                                       |
+----------------------------------------------------------------------+

                  DeviceId : XXX
                Thumbprint : XXX
 DeviceCertificateValidity : [ 2021-07-26 07:24:46.000 UTC -- 2031-07-26 07:54:46.000 UTC ]
            KeyContainerId : XXX
               KeyProvider : Microsoft Software Key Storage Provider
              TpmProtected : NO
          DeviceAuthStatus : FAILED. Device is either disabled or deleted

...
+----------------------------------------------------------------------+
| Ngc Prerequisite Check                                               |
+----------------------------------------------------------------------+

            IsDeviceJoined : YES
             IsUserAzureAD : YES
             PolicyEnabled : NO
          PostLogonEnabled : YES
            DeviceEligible : YES
        SessionIsNotRemote : YES
            CertEnrollment : none
              PreReqResult : WillNotProvision

Řešení napovídá MS FAQ I disabled or deleted my device in the Azure portal or by using Windows PowerShell. But the local state on the device says it's still registered. What should I do?.

Musíme provést re-registraci zařízení. Na stanici spustíme příkaz jako administrátor.

C:\>dsregcmd.exe /debug /leave
DsrCLI: logging initialized.
DsrCmdJoinHelper::Leave: ClientRequestId: xxxUnjoin request ID: xxx
Unjoin response time: Thu, 09 Sep 2021 08:08:04 GMT
Unjoin HTTP status: 200
Only the NGC for the current user is being removed. To remove all rerun as SYSTEM.
DSREGCMD_END_STATUS
             AzureAdJoined : NO
          EnterpriseJoined : NO

Tím se na stanici odstraní stav AzureAdJoined a účet se také smaže v Azure AD.

C:\>dsregcmd /status
+----------------------------------------------------------------------+
| Device State                                                         |
+----------------------------------------------------------------------+

             AzureAdJoined : NO
          EnterpriseJoined : NO
              DomainJoined : YES
                DomainName : FIRMA
               Device Name : POCITAC.firma.local

Následně musí proběhnout synchronizace pomocí Azure AD Connect, aby se účet zařízení znovu vytvořil v Azure AD. Počítač restartujeme a proběhne plánovaná úloha, která automaticky registruje zařízení v Azure AD. V Azure AD již vidíme zařízení registrované a ve výpisu je autentizace v pořádku.

          DeviceAuthStatus : SUCCESS
zobrazeno: 1344krát | Komentáře [0]

Autor:

Související články:

Azure, Microsoft 365, Office 365, Cloud

Různá populární témata ohledně veřejného cloudu. Více zaměřeno na služby Microsoft, tedy IaaS, PaaS, SaaS Azure, adresářové služby Azure AD a hostované služby Microsoft 365 / Office 365.

Active Directory a protokol LDAP

Správa počítačové sítě ala Microsoft, to je Active Directory. Jedná se o velice rozsáhlou skupinu technologií a služeb. Základem jsou adresářové služby, adresáře a komunikační protokol LDAP.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

Zatím tento záznam nikdo nekomentoval.

Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách