Flusso di lavoro di Autenticazione di Azure AD

Si applica a: Configuration Manager (current branch)

Questo articolo è un riferimento tecnico per il processo di installazione e registrazione del client di Configuration Manager in un dispositivo Windows aggiunto a Azure Active Directory (Azure AD). Vengono fornite informazioni dettagliate sul processo di flusso di lavoro per l'autenticazione del dispositivo.

Nota

Windows client ottengono un certificato di workplace join (WPJ) quando aderiscono a un tenant Azure AD aziendale. Se il certificato non viene trovato, il client di Configuration Manager non può richiedere Azure AD token. Senza un token, il client non può usare il canale di comunicazione del servizio token di sicurezza di Configuration Manager (CCM_STS) per l'autenticazione Azure AD con i sistemi del sito di Configuration Manager.

Installazione client

In questo esempio di flusso di lavoro è stato installato il client di Configuration Manager in un dispositivo Windows tramite Internet con le proprietà della riga di comando ccmsetup seguenti:

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

Diagramma del flusso di lavoro di CcmSetup con Azure AD autenticazione

1. Azure AD richiesta info da ccmsetup

I client installati da Internet necessitano di proprietà della riga di comando specifiche per utilizzare Azure AD autenticazione. È possibile includere queste proprietà nella riga di comando per ccmsetup internet,ma non sono necessarie. Quando non si utilizzano proprietà Azure AD, ccmsetup richiede le proprietà AADCLIENTAPPID e AADRESOURCEURI dal gateway di gestione cloud (CMG). Usa il tenantID del dispositivo Azure AD come riferimento. Se il TenantID del client non è stato ancora onboarded in Configuration Manager, CMG non assegna le proprietà necessarie a ccmsetup per continuare l'installazione del client.

Le voci seguenti vengono registrate nel file ccmsetup.log del 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

Durante ccmsetup, il dispositivo deve convalidare il certificato di autenticazione del server CMG. Il certificato dell'autorità di certificazione radice (CA) per il certificato di autenticazione del server CMG deve essere disponibile nel client per la convalida della catena. Se si utilizza l'infrastruttura AKI, quando l'autorità di certificazione radice non viene pubblicata su Internet, aggiungere il certificato ca radice all'archivio delle CA radice del dispositivo.

Se l'elenco di revoche di certificati (CRL) della CA radice non viene pubblicato su Internet, aggiungere il parametro /nocrlcheck nella riga di comando ccmsetup.

2. Azure AD token richiesta

In un Windows Azure AD aggiunto al dominio, ccmsetup usa le proprietà Azure AD per richiedere un token Azure AD che chiama il provider ADALOperation. Nel client vengono registrate le voci seguenti in ccmsetup.log:

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

Se la richiesta di token del dispositivo ha esito negativo, ccmsetup torna indietro per provare a richiedere un token Azure AD utente. Se il dispositivo non può ottenere un token Azure AD dispositivo o utente, ccmsetup non continua.

Nota

Se il dispositivo dispone di un certificato di autenticazione client PKI valido, ccmsetup preferisce sempre il certificato. In questo caso, il client viene installato come client PKI e non utilizza l'Azure AD autenticazione.

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. Richiesta di token client di Configuration Manager

Il client usa il token Azure AD per richiedere il token del client (CCM) di Configuration Manager. La comunicazione operativa tra ccmsetup e il sito usa il token CCM come token di autorizzazione (CcmTokenAuth=1).

3.1 Il client invia la richiesta di token CCM a CMG

Nel client vengono registrate le voci seguenti in ccmsetup.log:

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 CMG inoltra al punto di connessione CMG

Le voci seguenti vengono registrate in CMGService.log nell'istanza della macchina virtuale CMG.

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)>

Suggerimento

Configuration Manager sincronizza il file CMGService.log nella cartella dei registri del server del sito ogni cinque minuti come CMG-<CMGname>-ProxyService_IN_<%>-CMGService.log .

3.3 Il punto di connessione CMG trasforma la richiesta del client CMG in richiesta del client del punto di gestione

Le voci seguenti vengono registrate nel SMS_CLOUD_PROXYCONNECTOR.log (modalità dettagliata) del sistema del sito che ospita il ruolo del punto di connessione CMG:

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 Il punto di gestione verifica il token utente nel database del sito

Le voci seguenti vengono registrate nel CCM_STS.log del sistema del sito che ospita il punto di gestione che gestisce la richiesta del 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. Richiesta percorso contenuto

Una volta che il client ottiene il token CCM, lo memorizza nella cache e lo usa per richiedere le informazioni sul sito e il percorso del contenuto ccmsetup.cab. Dopo che il dispositivo scarica il contenuto del client, avvia l'installazione. Nel client vengono registrate le voci seguenti in ccmsetup.log:

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

Nota

