flux de travail d’authentification Microsoft Entra

S’applique à : Configuration Manager (branche actuelle)

Cet article est une référence technique pour le processus d’installation et d’inscription du client Configuration Manager sur un appareil Windows joint à Microsoft Entra ID. Il détaille le processus de flux de travail pour l’authentification de l’appareil.

Remarque

Les clients Windows obtiennent un certificat WPJ (Workplace Join) lorsqu’ils rejoignent un locataire Microsoft Entra. Si le certificat est introuvable, le client Configuration Manager ne peut pas demander Microsoft Entra jetons. Sans jeton, le client ne peut pas utiliser le canal de communication du service de jeton de sécurité Configuration Manager (CCM_STS) pour l’authentification Microsoft Entra avec Configuration Manager systèmes de site.

Installation du client

Dans cet exemple de flux de travail, vous avez installé le client Configuration Manager sur un appareil Windows via Internet avec les propriétés de ligne de commande ccmsetup suivantes :

CCMHOSTNAME="CMG.CLOUDAPP.NET/CCM_Proxy_MutualAuth/72186325152220500" SMSSITECODE="MEM"

Diagramme de flux de travail de CcmSetup avec authentification Microsoft Entra

1. Microsoft Entra demande d’informations de ccmsetup

Les clients installés à partir d’Internet ont besoin de propriétés de ligne de commande spécifiques pour utiliser l’authentification Microsoft Entra. Vous pouvez inclure ces propriétés dans la ligne de commande pour Internet ccmsetup, mais elles ne sont pas obligatoires. Lorsque vous n’utilisez pas Microsoft Entra propriétés, ccmsetup demande les AADCLIENTAPPID propriétés et AADRESOURCEURI à partir de la passerelle de gestion cloud (CMG). Il utilise la Microsoft Entra TenantID de l’appareil comme référence. Si vous n’avez pas intégré le TenantID du client dans Configuration Manager, la passerelle de gestion cloud ne donne pas les propriétés requises à ccmsetup pour poursuivre l’installation du client.

Les entrées suivantes sont enregistrées dans ccmsetup.log du client :

Getting AAD info from CMG 'CMG.CLOUDAPP.NET'
SMS CCM 5.0: Host=CMG.CLOUDAPP.NET, Path=/CCM_Proxy_ServerAuth/AADAuthInfo?TenantID=9aaf466a-3f40-4468-b3cd-f0010f21f05a, Port=443, Protocol=https, CcmTokenAuth=0, Flags=0x1304, Options=0xe0
Created connection on port 443
Enabled SSL revocation check.

Importante

Pendant ccmsetup, l’appareil doit valider le certificat d’authentification du serveur de passerelle de gestion cloud. Le certificat d’autorité de certification racine pour le certificat d’authentification du serveur de passerelle de gestion cloud doit être disponible sur le client pour la validation de la chaîne. Si vous utilisez une infrastructure à clé publique, lorsque l’autorité de certification racine n’est pas publiée sur Internet, ajoutez le certificat d’autorité de certification racine au magasin d’autorités de certification racine de l’appareil.

Si la liste de révocation de certificats d’autorité de certification racine n’est pas publiée sur Internet, ajoutez le /nocrlcheck paramètre dans la ligne de commande ccmsetup.

2. demande de jeton Microsoft Entra

Sur un appareil windows Azure AD joint à un domaine, ccmsetup utilise les propriétés Microsoft Entra pour demander un jeton Microsoft Entra appelant le fournisseur ADALOperation. Les entrées suivantes sont enregistrées dans ccmsetup.log sur le client :

Getting AAD (device) token with: ClientId = 0b7c8ab3-9ea1-4ffa-b2b9-8ffdd944bd8b, ResourceUrl = https://ConfigMgrService, AccountId = https://login.microsoftonline.com/common/oauth2/token

Si la demande de jeton d’appareil échoue, ccmsetup tente de demander un jeton utilisateur Microsoft Entra. Si l’appareil ne peut pas obtenir un jeton d’appareil ou d’utilisateur Microsoft Entra, ccmsetup ne continue pas.

Remarque

