Azure AD authentication workflow (Fluxo de trabalho da autenticação do Azure AD)
Aplica-se a: Configuration Manager (ramo atual)
Este artigo é uma referência técnica para o processo de instalação e registo do cliente do Gestor de Configuração num dispositivo Windows 10 que se junta a Azure Ative Directory (Azure AD). Detalha o processo de fluxo de trabalho para a autenticação do dispositivo.
Nota
Windows 10 os clientes recebem um certificado de alistagem no local de trabalho (WPJ) quando se juntam a um inquilino da AD Azure. Se o certificado não for encontrado, o cliente do Gestor de Configuração não pode solicitar fichas AD Azure. Sem um token, o cliente não pode usar o serviço de comunicação de símbolo de segurança do Gestor de Configuração (CCM_STS) para autenticação Azure AD com sistemas de site do Gestor de Configuração.
Instalação do cliente
Nesta amostra de fluxo de trabalho, instalou o cliente Do Gestor de Configuração num dispositivo Windows 10 através da internet com as seguintes propriedades da linha de comando ccmsetup:
CCMHOSTNAME="CMG.CLOUDAPP.NET/CCM_Proxy_MutualAuth/72186325152220500" SMSSITECODE="MEM"
1. Pedido de informação da AZure AD do CCMsetup
Os clientes instalados a partir da internet precisam de propriedades específicas da linha de comando para utilizar a autenticação AZure AD. Pode incluir estas propriedades na linha de comando para o ccmsetup da internet,mas não são necessárias. Quando não utiliza propriedades AD Azure, o CCMsetup solicita as propriedades AADCLIENTAPPID e AADRESOURCEURI do gateway de gestão de nuvem (CMG). Utiliza o Azure AD TenantID do dispositivo como referência. Caso não tenha a bordo o TenantID do cliente em Gestor de Configuração, a CMG não dá as propriedades necessárias ao CCMsetup para continuar a instalação do cliente.
As seguintes entradas são registadas no ccmsetup.log do cliente:
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 o ccmsetup, o dispositivo tem de validar o certificado de autenticação do servidor CMG. O certificado de autenticação do certificado de autenticação do servidor CMG tem de estar disponível no cliente para validação em cadeia. Se utilizar o PKI, quando a raiz CA não for publicada na internet, adicione o certificado de CA raiz à loja CAs raiz do dispositivo.
Se a lista de revogação do certificado de CA raiz (CRL) não for publicada na Internet, adicione o parâmetro /nocrlcheck na linha de comando ccmsetup.
2. Pedido de ficha ad Azure
Num dispositivo de ligação ao domínio Azure AD Windows 10, o CCMsetup utiliza as propriedades AD AZure para solicitar um token AD Azure chamando o fornecedor ADALOperation. As seguintes entradas são registadas no ccmsetup.log no cliente:
Getting AAD (device) token with: ClientId = 0b7c8ab3-9ea1-4ffa-b2b9-8ffdd944bd8b, ResourceUrl = https://ConfigMgrService, AccountId = https://login.microsoftonline.com/common/oauth2/token
Se o pedido de token do dispositivo falhar, o ccmsetup volta a cair para tentar solicitar um token de utilizador AZure. Se o dispositivo não conseguir obter um dispositivo AD Azure ou um token do utilizador, o ccmsetup não continua.
Nota
Se o dispositivo tiver um certificado de autenticação de cliente PKI válido, o CCMsetup prefere sempre o certificado. Neste caso, o cliente instala-se como cliente PKI e não utiliza a autenticação AD Azure.
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. Pedido de símbolo de cliente do Gestor de Configuração
O cliente usa o token AD Azure para solicitar o token do Cliente Gestor de Configuração (CCM). A comunicação operacional entre o ccmsetup e o site utiliza o token CCM como símbolo de autorização (CcmTokenAuth=1).
3.1 Cliente envia pedido de ficha ccm à CMG
As seguintes entradas são registadas no ccmsetup.log no cliente:
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 encaminha-se para o ponto de ligação CMG
As seguintes entradas são registadas no CMGService.log na instância cmg VM.
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)>
Dica
O Gestor de Configuração sincroniza o CMGService.log no servidor do site regista a pasta a cada cinco minutos como CMG-<CMGname>-ProxyService_IN_<%>-CMGService.log
.
3.3 Ponto de ligação CMG transforma pedido de cliente CMG para pedido de cliente de ponto de gestão
As seguintes entradas são registadas no SMS_CLOUD_PROXYCONNECTOR.log (modo verboso) do sistema de site que acolhe a função de ponto de ligação 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 Ponto de gestão verifica ficha de utilizador na base de dados do site
As seguintes entradas são registadas em CCM_STS.log do sistema de site que acolhe o ponto de gestão que trata do pedido do cliente:
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. Pedido de localização de conteúdo
Assim que o cliente obtém o token CCM, ele cache e usa-o para solicitar informações do site e localização de conteúdo de ccmsetup.cab. Assim que o dispositivo descarrega o conteúdo do cliente, inicia a instalação. As seguintes entradas são registadas no ccmsetup.log no cliente:
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 o cliente encontrar o conteúdo a partir de um CMG ativado por conteúdo, o ccmsetup descarrega o conteúdo do armazenamento na nuvem. Se a versão mais recente do cliente não estiver disponível na nuvem, descarrega o conteúdo do ponto de gestão através de um pedido cmg.
Registo de clientes
1. Registo de pedido de cliente do Gestor de Configuração
Uma vez que o CCMsetup instala com sucesso o cliente Gestor de Configuração, o registo iniciais. As seguintes entradas são registadas no ClientIDManagerStartup.log do cliente:
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. Gestor de Configuração pede ficha AD Azure para registar cliente
O cliente solicita um novo token AD Azure para registar usando a autenticação AZure AD. Prefere um símbolo do dispositivo, mas se não estiver disponível, o cliente volta a solicitar um token de utilizador Azure. As seguintes entradas são registadas no ADALOperationProvider.log do cliente:
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. Pedido de registo
A componente de registo no ponto de gestão trata do processo de registo do cliente. O cliente envia uma mensagem de registo para o MP_ClientRegistration ponto final.
3.1 CMG remete o pedido de registo do cliente para o ponto de gestão
As seguintes entradas são registadas no MP_RegistrationManager.log do sistema de site que acolhe o ponto de gestão que trata do pedido do cliente:
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 Cliente do Gestor de Configuração está registado
Se o registo for bem sucedido, o cliente recebe uma mensagem de confirmação de registo com aprovação 3 para registo baseado em Azure AD. As seguintes entradas são registadas no ClientIDManagerStartup.log do cliente:
[RegTask] - Client is registered. Server assigned ClientID is GUID:C66EE0FD-08E7-4B38-B282-7E6954B71139. Approval status 3
4. Pedido de símbolo de cliente do Gestor de Configuração
Assim que o servidor confirmar o registo do cliente, o cliente processa a mensagem de resposta. Em seguida, o cliente solicita e caches um novo token CCM. As seguintes entradas são registadas no ClientIDManagerStartup.log do cliente:
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 recebe e encaminha CCM_Token pedido para o ponto de ligação CMG
As seguintes entradas são registadas no CMGService.log do CMG VM e do sistema de site que acolhe a função de ponto de ligação CMG:
RequestUri: /CCM_PROXY_SERVERAUTH/72057594037937981/CCM_STS RequestCount: 769 RequestSize: 1081595 Bytes ResponseCount: 769 ResponseSize: 36143 Bytes AverageElapsedTime: 3945 ms
4.2 Ponto de ligação CMG transforma pedido de cliente CMG para pedido de cliente de ponto de gestão
As seguintes entradas são registadas em SMS_CLOUD_PROXYCONNECTOR.log do sistema de site que acolhe a função de ponto de ligação 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 Ponto de gestão verifica ficha de utilizador na base de dados do site
As seguintes entradas são registadas em CCM_STS.log do sistema de site que acolhe o ponto de gestão que trata do pedido do cliente:
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
O servidor devolve o token CCM ao cliente para o resto da comunicação cliente-local.
Nota
Durante o registo do cliente, a validação do certificado é sempre executado. Este processo acontece mesmo que esteja a utilizar o método de autenticação Azure AD para registar o cliente. Este comportamento é uma opção de recuo, caso a autenticação Azure AD não tenha sucesso.
Renovação simbólica do CCM
O símbolo do CCM tem uma vida de oito horas. Quando o cliente deteta que o token CCM está expirado ou perto de expirar, envia um novo pedido de ficha ccm. O componente CcmMessaging trata deste processo de renovação. As seguintes entradas são registadas na CcmMessaging.log do cliente:
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'
Problemas comuns
Root CA não presente: Os clientes precisam do certificado de CA raiz para validar o certificado de autenticação do servidor CMG.
A verificação crl está ativada: Publique o CRL na internet. Como alternativa, utilize o parâmetro /NoCRLCheck para ccmsetup. Também pode desativar a seguinte opção: Os clientes verificam a lista de revogação do certificado (CRL) para sistemas de site. Encontre esta definição no separador Segurança de Comunicação das propriedades do site.
O certificado WPJ não é encontrado: Certifique-se de que o dispositivo está aderido a Azure. Utilize dsregcmd.exe. Por exemplo,
dsregcmd /status
e olhe para a secção Estado do Dispositivo.
Dica
A comunicação do cliente através de CMG, ponto de ligação CMG e ponto de gestão passa por HTTPS. Se configurar o site para HTTP melhorado, ainda pode configurar o ponto de gestão para HTTP.
O cliente verifica o certificado de autenticação do servidor CMG:
- Certificado PKI: O cliente requer a raiz ca do certificado CMG na sua loja local.
- Certificado de terceiros: Os clientes validam automaticamente um certificado com a sua CA de raiz publicada na internet.
CMG, ponto de ligação CMG e ponto de gestão validam fichas Azure AD e CCM.
A comunicação entre o ponto de ligação CMG e o ponto de gestão também é assegurada em ambas as extremidades:
- O ponto de ligação CMG utiliza certificado de auth cliente.
- MP utiliza um certificado PKI para configuração HTTPS, ou um certificado auto-assinado para HTTP melhorado.