Pozn.: Tento článek vznikl primárně kvůli macOS zařízením. Některé informace byly uvedeny ve starších článcích, hlavně Hybrid Azure AD Join. S macOS nejsem kamarád, takže nemusí být informace přesné. Snažil jsem se více pochopit, jak funguje autentizace (identifikace) zařízení, abych to zprovoznil i z macOS. Nakonec jsem přišel na zajímavé informace, které jsem nikde nenalezl popsané. Doplnil jsem také fungování na Android zařízeních.
Jsem velice překvapený, že se mi nepovedlo nalézt oficiální dokumentaci od Microsoftu k většině oblastí (ani neoficiální dokumentace moc není). Microsoft všude popisuje pouze práci s Windows. Další operační systémy jsou podporovány, ale nenašel jsem žádný popis, jak se provádí registrace do Azure AD (nebo zrušení registrace). A celkově popis fungování ověření zařízení - Device Authentication, a co je potřeba provést.
Typ připojení do Azure AD - zaregistrované versus připojené zařízení
Zařízení může být registrováno (Registered) nebo připojeno (Joined), případně ještě registrováno v Intune (Enrolled in Intune). Možné varianty (bez Intune):
- AD Domain Joined - zařízení je připojeno do On-Premises AD DS (interní/lokální/místní Active Directory)
- Azure AD Joined - zařízení je připojeno do Azure AD (cloud-only)
- Hybrid Azure AD Joined - zařízení je připojeno (Joined) do On-Premises AD DS a zaregistrováno (Registered) v Azure AD
- Azure AD Registered - zařízení je zaregistrováno v Azure AD, označuje se také jako Workplace Joined (připojené k pracovišti)
Pozn.: Aby bylo zařízení v Azure AD identifikované jako Hybrid Azure AD Joined, tak musí být splněny určité podmínky. Nestačí AD Domain Joined počítač samostatně zaregistrovat do Azure AD.
Zařízení registrované v Azure AD - Azure AD Registered Device
- Azure AD registered devices
- umožňuje využít Bring your own device (BYOD) a mobilní zařízení pro přístup ke zdrojům organizace ze soukromých zařízení
- můžeme registrovat soukromé či firemní zařízení
- do zařízení se nemusíme přihlašovat firemním účtem (pracujeme na něm lokálním či doménovým účtem)
- v zařízení je připojen firemní Azure AD účet pro přístup ke zdrojům organizace
- podporované operační systémy Windows 10 a novější, iOS, Android, macOS, Ubuntu 20.04/22.04
- můžeme využívat SSO ke cloudovým zdrojům
- můžeme využít identitu zařízení k řízení přístupu ke zdrojům (Conditional Access Policies)
Registrace do Azure AD - Azure AD Registration
Registrace zařízení do Azure AD obnáší vytvoření objektu zařízení v Azure AD. Můžeme ji provést různými způsoby, které záleží na operačním systému daného zařízení.
Často zde zmiňujeme pracovní aplikaci v souvislosti s Azure AD. Je tím myšlena aplikace, do které se přihlašujeme Azure AD účtem a můžeme využít různé možnosti Azure AD. Může jít o některou z Microsoft 365 aplikací, jako MS Teams, Office, Sharepoint, apod. ale také ne-Microsoft aplikaci, která je do Azure AD napojena jako Enterprise application.
Company Portal je webová stránka portal.manage.microsoft.com a aplikace pro různé typy operačních systémů. Primárně slouží pro registraci a práci s Intune. Při registraci do Intune probíhá také registrace do Azure AD, takže ji někde můžeme využít za tímto účelem. Pro registraci nestačí webová stránka, ale musí se využít aplikace.
Registrace Windows zařízení do Azure AD
Azure AD registraci je možné provést při prvním přístupu k pracovní aplikaci nebo ručně pomocí nabídky nastavení (Settings Menu) Windows 10 nebo Windows 11.
Windows - registrace při přihlášení Azure AD účtem
Když se přihlašujeme Azure AD účtem k pracovní aplikaci, 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.

Windows - ruční registrace
- Settings - Accounts - Access work or school
- zvolíme Connect
- přihlásíme se Azure AD účtem
- v nastavení pak uvidíme náš Work or school account