Si l’appareil dispose d’un certificat d’authentification client PKI valide, ccmsetup préfère toujours le certificat. Dans ce cas, le client s’installe en tant que client PKI et n’utilise pas l’authentification Microsoft Entra.

WAM token request failed. Status 5, Details 'AAD WAM extension error'
Failed to get AAD token..
Unknown error (Error: D0090016; Source: Unknown)
Failed to get AAD token for 'S-1-5-18' from WAM API. Error 0xd0090016
Falling back to get user 'S-1-5-21-1527250992-855612568-2252598708-1604' token for system...
Getting AAD (user) token with: ClientId = 0b7c8ab3-9ea1-4ffa-b2b9-8ffdd944bd8, ResourceUrl = https://ConfigMgrService, AccountId = 149FC29A-ECE3-123-A3C1-123456F035A6E
Retrieved AAD token for AAD user 'e8838041-db7a-42d5-b9ae-78813910e4cc'

3. Configuration Manager demande de jeton client

Le client utilise le jeton Microsoft Entra pour demander le jeton du client Configuration Manager (CCM). La communication opérationnelle entre ccmsetup et le site utilise le jeton CCM comme jeton d’autorisation (CcmTokenAuth=1).

3.1 Le client envoie une demande de jeton CCM à la passerelle de gestion cloud

Les entrées suivantes sont enregistrées dans ccmsetup.log sur le client :

Getting CCM Token from STS server 'cmg.cloudapp.net/CCM_PROXY_MutualAuth/72186325152220500'
Getting CCM Token from https://cmg.cloudapp.net/CCM_PROXY_MutualAuth/72186325152220500/CCM_STS

3.2 Transfert de la passerelle de gestion cloud vers le point de connexion de la passerelle de gestion cloud

Les entrées suivantes sont enregistrées dans CMGService.log sur la machine virtuelle de la passerelle de gestion cloud instance.

RequestUri: /CCM_PROXY_SERVERAUTH/72057594037937981/CCM_STS  RequestCount: 1  RequestSize: 1974 Bytes  ResponseCount: 1  ResponseSize: 1566 Bytes  AverageElapsedTime: 218 ms~~  $$<CMGService><06-24-2020 15:31:46.376+00><thread=4992 (0x1380)>

Conseil

Configuration Manager synchronise le fichier CMGService.log avec le dossier des journaux du serveur de site toutes les cinq minutes en tant que CMG-<CMGname>-ProxyService_IN_<%>-CMGService.log.

3.3 Le point de connexion de passerelle de gestion cloud transforme la requête cliente de la passerelle de gestion en demande cliente de point de gestion

Les entrées suivantes sont enregistrées dans SMS_CLOUD_PROXYCONNECTOR.log (mode détaillé) du système de site qui héberge le rôle de point de connexion de la passerelle de gestion cloud :

SMS_CLOUD_PROXYCONNECTOR    Switched to internal URL. Replaced 'https://CMG.CLOUDAPP.NET/CCM_Proxy_MutualAuth/72186325152220500/CCM_STS' in   'https://CMG.CLOUDAPP.NET/CCM_Proxy_MutualAuth/72186325152220500/CCM_STS' with 'https://MP.MYCORP.COM/CCM_STS' and got 'https:///MP.MYCORP.COM/CCM_STS~~

3.4 Le point de gestion vérifie le jeton utilisateur dans la base de données du site

Les entrées suivantes sont enregistrées CCM_STS.log du système de site qui héberge le point de gestion qui gère la demande du client :

ProcessRequest - Start
Incoming request URL: https://MP.MYCORP.COM/CCM_STS
Validated AAD token. TokenType: UDA TenantId: 2ca9a796-a1a6-43ec-88f1-5935b32155c5 UserId: e8838041-db7a-42d5-b9ae-78813910e4cc DeviceId: 8d2b4ff9-0172-4998-9851-b5324303385f OnPrem_UserSid: S-1-5-21-1527250992-855612568-2252598708-1604 OnPrem_DeviceSid:  
TokenType is UDA
Created SCCM token, token type: UDA, hierarchyId: 8ed3174b-e814-41b5-b51c-fb368f0d4003, userId: 23bbbba2-702e-4db4-8fd9-3b4fe3a5175d, deviceId: GUID:13E80CEF-5698-4C63-9ED6-E58FBFF78C38
Issued token
Return token to client

