Configurar a aceleração automática de início de sessão
Este artigo fornece uma introdução à configuração do comportamento de autenticação do Microsoft Entra para usuários federados usando a política HRD (Home Realm Discovery). Ele abrange o uso do login de aceleração automática para ignorar a tela de entrada de nome de usuário e encaminhar automaticamente os usuários para pontos de extremidade de entrada federados. Para saber mais sobre a política de DRH, consulte o artigo Home Realm Discovery .
Pré-requisitos
Para configurar a política de HRD para um aplicativo no Microsoft Entra ID, você precisa:
- Uma conta do Azure com uma subscrição ativa. Se ainda não tiver uma, pode criar uma conta gratuitamente.
- A função de Administrador de Aplicativos
Início de sessão automático
Algumas organizações configuram domínios em seu inquilino do Microsoft Entra para estabelecer federação com outro provedor de identidade (IDP), como os Serviços de Federação do Active Directory (ADFS) para autenticação de usuários. Quando um utilizador inicia sessão numa aplicação, é-lhe apresentada pela primeira vez uma página de início de sessão do Microsoft Entra. Depois de digitarem seu Nome Principal de Usuário (UPN), se estiverem em um domínio federado, serão levados para a página de entrada do IDP que serve esse domínio. Em determinadas circunstâncias, os administradores podem querer direcionar os utilizadores para a página de início de sessão quando iniciam sessão em aplicações específicas. Como resultado, os usuários podem ignorar a página inicial do Microsoft Entra ID. Esse processo é conhecido como "aceleração automática de entrada".
Para usuários federados com credenciais habilitadas para nuvem, como entrada SMS (Short Message Service) ou chaves FIDO, você deve impedir a aceleração automática de entrada. Consulte Desativar a aceleração automática do início de sessão para saber como evitar pistas de domínio com o HRD.
Importante
A partir de abril de 2023, as organizações que usam aceleração automática ou smartlinks podem começar a ver uma nova tela adicionada à interface de iniciação de sessão. Este ecrã, denominado Caixa de Diálogo de Confirmação de Domínio, faz parte do compromisso geral da Microsoft com o reforço de segurança e exige que o utilizador confirme o domínio do tenant no qual está a iniciar sessão. Caso veja a Caixa de Diálogo de Confirmação de Domínio e não reconheça o domínio de locatário listado, deve cancelar o fluxo de autenticação e contactar o administrador dos sistemas de TI.
Para obter mais informações, visite a caixa de diálogo de confirmação de domínio.
Configurar uma política de DRH usando o Microsoft Graph PowerShell
Utilizamos cmdlets do Microsoft Graph PowerShell para explorar alguns cenários, incluindo:
- Configurar a política de HRD para fazer aceleração automática para um aplicativo em um locatário com um único domínio federado.
- Configurar a política de HRD para fazer a aceleração automática de uma aplicação para um dos vários domínios verificados para o seu inquilino.
- Estabelecer a política de HRD para permitir a um aplicativo herdado realizar autenticação direta do nome de utilizador/senha no Microsoft Entra ID para utilizadores federados.
- Listando os aplicativos para os quais uma política está configurada.
Nos exemplos a seguir, você cria, atualiza, vincula e exclui políticas de DRH em entidades de serviço de aplicativo no Microsoft Entra ID.
Antes de começar, execute o comando Connect para iniciar sessão no Microsoft Entra ID com pelo menos a função de Administrador de Aplicativos :
connect-MgGraph -scopes "Policy.Read.All"
Execute o seguinte comando para ver todas as políticas na sua organização:
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Se nada for devolvido, isso significa que não tem políticas criadas no seu locatário.
Criar uma política de DRH usando o Microsoft Graph PowerShell
Neste exemplo, você cria uma política de tal forma que, ao atribuí-la a um aplicativo, ela:
- Redireciona automaticamente os usuários para um ecrã de início de sessão do fornecedor de identidade federada ao entrarem numa aplicação quando há um único domínio no seu locatário.
- Acelera automaticamente os utilizadores para um ecrã de início de sessão do provedor de identidade federada se houver mais de um domínio federado no seu tenant.
- Permite o início de sessão não interativo com nome de utilizador/palavra-passe diretamente no Microsoft Entra ID para utilizadores federados para as aplicações às quais a política está atribuída.
A política a seguir acelera automaticamente os usuários para uma tela de entrada do provedor de identidade federada quando eles estão entrando em um aplicativo quando há um único domínio em seu locatário.
Execute o comando Connect para entrar no Microsoft Entra ID com pelo menos a função Application Administrator:
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
Execute o seguinte comando para criar uma nova política de DRH:
# Define the parameters for the policy $params = @{ definition = @( '{"HomeRealmDiscoveryPolicy":{ "AccelerateToFederatedDomain":true, } }' ) displayName = "BasicAutoAccelerationPolicy" isOrganizationDefault = $true } # Create a new Home Realm Discovery Policy New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
A política a seguir acelera automaticamente os usuários para uma tela de entrada do provedor de identidade federada quando há mais de um domínio federado em seu locatário. Se você tiver mais de um domínio federado que autentica usuários para aplicativos, precisará especificar o domínio para aceleração automática.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AccelerateToFederatedDomain":true,
"PreferredDomain":"federated.example.edu"
}}'
)
displayName = "MultiDomainAutoAccelerationPolicy"
isOrganizationDefault = $true
}
# Create the new policy
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
A política a seguir habilita a autenticação de nome de usuário/senha para usuários federados diretamente com o Microsoft Entra ID para aplicativos específicos:
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration"
# Define the parameters for the New-MgPolicyHomeRealmDiscoveryPolicy cmdlet
$params = @{
definition = @(
'{"HomeRealmDiscoveryPolicy":{
"AllowCloudPasswordValidation":true
}
}'
)
displayName = "EnableDirectAuthPolicy"
}
New-MgPolicyHomeRealmDiscoveryPolicy -BodyParameter $params
Para ver sua nova política e obter seu ObjectID, execute o seguinte comando:
Get-MgPolicyHomeRealmDiscoveryPolicy -Property Id, displayName
Para aplicar a política de RH depois de criá-la, pode-se atribuí-la a várias entidades de serviço.
Localize a entidade de serviço para atribuir a política usando o Microsoft Graph PowerShell
Você precisa do ObjectID das entidades de serviço às quais deseja atribuir a política. Há várias maneiras de encontrar o ObjectID de entidades de serviço.
Você pode usar o Centro de administração do Microsoft Entra. Usando esta opção:
- Navegue até Identity>Aplicações>Aplicações empresariais>Todas as aplicações.
- Introduza o nome da aplicação existente na caixa de pesquisa e, em seguida, selecione a aplicação nos resultados da pesquisa. Copie o ID do objeto do aplicativo.
Como você está usando o Microsoft Graph PowerShell, execute o cmdlet a seguir para listar as entidades de serviço e suas IDs.
connect-MgGraph -scopes "Application.Read.All"
Get-MgServicePrincipal
Atribua a política à sua entidade de serviço usando o Microsoft Graph PowerShell
Depois de ter o ObjectID da entidade de serviço do aplicativo para o qual você deseja configurar a aceleração automática, execute o seguinte comando. Este comando associa a política de HRD que criou à entidade de serviço que localizou nas seções anteriores.
connect-MgGraph -scopes "Policy.ReadWrite.ApplicationConfiguration", "Application.ReadWrite.All"
# Define the parameters for the New-MgServicePrincipalHomeRealmDiscoveryPolicy cmdlet
$assignParams = @{
"@odata.id" = "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>"
}
New-MgServicePrincipalHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -BodyParameter $assignParams
Você pode repetir esse comando para cada entidade de serviço à qual deseja adicionar a política.
No caso de um aplicativo já ter uma política de Home Realm Discovery atribuída, você não poderá adicionar uma segunda. Nesse caso, altere a definição da política de DRH atribuída ao aplicativo para adicionar parâmetros extras.
Verifique a quais entidades de serviço sua política de DRH está atribuída usando o Microsoft Graph PowerShell
Execute o seguinte comando para listar as entidades de serviço às quais a política é atribuída:
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>"
# Replace with the actual ObjectId of the Policy
Certifique-se de testar a experiência de entrada do aplicativo para verificar se a nova política está funcionando.
Configurar uma política de DRH usando o Microsoft Graph
Usamos chamadas de API do Microsoft Graph para percorrer alguns cenários, incluindo:
Configurar a política de HRD para fazer aceleração automática para um aplicativo em um locatário com um único domínio federado.
Configurar a política de DRH para fazer a aceleração automática de um aplicativo para um dos vários domínios verificados para seu locatário.
Configuração da política de HRD para permitir que um aplicativo herdado faça autenticação direta de nome de usuário/senha para o Microsoft Entra ID para um usuário federado.
Listando os aplicativos para os quais uma política está configurada.
Nos exemplos a seguir, você cria, atualiza, vincula e exclui políticas de DRH em entidades de serviço de aplicativo no Microsoft Entra ID.
Antes de começar, acesse a janela do Microsoft Graph Explorer.
Dê consentimento para a
Policy.Read.All
permissão.Execute a seguinte chamada de API para ver todas as políticas em sua organização:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Se nada for devolvido, significa que não tem políticas criadas no seu locatário.
Criar uma política de DRH usando o Microsoft Graph
Neste exemplo, você cria uma política de tal forma que, ao atribuí-la a um aplicativo, ela:
- Acelera automaticamente os usuários para uma tela de entrada do provedor de identidade federada quando eles estão entrando em um aplicativo quando há um único domínio em seu locatário.
- Acelera automaticamente os usuários para uma tela de entrada do provedor de identidade federada se houver mais de um domínio federado em seu locatário.
- Permite o início de sessão não interativo através de nome de utilizador e palavra-passe diretamente no Microsoft Entra ID para utilizadores federados, nas aplicações às quais a política está atribuída.
A política a seguir acelera automaticamente os usuários para uma tela de entrada do provedor de identidade federada quando eles estão entrando em um aplicativo quando há um único domínio em seu locatário.
Na janela do explorador do Microsoft Graph:
Dê consentimento para a
Policy.ReadWrite.ApplicationConfiguration
permissão.POST a nova política ou PATCH para atualizar uma política existente.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies { "definition": [ "{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true}}" ], "displayName": "BasicAutoAccelerationPolicy", "isOrganizationDefault": true }
A política a seguir acelera automaticamente os usuários para uma tela de entrada do provedor de identidade federada quando há mais de um domínio federado em seu locatário. Se você tiver mais de um domínio federado que autentica usuários para aplicativos, precisará especificar o domínio para aceleração automática.
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AccelerateToFederatedDomain\":true,\"PreferredDomain\":\"federated.example.edu\"}}"
],
"displayName": "MultiDomainAutoAccelerationPolicy",
"isOrganizationDefault": true
}
A política a seguir habilita a autenticação de nome de usuário/senha para usuários federados diretamente com o Microsoft Entra ID para aplicativos específicos:
POST https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
{
"definition": [
"{\"HomeRealmDiscoveryPolicy\":{\"AllowCloudPasswordValidation\":true}}"
],
"displayName": "EnableDirectAuthPolicy"
}
Para ver sua nova política e obter seu ObjectID, execute a seguinte chamada de API:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies
Para aplicar a política de Desenvolvimento de Recursos Humanos depois de a criar, pode atribuí-la a vários principais de serviço.
Localize a entidade de serviço para atribuir a política usando o Microsoft Graph
Você precisa do ObjectID das entidades de serviço às quais deseja atribuir a política. Há várias maneiras de encontrar o ObjectID de entidades de serviço.
Você pode usar o Centro de administração do Microsoft Entra. Usando esta opção:
Navegue até Identidade>Aplicações>Aplicações empresariais>Todas as aplicações.
Introduza o nome da aplicação existente na caixa de pesquisa e, em seguida, selecione a aplicação nos resultados da pesquisa. Copie o ID do objeto do aplicativo.
Como você está usando o Microsoft Graph Explorer, execute a seguinte solicitação para listar as entidades de serviço e suas IDs.
GET https://graph.microsoft.com/v1.0/servicePrincipals
Atribuir a política à entidade de serviço usando o Microsoft Graph
Depois de ter o ObjectID da entidade de serviço da aplicação para a qual deseja configurar a aceleração automática, execute a seguinte chamada de API. Esta chamada de API associa a política de HRD que você criou à entidade de serviço localizada nas seções anteriores.
Certifique-se de concordar com a permissão Application.ReadWrite.All
.
POST https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/$ref
{
"@odata.id": "https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}"
}
Você pode repetir essa chamada de API para cada entidade de serviço à qual deseja adicionar a política.
No caso de um aplicativo já ter uma política de Home Realm Discovery atribuída, você não poderá adicionar uma segunda. Nesse caso, altere a definição da política de DRH atribuída ao aplicativo para adicionar parâmetros extras.
Verifique a quais entidades de serviço sua política de DRH está atribuída usando o Microsoft Graph
Execute a seguinte chamada de API para listar as entidades de serviço às quais a política é atribuída:
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{policyId}/appliesTo
Certifique-se de testar a experiência de entrada do aplicativo para verificar se a nova política está funcionando.
Remover uma política de DRH de um aplicativo usando o Microsoft Graph PowerShell
Obtenha o ObjectID da política.
Use o exemplo anterior para obter o ObjectID da política e o da entidade de serviço de aplicativo da qual você deseja removê-lo.
Remova a atribuição de política da entidade de serviço do aplicativo.
Remove-MgServicePrincipalHomeRealmDiscoveryPolicyHomeRealmDiscoveryPolicyByRef -ServicePrincipalId $servicePrincipalId -HomeRealmDiscoveryPolicyId $homeRealmDiscoveryPolicyId
Verifique a remoção listando as entidades de serviço às quais a política está atribuída.
Get-MgPolicyHomeRealmDiscoveryPolicyApplyTo -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Excluir a política de DRH usando o Microsoft Graph PowerShell
Para excluir a política de DRH criada, execute o seguinte comando:
Remove-MgPolicyHomeRealmDiscoveryPolicy -HomeRealmDiscoveryPolicyId "<ObjectId of the Policy>" # Replace with the actual ObjectId of the Policy
Remover uma política de DRH de um aplicativo usando o Microsoft Graph
Obtenha o ObjectID da política.
Use o exemplo anterior para obter o ObjectID da política e o da entidade de serviço de aplicativo da qual você deseja removê-lo.
Remova a atribuição de política do principal de serviço do aplicativo.
DELETE https://graph.microsoft.com/v1.0/servicePrincipals/{servicePrincipalId}/homeRealmDiscoveryPolicies/{policyId}/$ref
Verifique a remoção listando as entidades de serviço às quais a política está atribuída.
GET https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/<policyId>/appliesTo
Eliminar a política de Recursos Humanos e Desenvolvimento usando o Microsoft Graph
Para excluir a política de DRH que você criou, execute a seguinte chamada de API:
DELETE https://graph.microsoft.com/v1.0/policies/homeRealmDiscoveryPolicies/{id}