Windows - zrušení registrace
- Settings - Accounts - Access work or school
- klikneme na účet
- zvolíme Disconnect a potvrdíme varování
Registrace macOS zařízení do Azure AD
Azure AD registraci je možné provést pomocí aplikace Company Portal, kterou můžeme stáhnout přes webový Company Portal nebo napřímo aka.ms/EnrollMyMac.
macOS - registrace pomocí Company Portal
Company Portal slouží k registraci do Intune, ale první krok je registrace do Azure AD. Ten můžeme provést a následně nemusíme instalovat Management Profile. Při testech mi registrace fungovala i v případě, kdy v Intune nebyla povolena registrace macOS zařízení.
- spustíme aplikaci Company Portal
- přihlásíme se Azure AD účtem - Sign in
- nabídne se průvodce nastavením přístupu do organizace, zahájíme tlačítkem Begin (talčítko Postpone spustí aplikaci Company Portal bez registrace zařízení)
- zobrazí se informace o soukromí (privacy information), co firma může a nemůže vidět, pokračujeme Continue

- proběhne registrace zařízení do Azure AD
- zde končíme, pokud nechceme provést registraci do Intune

Registrace Android (a iOS) zařízení do Azure AD
Microsoft uvádí (Azure AD registered devices), že na mobilních zařízeních můžeme provést registraci do Azure AD pomocí aplikace Intune Company Portal nebo Microsoft Authenticator. Ale nenašel jsem žádnou detailnější informaci. Testy jsem prováděl pouze na Android, takže nevím, nakolik je iOS podobný. Při hledání oficiálního popisu registrace Android zařízení, jsem narazil na zmínku o zajímavé metodě registrace pomocí nastavení v Androidu.
Android - registrace přidáním pracovního účtu - Workplace Join
- Settings - Accounts
- klikneme na Add account
- zvolíme Work account

- přihlásíme se Azure AD účtem
- dojde k vystavení certifikátu pro zařízení, defaultní název
microsoft workaccount
(můžeme změnit)

Účty, které přidáme pomocí nastavení Androidu, vidíme také v aplikaci Microsoft Authenticator a naopak.
Pozn.: Na telefonu Xiaomi jsou připojené Work account vidět, ale nenabízí se zde možnost přidání nového.
Android - registrace pomocí Microsoft Authenticator
Pomocí aplikace Microsoft Authenticator můžeme, v průběhu přidání účtu pro vícefaktorovou autentizaci (přes QR kód) či nastavení přihlašování bez hesla, registrovat naše zařízení do Azure AD.
Nebo můžeme registraci provést během ručního přidaní účtu:
- Add account
- zvolíme Work or school account a Sign in
- přihlásíme se Azure AD účtem
- další krok je registrace zařízení, který můžeme přeskočit, při registraci nedojde k vystavení certifikátu

Registraci zařízení do Azure AD můžeme také vyvolat v menu:
- Settings - Device Registration
Android - registrace pomocí Company Portal
Podle mých testů, lze využít aplikaci Intune Company Portal na Androidu, pouze k registraci do Intune. Tehdy proběhne také registrace do Azure AD. Ale provést pouze registraci do Azure AD, jako třeba na macOS, se mi nepovedlo. Pokud nemáme povolenu registraci Android zařízení do Intune, tak pomocí Company Portal žádnou registraci neprovedeme.
Android - zrušení registrace
Můžeme odebrat pracovní účet ze systému.
- Settings - Accounts - vybereme pracovní účet
- zvolíme Remove account
- proběhne korektní odebrání včetně zrušení registrace v Azure AD
Nebo použít aplikaci Microsoft Authenticator.
- Settings - Device Registration
- klikneme na Unregister device