4. Demande d’emplacement du contenu

Une fois que le client obtient le jeton CCM, il le met en cache et l’utilise pour demander des informations sur le site et l’emplacement du contenu de ccmsetup.cab. Une fois que l’appareil a téléchargé le contenu du client, il démarre l’installation. Les entrées suivantes sont enregistrées dans ccmsetup.log sur le client :

Cached encrypted token for 'S-1-5-18'. Will expire at '06/25/2020 08:29:35'
ccmsetup: Host=CMG.cloudapp.net, Path=/CCM_Proxy_ServerAuth7981/ccm_system_tokenauth/request, Port=443, Protocol=https, CcmTokenAuth=1, Flags=0x4100, Options=0xe0
Created connection on port 443
Sending location request to 'cmg.cloudapp.net/CCM_PROXY_MutualAuth/72186325152220500' with payload '< Request >
Appending CCM Token to the header.
Received message '<SiteInfoReply SchemaVersion="1.00">  < reply > </SiteInfoReply>'
     ...
Checking the URL 'https://CMG.cloudapp.net/CCM_PROXY_MutualAuth/72186325152220500/CCM_Client/ccmsetup.cab
ccmsetup: Host=CMG.cloudapp.net, Path=/CCM_Proxy_ServerAuth/72057594037937995/CCM_Client
Appending CCM Token to the header.
Found a valid online MP 'https://CMG.cloudapp.net/CCM_PROXY_MutualAuth/72186325152220500
Searching for DP locations from MP(s)...
CCMSETUP bootstrap from Internet: 1
Sending message body '<ContentLocationRequest SchemaVersion="1.00"  BGRVersion="1"> ...
The location 'https://CMG.cloudapp.net/downloadrestservice.svc/getcontentxmlsecure?pid=CS100001&cid=CS100001
     ...
Installing version 5.00.8968.1000 of the client with product code {66653948-0717-4D50-B0B9-ED66FDED2DDB}
Running installation package
Package:     C:\WINDOWS\ccmsetup\{E6F27809-FF66-4BAA-B0FB-E4A154A6A388}\client.msi

Remarque

Si le client trouve le contenu à partir d’une passerelle de gestion cloud compatible avec le contenu, ccmsetup télécharge le contenu à partir du stockage cloud. Si la dernière version du client n’est pas disponible sur le cloud, elle télécharge le contenu à partir du point de gestion via une demande de passerelle de gestion cloud.

Inscription du client

Diagramme de flux de travail de l’inscription du client avec l’authentification Microsoft Entra

1. Configuration Manager l’inscription de la demande du client

Une fois que ccmsetup a correctement installé le client Configuration Manager, l’inscription s’initialise. Les entrées suivantes sont enregistrées dans ClientIDManagerStartup.log du client :

AADJoinStatusTask: Client hasn't been registered yet.
RegEndPoint: Event notification: CCM_RemoteClient_Reassigned
RegEndPoint: Received notification for site assignment change from '<none>' to 'MEM'.
     ...
[RegTask] - Starting registration, attempt 1.
[RegTask] - Client is not registered. Sending registration request for GUID:C66EE0FD-08E7-4B38-B282-7E6954B71139 ...
Registering client using AAD auth.

2. Configuration Manager demande Microsoft Entra jeton pour inscrire le client

Le client demande un nouveau jeton Microsoft Entra à inscrire à l’aide de l’authentification Microsoft Entra. Il préfère un jeton d’appareil, mais s’il n’est pas disponible, le client revient pour demander un jeton utilisateur Microsoft Entra. Les entrées suivantes sont enregistrées dans ADALOperationProvider.log du client :

Getting AAD (user) token with: ClientId = 0b7c8ab3-9ea1-4ffa-b2b9-8ffdd944bd8, ResourceUrl = https://ConfigMgrService, AccountId = 9756a359-f76a-47d5-8662-9a837012fc35
Retrieved AAD token for AAD user 'e8838041-db7a-42d5-b9ae-78813910e4cc'

