przepływ pracy uwierzytelniania Microsoft Entra

Dotyczy: programu Configuration Manager (bieżąca gałąź)

Ten artykuł jest dokumentacją techniczną procesu instalacji i rejestracji klienta Configuration Manager na urządzeniu z systemem Windows przyłączonym do Microsoft Entra identyfikatora. Szczegółowe informacje o procesie przepływu pracy uwierzytelniania urządzenia.

Uwaga

Klienci systemu Windows otrzymują certyfikat dołączania do miejsca pracy (WPJ) podczas dołączania do dzierżawy Microsoft Entra. Jeśli certyfikat nie zostanie znaleziony, klient Configuration Manager nie może zażądać tokenów Microsoft Entra. Bez tokenu klient nie może używać kanału komunikacji usługi Configuration Manager tokenu zabezpieczającego (CCM_STS) do uwierzytelniania Microsoft Entra za pomocą Configuration Manager systemów lokacji.

Instalacja klienta

W tym przykładzie przepływu pracy zainstalowano klienta Configuration Manager na urządzeniu z systemem Windows przez Internet z następującymi właściwościami wiersza polecenia ccmsetup:

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

Diagram przepływu pracy programu CcmSetup z uwierzytelnianiem Microsoft Entra

1. żądanie informacji Microsoft Entra od ccmsetup

Klienci zainstalowani z Internetu potrzebują określonych właściwości wiersza polecenia, aby korzystać z uwierzytelniania Microsoft Entra. Te właściwości można uwzględnić w wierszu polecenia dla internetowego programu ccmsetup, ale nie są one wymagane. Jeśli nie używasz właściwości Microsoft Entra, program ccmsetup żąda AADCLIENTAPPID właściwości i AADRESOURCEURI z bramy zarządzania chmurą (CMG). Używa identyfikatora dzierżawy Microsoft Entra urządzenia jako odwołania. Jeśli identyfikator TenantID klienta nie został dołączony w Configuration Manager, cmg nie daje wymaganych właściwości do ccmsetup, aby kontynuować instalację klienta.

Następujące wpisy są rejestrowane w pliku ccmsetup.log klienta:

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.

Ważna

Podczas ccmsetup urządzenie musi zweryfikować certyfikat uwierzytelniania serwera CMG. Certyfikat głównego urzędu certyfikacji dla certyfikatu uwierzytelniania serwera CMG musi być dostępny na kliencie w celu weryfikacji łańcucha. Jeśli używasz infrastruktury kluczy publicznych, jeśli główny urząd certyfikacji nie jest publikowany w Internecie, dodaj certyfikat głównego urzędu certyfikacji do głównego magazynu urzędów certyfikacji urządzenia.

Jeśli lista odwołania certyfikatów głównego urzędu certyfikacji (CRL) nie jest opublikowana w Internecie, dodaj /nocrlcheck parametr w wierszu polecenia ccmsetup.

2. żądanie tokenu Microsoft Entra

Na urządzeniu z systemem Windows Azure AD przyłączonym do domeny program ccmsetup używa właściwości Microsoft Entra do żądania tokenu Microsoft Entra wywołującego dostawcę ADALOperation. Następujące wpisy są rejestrowane w pliku ccmsetup.log na kliencie:

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

Jeśli żądanie tokenu urządzenia nie powiedzie się, program ccmsetup powróci, aby spróbować zażądać tokenu Microsoft Entra użytkownika. Jeśli urządzenie nie może uzyskać Microsoft Entra urządzenia lub tokenu użytkownika, program ccmsetup nie będzie kontynuowany.

Uwaga

Jeśli urządzenie ma prawidłowy certyfikat uwierzytelniania klienta infrastruktury kluczy publicznych, program ccmsetup zawsze preferuje certyfikat. W takim przypadku klient jest instalowany jako klient infrastruktury kluczy publicznych i nie używa uwierzytelniania 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. żądanie tokenu klienta Configuration Manager