Device Authentication - ověření (identifikace) zařízení
Když se přihlašujeme k pracovní aplikaci pomocí Azure AD účtu, tak můžeme ověřit nejen uživatele (User Authentication), ale také zařízení (Device Authentication). Uživatel se ověřuje zadáním svého emailu (identifikace uživatelského objektu v Azure AD) a použitím určité autentizační metody, což může být heslo, ale také Windows Hello for Business nebo FIDO2 bezpečnostní klíč, případně určitá MFA metoda.
Pokud chceme ověřit zařízení (Device), tak musí obdobně existovat objekt zařízení v Azure AD. Jinak řečeno identita zařízení (Device Identity). Ten vznikne registrací nebo připojením zařízení do Azure AD a získá unikátní Device ID
. Autentizace se provádí (primárně) pomocí certifikátu zařízení.
Pokud se přihlašujeme Azure AD účtem k aplikaci z počítače, který je registrovaný nebo připojený do Azure AD, tak může automaticky probíhat Device Authentication. Díky tomu získáme v Azure AD Device ID (identifikaci zařízení) a můžeme s ním dále pracovat třeba pomocí Conditional Access Policy. Máme tedy identifikované zařízení, z kterého se uživatel připojuje, a můžeme omezovat přístup pouze na určitá zařízení.
Ověření zařízení funguje pouze na určité kombinaci operačního systému a aplikace, nejčastěji prohlížeče. Oficiálně popsáno v Supported browsers. Musí být splněny i další podmínky, které si uvedeme dále.
Podporované OS jsou Windows 10 a novější, Windows Server 2019, 2022, macOS, iOS a Android. Nejlépe podporovaný prohlížeč je Microsoft Edge. Dále často Chrome a někde Firefox a Safari. Firefox a Chrome na Windows vyžaduje určitou konfiguraci, více v Nastavení prohlížečů pro ověření zařízení a využití SSO. Edge, a Safari na macOS, fungují automaticky, stejně jako Chrome na Androidu.
Azure AD informace o přihlášení
V Azure Active Directory admin center se můžeme podívat do přihlašovacích logů (Sign-in logs) uživatele, a pokud proběhlo ověření zařízení, tak zde uvidíme jeho identifikaci.
Vždy bychom zde měli vidět identifikaci operačního sytému (Operating System) a případně použitého prohlížeče (Browser). Pro další informace musí proběhnout Device Authentication. Pak zde máme Device ID
a můžeme se prokliknout přímo na zařízení. A doplňují se informace o typu připojení (Join Type), zda je spravované (Managed) pomocí MDM (Intune) a v souladu s politikami (Compliant).
Logy můžeme zobrazit centrálně Users - Sign-in logs nebo pro určitého uživatele Users - uživatel - Sign-in logs. Otevřeme vybraný log a přepneme se na záložku Device info.
Pozn.: Pozor, záznamy se zde zobrazují s několika minutovým zpožděním.