3. Demande d’inscription

Le composant d’inscription sur le point de gestion gère le processus d’inscription du client. Le client envoie un message d’inscription au point de terminaison MP_ClientRegistration .

3.1 La passerelle de gestion cloud transfère la demande d’inscription du client au point de gestion

Les entrées suivantes sont enregistrées dans le MP_RegistrationManager.log du système de site qui héberge le point de gestion qui gère la demande du client :

Registering device using AAD auth: DeviceId='8d2b4ff9-0172-4998-9851-b5324303385f ', TenantId='c8c82542-203c-4df9-9d86-cdd4dae67e0a'
Processing Registration request from Client 'GUID:C66EE0FD-08E7-4B38-B282-7E6954B71139'

3.2 Configuration Manager client est inscrit

Si l’inscription réussit, le client reçoit un message de confirmation d’inscription avec Approbation 3 pour Microsoft Entra’inscription basée sur l’ID. Les entrées suivantes sont enregistrées dans ClientIDManagerStartup.log du client :

[RegTask] - Client is registered. Server assigned ClientID is GUID:C66EE0FD-08E7-4B38-B282-7E6954B71139. Approval status 3

4. Configuration Manager demande de jeton client

Une fois que le serveur a confirmé l’inscription du client, le client traite le message de réponse. Le client demande et met ensuite en cache un nouveau jeton CCM. Les entrées suivantes sont enregistrées dans ClientIDManagerStartup.log du client :

Getting CCM Token from STS server 'MP.MYCORP.COM'
Getting CCM Token from https://MP.MYCORP.COM/CCM_STS
     ...
Cached encrypted token for 'S-1-5-18'. Will expire at '08/12/2020 18:55:40'

4.1 La passerelle de gestion cloud obtient et transfère CCM_Token demande au point de connexion de la passerelle de gestion cloud

Les entrées suivantes sont enregistrées dans CMGService.log de la machine virtuelle de passerelle de gestion cloud et du système de site qui héberge le rôle de point de connexion de passerelle de gestion cloud :

RequestUri: /CCM_PROXY_SERVERAUTH/72057594037937981/CCM_STS  RequestCount: 769  RequestSize: 1081595 Bytes  ResponseCount: 769     ResponseSize: 36143 Bytes  AverageElapsedTime: 3945 ms

4.2 Le point de connexion de passerelle de gestion cloud transforme la requête cliente de la passerelle de gestion en demande cliente de point de gestion

Les entrées suivantes sont enregistrées dans SMS_CLOUD_PROXYCONNECTOR.log du système de site qui héberge le rôle de point de connexion de la passerelle de gestion cloud :

MessageID: 3087bd34-b82c-4950-b972-e82bb0fb8385 RequestURI: https://MP.MYCORP.COM/CCM_STS EndpointName: CCM_STS ResponseHeader: HTTP/1.1 200 OK ~~ ResponseBodySize: 0 ElapsedTime: 2 ms

4.3 Le point de gestion vérifie le jeton utilisateur dans la base de données du site

Les entrées suivantes sont enregistrées CCM_STS.log du système de site qui héberge le point de gestion qui gère la demande du client :

ProcessRequest - Start
Incoming request URL: https://MP.MYCORP.COM/CCM_STS
Validated AAD token. TokenType: UDA TenantId: 2ca9a796-a1a6-43ec-88f1-5935b32155c5 UserId: e8838041-db7a-42d5-b9ae-78813910e4cc DeviceId: 8d2b4ff9-0172-4998-9851-b5324303385f OnPrem_UserSid: S-1-5-21-1527250992-855612568-2252598708-1604 OnPrem_DeviceSid:  
TokenType is UDA
Created SCCM token, token type: UDA, hierarchyId: 8ed3174b-e814-41b5-b51c-fb368f0d4003, userId: 23bbbba2-702e-4db4-8fd9-3b4fe3a5175d, deviceId: GUID:13E80CEF-5698-4C63-9ED6-E58FBFF78C38
Issued token
Return token to client