Se il client trova il contenuto da un CMG abilitato al contenuto, ccmsetup scarica il contenuto dall'archiviazione cloud. Se la versione client più recente non è disponibile nel cloud, scarica il contenuto dal punto di gestione tramite una richiesta CMG.

Registrazione client

Diagramma del flusso di lavoro della registrazione client con Azure AD autenticazione

1. Registrazione delle richieste client di Configuration Manager

Dopo l'installazione corretta del client di Configuration Manager da parte di ccmsetup, la registrazione viene inizializzata. Le voci seguenti vengono registrate nel file ClientIDManagerStartup.log del 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 richiede Azure AD token per registrare il client

Il client richiede un nuovo token Azure AD da registrare usando Azure AD autenticazione. Preferisce un token del dispositivo, ma se non è disponibile, il client torna a richiedere un token Azure AD utente. Le voci seguenti vengono registrate nel file ADALOperationProvider.log del 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. Richiesta di registrazione

Il componente di registrazione nel punto di gestione gestisce il processo di registrazione del client. Il client invia un messaggio di registrazione all MP_ClientRegistration endpoint.

3.1 CMG inoltra la richiesta di registrazione del client al punto di gestione

Le voci seguenti vengono registrate nel MP_RegistrationManager.log del sistema del sito che ospita il punto di gestione che gestisce la richiesta 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 Il client Configuration Manager è registrato

Se la registrazione ha esito positivo, il client riceve un messaggio di conferma della registrazione con l'approvazione 3 per la Azure AD basata su certificati. Le voci seguenti vengono registrate nel file ClientIDManagerStartup.log del client:

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

4. Richiesta di token client di Configuration Manager

Dopo che il server ha confermato la registrazione del client, il client elabora il messaggio di risposta. Il client quindi richiede e memorizza nella cache un nuovo token CCM. Le voci seguenti vengono registrate nel file ClientIDManagerStartup.log del 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 CMG ottiene e inoltra CCM_Token richiesta al punto di connessione CMG

Le voci seguenti vengono registrate nel file CMGService.log della macchina virtuale CMG e nel sistema del sito che ospita il ruolo punto di connessione CMG:

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

4.2 Il punto di connessione CMG trasforma la richiesta del client CMG in richiesta client del punto di gestione

Le voci seguenti vengono registrate nel SMS_CLOUD_PROXYCONNECTOR.log del sistema del sito che ospita il ruolo del punto di connessione CMG:

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 Il punto di gestione verifica il token utente nel database del sito

Le voci seguenti vengono registrate nel CCM_STS.log del sistema del sito che ospita il punto di gestione che gestisce la richiesta del 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

Il server restituisce il token CCM al client per il resto delle comunicazioni da client a sito.

Nota

Durante la registrazione del client, la convalida del certificato viene sempre eseguita. Questo processo si verifica anche se si utilizza il metodo Azure AD di autenticazione per registrare il client. Questo comportamento è un'opzione di fallback, nel Azure AD'autenticazione non riesce.

Rinnovo token CCM

Il token CCM ha una durata di otto ore. Quando il client rileva che il token CCM è scaduto o vicino alla scadenza, invia una nuova richiesta di token CCM. Il componente CcmMessaging gestisce questo processo di rinnovo. Le voci seguenti vengono registrate nel file CcmMessaging.log del 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'

Problemi comuni

  • CA radice non presente: i client necessitano del certificato ca radice per convalidare il certificato di autenticazione del server CMG.

  • Il controllo CRL è abilitato: pubblicare il CRL su Internet. In alternativa, utilizzare il parametro /NoCRLCheck per ccmsetup. È inoltre possibile disabilitare l'opzione seguente: i client controllano l'elenco di revoche di certificati (CRL) per i sistemi del sito. Trovare questa impostazione nella scheda Sicurezza comunicazioni delle proprietà del sito.

  • Il certificato WPJ non viene trovato: assicurati che il dispositivo sia Azure AD aggiunto. Utilizzare dsregcmd.exe. Ad esempio, dsregcmd /status e guarda la sezione Device State.

Suggerimento

Le comunicazioni client tramite CMG, punto di connessione CMG e punto di gestione vengono eseguiti su HTTPS. Se si configura il sito per HTTP avanzato, è comunque possibile configurare il punto di gestione per HTTP.

  • Il client verifica il certificato di autenticazione del server CMG:

    • Certificato PKI: il client richiede l'autorità di certificazione radice del certificato CMG nel relativo archivio locale.
    • Certificato di terze parti: i client convalidano automaticamente un certificato con la CA radice pubblicata su Internet.
  • CMG, punto di connessione CMG e punto di gestione convalidano Azure AD token CCM.

  • La comunicazione tra il punto di connessione CMG e il punto di gestione è protetta in entrambe le estremità:

    • Il punto di connessione CMG usa il certificato di autenticazione client.
    • MP usa un certificato PKI per la configurazione HTTPS o un certificato autofirmato per HTTP avanzato.