Certifikáty MS-Organization-Access
Ověření zařízení probíhá pomocí klientského certifikátu. Certifikát se vystavuje nejen na Windows, ale také na macOS, Android a iOS.
Při připojení nebo registraci zařízení do Azure AD se využívá služba Azure Device Registration Service (Azure DRS), která zapíše objekt zařízení do Azure AD a vystaví certifikát pro zařízení (ze žádosti zaslané klientem). Určité informace nalezneme v How it works: Device registration.
Pro zařízení se vystavuje certifikát od MS-Organization-Access
a jeho jméno / předmět (Subject Common Name) je Device ID
/ objectGUID
. Pokud je Windows počítač registrovaný v Azure AD (Azure AD Registered), tak je uložen v certifikačním úložišti daného uživatele (certmgr.msc
). Pokud je (hybridně) připojen do Azure AD (Azure AD Joined nebo Hybrid Azure AD Joined), tak je uložen v certifikačním úložišti daného počítače (certlm.msc
).
Předmět certifikátu obsahuje ID objektu počítače v Azure AD, tedy Device ID
. Pokud je počítač Hybrid Azure AD Joined, tak to také odpovídá hodnotě atributu objectGUID
počítače v AD DS. Přítomnost certifikátu přímo určuje, zda je počítač registrovaný/připojený do Azure AD. Zajímavý test je popsán v The TenantID from Toronto.
Na Windows (údajně také iOS a Android) se certifikát využívá během autentizačního procesu pro získání Primary Refresh Token (PRT). Ten pak obsahuje Device ID
a používá se pro identifikaci zařízení při každém přihlašování uživatele. Více informací What is a Primary Refresh Token?
Informace o certifikátu se dozvíme také pomocí příkazu dsregcmd /status
, který zobrazuje informace o stavu zařízení v Azure AD. Pokud je zařízení připojené do Azure AD, tak máme sekci Device Details, kde vidíme i Thumbprint certifikátu a další údaje.
+----------------------------------------------------------------------+ | Device Details | +----------------------------------------------------------------------+ DeviceId : 70a8d986-5ef7-4b24-9cc6-xxxxxxxxxxxx Thumbprint : 163407A5886B2B23849D3E278590B34XXXXXXXXX DeviceCertificateValidity : [ 2022-09-20 10:39:44.000 UTC -- 2032-09-20 11:09:44.000 UTC ] KeyContainerId : 9aae1c87-d4db-4709-ab7b-2a213e170079 KeyProvider : Microsoft Platform Crypto Provider TpmProtected : YES DeviceAuthStatus : SUCCESS
Pokud je zařízení registrované v Azure AD, tak máme sekci Work Account.
+----------------------------------------------------------------------+ | Work Account 1 | +----------------------------------------------------------------------+ WorkplaceDeviceId : fe98f6f1-5b50-4d10-9711-xxxxxxxxxxxx WorkplaceThumbprint : A8220A0A7DD4AB3EBDE1C5E7380DF85XXXXXXXXX DeviceCertificateValidity : [ 2021-07-26 13:16:17.000 UTC -- 2031-07-26 13:46:17.000 UTC ] KeyContainerId : 8f755753-6abd-47dc-8052-xxxxxxxxxxxx KeyProvider : Microsoft Software Key Storage Provider TpmProtected : NO WorkplaceIdp : login.windows.net WorkplaceTenantId : bb9528c8-3d14-4888-91fd-xxxxxxxxxxxx WorkplaceTenantName : Firma a.s. WorkplaceMdmUrl : WorkplaceSettingsUrl : NgcSet : NO
Průběh ověření zařízení při přihlášení uživatele
Zařízení s Windows
Pokud se z Windows 10 (patrně i dalších verzí), pomocí podporovaného (a nastaveného) webového prohlížeče Edge, Chrome či Firefox, připojíme k firemní aplikaci, tak ověření zařízení proběhne automaticky na pozadí. V Sign-in logu uvidíme, pro každé přihlášení uživatele, identifikaci zařízení. Můžeme, ale nemusíme, s ní pracovat pomocí Conditional Access Policy. Pravděpodobně se pro autentizaci uživatele využívá Primary Refresh Token (PRT), který obsahuje identifikaci zařízení.
Důležité je, že každé přihlášení z Windows, které jsou registrované nebo připojené k Azure AD, obsahuje identifikaci zařízení.
Zařízení s macOS, Android a iOS
Dlouho jsem měl pocit, že na macOS a Android ověření zařízení nefunguje (neprobíhá). Až jsem, docela náhodou, přišel na to, že zde platí zvláštní pravidla. Ověřil jsem mnoha praktickými pokusy na macOS a Android (a mělo by být stejné i pro iOS). V oficiální dokumentaci jsem našel jedinou zmínku (a ani jinde se mi nepovedlo najít žádný popis tohoto chování), která s tím částečně souvisí. Jde o popis Conditional Access Policy, když vyžadujeme, aby zařízené bylo Compliant - Require device to be marked as compliant.
On Windows 7, iOS, Android, macOS, and some third-party web browsers, Azure AD identifies the device by using a client certificate that is provisioned when the device is registered with Azure AD. When a user first signs in through the browser, the user is prompted to select the certificate. The user must select this certificate before they can continue to use the browser.
Na rozdíl od Windows 10 a novějších, které podporují PRT, probíhá identifikace zařízení v prohlížeči na iOS, Android a macOS přímo pomocí certifikátu, který musíme při přihlášení vybrat/potvrdit. Zásadní ovšem je, že standardně z těchto zařízení Device Authentication vůbec neprobíhá.
Pokud nastavíme Conditional Access Policy, která vyžaduje Compliant zařízení, tak se při přihlašování zaloguje do Sign-in logu událost stavu Interrupted s textem:
This is not an error - this is an interrupt that triggers device authentication when required due to a Conditional Access policy or because the application or resource requested the device ID in a token. This code alone does not indicate a failure on your users part to sign in. The sign in logs may indicate that the device authentication challenge was passed succesfully or failed.
Conditional Access Policy pro aktivaci ověření zařízení
Ověření zařízení (použití certifikátu) je v průběhu autentizačního procesu vyžadováno pouze tehdy, pokud je pro přístup na aplikaci vyžadována nějaká vlastnost, která potřebuje identifikaci zařízení. To znamená, že máme nastavenu Conditional Access Policy, která vyžaduje, aby zařízení bylo označeno jako Compliant nebo bylo Hybrid Azure AD Joined (možná i nějaká další varianta, ale objevil jsem pouze tyto dvě).
Samozřejmě macOS, Android nebo iOS nikdy nebude Hybrid Azure AD Joined, takže přístup bude odmítnut (ale v logu uvidíme identifikaci zařízení). Pokud, při vyžadování Compliant, zařízení není registrované v Intune, tak se přejde na průvodce pro jeho registraci (do té doby k aplikaci nepřistoupíme).
Později mne napadla další možnost. Conditional Access Policy můžeme zapnout v módu Report-only
. Takže pak přihlášení k aplikaci bude fungovat, ale bude vyžadovat identifikaci zařízení, pokud je to možné (když jsem na Androidu neměl vystavený certifikát, tak přihlášení proběhlo bez ověření). Když zapneme tento mód, tak se dokonce v politice zobrazí informace:
Policies in Report-only mode requiring compliant devices may prompt users on macOS, iOS, Android, and Linux to select a device certificate. Learn more
Ověření zařízení s macOS
macOS je zvláštní operační systém a můžeme narazit na různé problémy. Pokud chceme vyzkoušet (nebo přímo využít) Device Authentication, tak vytvoříme Conditional Access Policy, viz. výše. Například pro přístup na www.office.com vyžadujeme Compliant zařízení.
Počítač zaregistrujeme do Azure AD a restartujeme. Použijeme Safari, Edge nebo Chrome pro přístup na tuto adresu a přihlásíme se Azure AD účtem. Hned poté vyskočí dialog, že adresa device.login.microsoftonline.com vyžaduje ověření klientským certifikátem a nabízí se certifikát od MS-Organization-Access
. Tedy jde o naše požadované ověření zařízení.