Klient używa tokenu Microsoft Entra do żądania tokenu klienta Configuration Manager (CCM). Komunikacja operacyjna między programem ccmsetup a lokacją używa tokenu CCM jako tokenu autoryzacji (CcmTokenAuth=1).

3.1 Klient wysyła żądanie tokenu CCM do usługi CMG

Następujące wpisy są rejestrowane w pliku ccmsetup.log na kliencie:

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 forwards to CMG connection point (3.2 CMG forwards to CMG connection point)

Następujące wpisy są rejestrowane w pliku CMGService.log w wystąpieniu maszyny wirtualnej 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)>

Porada

Configuration Manager synchronizuje plik CMGService.log z folderem dzienników serwera lokacji co pięć minut jako CMG-<CMGname>-ProxyService_IN_<%>-CMGService.log.

3.3 Punkt połączenia CMG przekształca żądanie klienta cmg na żądanie klienta punktu zarządzania

Następujące wpisy są rejestrowane w SMS_CLOUD_PROXYCONNECTOR.log (tryb pełny) systemu lokacji, który hostuje rolę punktu połączenia 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 Punkt zarządzania weryfikuje token użytkownika w bazie danych lokacji

Następujące wpisy są rejestrowane w pliku CCM_STS.log systemu lokacji hostującego punkt zarządzania obsługujący żądanie klienta:

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. Żądanie lokalizacji zawartości

Gdy klient pobierze token CCM, buforuje go i używa go do żądania informacji o lokacji i lokalizacji zawartości ccmsetup.cab. Gdy urządzenie pobierze zawartość klienta, rozpocznie instalację. Następujące wpisy są rejestrowane w pliku ccmsetup.log na kliencie:

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

Uwaga

Jeśli klient znajdzie zawartość z poziomu cmg z obsługą zawartości, program ccmsetup pobierze zawartość z magazynu w chmurze. Jeśli najnowsza wersja klienta nie jest dostępna w chmurze, pobiera zawartość z punktu zarządzania za pośrednictwem żądania cmg.

Rejestracja klienta

Diagram przepływu pracy rejestracji klienta przy użyciu uwierzytelniania Microsoft Entra

1. rejestracja żądania klienta Configuration Manager

Po pomyślnym zainstalowaniu klienta Configuration Manager program ccmsetup inicjuje rejestrację. Następujące wpisy są rejestrowane w clientIDManagerStartup.log klienta:

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 żąda Microsoft Entra tokenu w celu zarejestrowania klienta

Klient żąda nowego tokenu Microsoft Entra w celu zarejestrowania się przy użyciu uwierzytelniania Microsoft Entra. Preferuje token urządzenia, ale jeśli nie jest dostępny, klient wraca do żądania Microsoft Entra tokenu użytkownika. Następujące wpisy są rejestrowane w dzienniku ADALOperationProvider.log klienta:

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. Żądanie rejestracji

Składnik rejestracji w punkcie zarządzania obsługuje proces rejestracji klienta. Klient wysyła komunikat rejestracji do punktu końcowego MP_ClientRegistration .

3.1 Cmg przekazuje żądanie rejestracji klienta do punktu zarządzania

Następujące wpisy są rejestrowane w pliku MP_RegistrationManager.log systemu lokacji hostującego punkt zarządzania obsługujący żądanie klienta:

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 klient Configuration Manager jest zarejestrowany

Jeśli rejestracja zakończy się pomyślnie, klient otrzyma komunikat potwierdzający rejestrację z zatwierdzeniem 3 w celu Microsoft Entra rejestracji opartej na identyfikatorze. Następujące wpisy są rejestrowane w clientIDManagerStartup.log klienta:

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

4. żądanie tokenu klienta Configuration Manager