Le serveur retourne le jeton CCM au client pour le reste de la communication client à site.

Remarque

Pendant l’inscription du client, la validation du certificat s’exécute toujours. Ce processus se produit même si vous utilisez la méthode d’authentification Microsoft Entra pour inscrire le client. Ce comportement est une option de secours, si Microsoft Entra’authentification échoue.

Renouvellement du jeton CCM

Le jeton CCM a une durée de vie de huit heures. Lorsque le client détecte que le jeton CCM a expiré ou est proche de son expiration, il envoie une nouvelle demande de jeton CCM. Le composant CcmMessaging gère ce processus de renouvellement. Les entrées suivantes sont enregistrées dans CcmMessaging.log du client :

Sending remote sync message '{BD03DEED-D09A-4E63-ADAD-596376FFB0DA}' to host 'CMG.CLOUDAPP.NET/CCM_Proxy_MutualAuth/72186325152220500' endpoint 'MP_PolicyManager'. Flags 0x280, sender account S-1-5-21-1721254763-462695806-1538882281-3289177
    ...
CCM Token for 'S-1-5-8-1721254763-462695806-1538882281-3289177' (12/23/2019 21:47:24) is already expired or close to expire
Getting CCM Token from https://CMG.CLOUDAPP.NET/CCM_Proxy_ServerAuth/72186325152220500/CCM_STS
Cached encrypted token for 'S-1-5-21-1721254763-462695806-1538882281-3289177'. Will expire at '01/10/2020 17:14:54'
    ...
ccmhttp: Host=CMG.CLOUDAPP.NET, Path=/CCM_Proxy_ServerAuth/72186325152220500/ccm_system_tokenauth/request, Port=443, Protocol=https, CcmTokenAuth=1, Flags=0x4200, Options=0x1e0
Target URL scheme is HTTPS: https://CMG.CLOUDAPP.NET/CCM_Proxy_ServerAuth/72186325152220500/ccm_system_tokenauth/request
Appending CCM Token to the header.
     ...
Message '{BD03DEED-D09A-4E63-ADAD-596376FFB0DA}' got reply message '{36EE3A78-8F6E-425F-BF5C-8460E8E56C33}' to endpoint 'dummy'

Problèmes courants

  • Autorité de certification racine absente : les clients ont besoin du certificat d’autorité de certification racine pour valider le certificat d’authentification du serveur de la passerelle de gestion cloud.

  • La case activée de liste de révocation de certificats est activée : Publiez la liste de révocation de certificats sur Internet. Vous pouvez également utiliser le /NoCRLCheck paramètre pour ccmsetup. Vous pouvez également désactiver l’option suivante : Les clients case activée la liste de révocation de certificats (CRL) pour les systèmes de site. Recherchez ce paramètre sous l’onglet Sécurité des communications des propriétés du site.

  • Le certificat WPJ est introuvable : vérifiez que l’appareil est Microsoft Entra joint. Utilisez dsregcmd.exe. Par exemple, dsregcmd /status et examinez la section État de l’appareil .

Conseil

La communication cliente via la passerelle de gestion cloud, le point de connexion de la passerelle de gestion cloud et le point de gestion s’exécute sur HTTPS. Si vous configurez le site pour le protocole HTTP amélioré, vous pouvez toujours configurer le point de gestion pour HTTP.

  • Le client vérifie le certificat d’authentification du serveur de passerelle de gestion cloud :

    • Certificat PKI : le client nécessite l’autorité de certification racine du certificat de passerelle de gestion cloud dans son magasin local.
    • Certificat tiers : les clients valident automatiquement un certificat avec son autorité de certification racine publiée sur Internet.
  • La passerelle de gestion cloud, le point de connexion de la passerelle de gestion cloud et le point de gestion valident Microsoft Entra ID et les jetons CCM.

  • La communication entre le point de connexion de la passerelle de gestion cloud et le point de gestion est également sécurisée aux deux extrémités :

    • Le point de connexion de la passerelle de gestion cloud utilise le certificat d’authentification client.
    • MP utilise un certificat PKI pour la configuration HTTPS, ou un certificat auto-signé pour http amélioré.