Po potvrzení vyskočí další dialog, že se chce prohlížeč přihlásit pomocí klíče Microsoft Workplace Join Key
. Musíme zadat heslo ke keychain jménem login. Při zadání hesla můžeme zvolit Allow nebo Always Allow, což by mělo přidat danou aplikaci do výjimek a následně by nemělo být potřeba zadávat heslo. K Microsoft Workplace Join Key jsem nenašel žádnou oficiální informaci, pouze různé diskuse o problémech.

Zde jsem při testech narazil na problémy (často ty samé zmiňují lidé v diskusích). Mělo by jít o heslo přihlášeného uživatele (If you need to update your keychain password on Mac), ale to mi nefungovalo (v řadě pokusů na více zařízeních).
Rada je otevřít aplikaci Keychain Access, kde v Default Keychains - Login nalezneme privátní klíč Microsoft Workplace Join Key. Na něm nastavíme Access Control, buď povolíme přístup všem aplikacím nebo přidáme náš prohlížeč do výjimek Always allow access by these appplications. Na jednom testovacím MacBook mi poté hned přístup fungoval, na druhém se stále ptal na heslo, ale fungovalo heslo uživatele.
Obrázek ukazuje výchozí nastavení klíče. Můžeme přidat třeba prohlížeč Safari.

Ověření zařízení s Androidem
Pokud Android zařízení registrujeme do Azure AD pomocí aplikace Microsoft Authenticator (což je častý případ), tak se nevystaví certifikát. Musíme to provést ručně v aplikaci Microsoft Authenticator nebo Intune Company Portal.
Vystavení certifikátu zařízení v Microsoft Authenticator
- Menu - Settings - Device Registration
- klikneme na Enable browser access
- potvrdíme pokračování pomocí Continue
- vybereme typ certifikátu a můžeme změnit jméno (defaultní
microsoft workaccount
) - potvrdíme OK

Vystavení certifikátu zařízení v Company Portal
- Menu - Settings
- v Enable browser access klikneme Enable
- vybereme typ certifikátu a můžeme změnit jméno (defaultní
microsoft workaccount
) - potvrdíme OK
Ověření, že je certifikát v systému vystaven (seznam uživatelských certifikátů v systému, nezobrazuje detaily)
- Xiaomi MIUI
- Settings - Passwords & security - Privacy - Encryption & credentials - User credentials
- klasický Android
- Settings - Security - Encryption & credentials - User credentials
Přihlášení s ověřením zařízení. Na registrovaném Android zařízení můžeme využít Chrome nebo Edge pro přistup k firemní aplikaci (na kterou máme nastavenu Conditional Access Policy). Přihlásíme se Azure AD účtem a následně musíme vybrat/potvrdit certifikát pro ověření na adrese device.login.microsoftonline.com.

Vyžadování Compliant a zařízení neregistrované v Intune
Pokud se z libovolného podporovaného operačního systému připojujeme k firemní aplikaci, přihlásíme se Azure AD účtem a dojde k ověření zařízení (to nemusíme vidět, ale můžeme třeba vybírat certifikát), tak se může následně zobrazit dialog:
Set up your device to get access FIRMA requires you to secure this device before you can access FIRMA email, files, and data. If you go to other apps or sites, they may recognise that you are signed in. You can enrol your device with FIRMA or sign out
Pokud klikneme na Continue, tak se otevře webová stránka Company Portal, abychom zařízení registrovali do Intune.
Důvodem je, že pro přístup na danou aplikaci máme vytvořenu Conditional Access Policy, která vyžaduje, aby zařízení bylo Compliant.

Komentáře
Zatím tento záznam nikdo nekomentoval.