Gdy serwer potwierdzi rejestrację klienta, klient przetwarza komunikat odpowiedzi. Następnie klient żąda i buforuje nowy token CCM. Następujące wpisy są rejestrowane w clientIDManagerStartup.log klienta:

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 pobiera i przekazuje żądanie CCM_Token do punktu połączenia CMG

Następujące wpisy są rejestrowane w pliku CMGService.log maszyny wirtualnej cmg i systemu lokacji hostującego rolę punktu połączenia cmg:

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

4.2 Punkt połączenia CMG przekształca żądanie klienta cmg na żądanie klienta punktu zarządzania

Następujące wpisy są rejestrowane w pliku SMS_CLOUD_PROXYCONNECTOR.log systemu lokacji, który hostuje rolę punktu połączenia 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 Punkt zarządzania weryfikuje token użytkownika w bazie danych lokacji

Następujące wpisy są rejestrowane w pliku CCM_STS.log systemu lokacji hostującego punkt zarządzania obsługujący żądanie klienta:

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

Serwer zwraca token CCM do klienta w pozostałej części komunikacji między klientem a lokacją.

Uwaga

Podczas rejestracji klienta zawsze jest uruchamiana walidacja certyfikatu. Ten proces odbywa się nawet wtedy, gdy używasz metody uwierzytelniania Microsoft Entra do zarejestrowania klienta. To zachowanie jest opcją rezerwową, jeśli uwierzytelnianie Microsoft Entra nie powiedzie się.

Odnawianie tokenu CCM

Token CCM ma okres istnienia wynoszący osiem godzin. Gdy klient wykryje, że token CCM wygasł lub jest bliski wygaśnięcia, wysyła nowe żądanie tokenu CCM. Składnik CcmMessaging obsługuje ten proces odnawiania. Następujące wpisy są rejestrowane w pliku CcmMessaging.log klienta:

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'

Typowe problemy

  • Główny urząd certyfikacji nie jest obecny: klienci potrzebują certyfikatu głównego urzędu certyfikacji, aby zweryfikować certyfikat uwierzytelniania serwera CMG.

  • Sprawdzanie listy CRL jest włączone: opublikuj listę CRL w Internecie. Alternatywnie użyj parametru /NoCRLCheck ccmsetup. Można również wyłączyć następującą opcję: Klienci sprawdzają listę odwołania certyfikatów (CRL) dla systemów lokacji. To ustawienie znajduje się na karcie Zabezpieczenia komunikacji we właściwościach witryny.

  • Nie można odnaleźć certyfikatu WPJ: upewnij się, że urządzenie jest Microsoft Entra przyłączone. Użyj dsregcmd.exe. Na przykład dsregcmd /status zapoznaj się z sekcją Stan urządzenia .

Porada

Komunikacja z klientem za pośrednictwem cmg, punktu połączenia cmg i punktu zarządzania jest uruchamiana za pośrednictwem protokołu HTTPS. Jeśli skonfigurujesz lokację pod kątem rozszerzonego protokołu HTTP, nadal możesz skonfigurować punkt zarządzania dla protokołu HTTP.

  • Klient weryfikuje certyfikat uwierzytelniania serwera CMG:

    • Certyfikat PKI: Klient wymaga głównego urzędu certyfikacji certyfikatu cmg w magazynie lokalnym.
    • Certyfikat innej firmy: klienci automatycznie weryfikują certyfikat za pomocą głównego urzędu certyfikacji opublikowanego w Internecie.
  • Cmg, punkt połączenia CMG i punkt zarządzania weryfikują Microsoft Entra identyfikator i tokeny CCM.

  • Komunikacja między punktem połączenia cmg i punktem zarządzania jest również zabezpieczona w obu końcach:

    • Punkt połączenia cmg używa certyfikatu uwierzytelniania klienta.
    • Protokół MP używa certyfikatu PKI na potrzeby konfiguracji protokołu HTTPS lub certyfikatu z podpisem własnym dla rozszerzonego protokołu HTTP.