Configurar o comportamento de entrada usando o Home Realm Discovery

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 .

Início de sessão com aceleração automática

Algumas organizações configuram domínios em seu locatário do Microsoft Entra para federar com outro provedor de identidade (IDP), como os Serviços de Federação do Ative Directory (ADFS) para autenticação do usuário. 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 por SMS ou chaves FIDO, você deve impedir a aceleração automática de entrada. Consulte Desativar o início de sessão de aceleração automática para saber como evitar sugestões 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 do usuário de entrada. Esta tela, denominada Caixa de Diálogo de Confirmação de Domínio, faz parte do compromisso geral da Microsoft com a proteção de segurança e exige que o usuário confirme o domínio do locatário no qual está entrando. Se vir a Caixa de Diálogo de Confirmação de Domínio e não reconhecer o domínio de inquilino listado, deverá cancelar o fluxo de autenticação e contactar o administrador de TI.

Para obter mais informações, visite a caixa de diálogo de confirmação de domínio.

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.
  • Uma das seguintes funções: Administrador de Aplicativos, Administrador de Aplicativos na Nuvem ou proprietário da entidade de serviço.
  • A visualização mais recente do cmdlet do Azure AD PowerShell.

Configurar uma política de DRH em um aplicativo

Usamos cmdlets do Azure AD PowerShell para percorrer alguns cenários, incluindo:

Usamos o 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.

Nota

Os módulos Azure AD e MSOnline PowerShell foram preteridos a partir de 30 de março de 2024. Para saber mais, leia a atualização de descontinuação. Após essa data, o suporte para esses módulos é limitado à assistência de migração para o SDK do Microsoft Graph PowerShell e correções de segurança. Os módulos preteridos continuarão a funcionar até 30 de março de 2025.

Recomendamos migrar para o Microsoft Graph PowerShell para interagir com o Microsoft Entra ID (anteriormente Azure AD). Para perguntas comuns sobre migração, consulte as Perguntas frequentes sobre migração. Nota: As versões 1.0.x do MSOnline podem sofrer interrupções após 30 de junho de 2024.

  1. Antes de começar, execute o comando Connect para iniciar sessão no Microsoft Entra ID com a sua conta de administrador:

    Connect-AzureAD -Confirm
    
  2. Execute o seguinte comando para ver todas as políticas na sua organização:

    Get-AzureADPolicy
    

Se nada for devolvido, significa que não tem políticas criadas no seu inquilino.

Criar uma política de DRH

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

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true}}") -DisplayName BasicAutoAccelerationPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"HomeRealmDiscoveryPolicy": {
    "AccelerateToFederatedDomain": 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.

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AccelerateToFederatedDomain`":true, `"PreferredDomain`":`"federated.example.edu`"}}") 
    -DisplayName MultiDomainAutoAccelerationPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"HomeRealmDiscoveryPolicy": {
    "AccelerateToFederatedDomain": true,
    "PreferredDomain": [
      "federated.example.edu"
    ]
}

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:

New-AzureADPolicy 
    -Definition @("{`"HomeRealmDiscoveryPolicy`":{`"AllowCloudPasswordValidation`":true}}") 
    -DisplayName EnableDirectAuthPolicy 
    -Type HomeRealmDiscoveryPolicy
POST /policies/homeRealmDiscoveryPolicies

"EnableDirectAuthPolicy": {
    "AllowCloudPasswordValidation": true
}

Para ver sua nova política e obter seu ObjectID, execute o seguinte comando:

Get-AzureADPolicy

Para aplicar a política de DRH depois de criá-la, você pode atribuí-la a várias entidades de serviço de aplicativo.

Localize a entidade de serviço a ser atribuída à política

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 ou consultar o Microsoft Graph. Também pode aceder à Ferramenta Graph Explorer e iniciar sessão na sua conta Microsoft Entra para ver todas as entidades de serviço da sua organização.

Como você está usando o PowerShell, pode usar o cmdlet a seguir para listar as entidades de serviço e suas IDs.

Get-AzureADServicePrincipal

Atribuir a política à entidade de serviço

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 DRH que criou no passo 1 à entidade de serviço que localizou no passo 2.

Add-AzureADServicePrincipalPolicy 
    -Id <ObjectID of the Service Principal> 
    -RefObjectId <ObjectId of the Policy>

Você pode repetir esse comando para cada entidade de serviço à qual deseja adicionar a política.

No caso em que um aplicativo já tem uma política HomeRealmDiscovery atribuída, você não pode 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

Para verificar quais aplicativos têm a política HRD configurada, use o cmdlet Get-AzureADPolicyAppliedObject . Passe o ObjectID da política que você deseja verificar.

Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>

Experimente o aplicativo para verificar se a nova política está funcionando.

Listar os aplicativos para os quais a política de DRH está configurada

  1. Listar todas as políticas que foram criadas na sua organização

    Get-AzureADPolicy
    

Observe o ObjectID da política para a qual você deseja listar atribuições.

  1. Listar as entidades de serviço às quais a política é atribuída

    Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
    

Remover uma política de DRH de um aplicativo

  1. Obter o ObjectID

    Use o exemplo anterior para obter o ObjectID da política e o da entidade de serviço do aplicativo da qual você deseja removê-lo.

  2. Remover a atribuição de política da entidade de serviço de aplicativo

    Remove-AzureADServicePrincipalPolicy -id <ObjectId of the Service Principal>  -PolicyId <ObjectId of the policy>
    
  3. Verifique a remoção listando as entidades de serviço às quais a política é atribuída

    Get-AzureADPolicyAppliedObject -id <ObjectId of the Policy>
    

Configurando a política por meio do Graph Explorer

Na janela do explorador do Microsoft Graph:

  1. Entre com uma das funções listadas na seção de pré-requisitos.

  2. Dê consentimento para a Policy.ReadWrite.ApplicationConfiguration permissão.

  3. Use a política de descoberta de território Home para criar uma nova política.

  4. POST a nova política ou PATCH para atualizar uma política existente.

    PATCH /policies/homeRealmDiscoveryPolicies/{id}
        {
            "definition": [
            "{\"HomeRealmDiscoveryPolicy\":
            {\"AccelerateToFederatedDomain\":true,
            \"PreferredDomain\":\"federated.example.edu\",
            \"AlternateIdLogin\":{\"Enabled\":true}}}"
        ],
            "displayName": "Home Realm Discovery auto acceleration",
            "isOrganizationDefault": true
        }
    
  5. Para exibir sua nova política, execute a seguinte consulta:

    GET /policies/homeRealmDiscoveryPolicies/{id}
    
  6. Para atribuir a nova política a um aplicativo:

    POST /servicePrincipals/{id}/homeRealmDiscoveryPolicies/$ref
    

    Ou,

    POST /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/$ref
    
  7. Listar as entidades de serviço às quais a política é atribuída

    GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
    
  8. Para excluir a política de DRH que você criou, execute a consulta:

    DELETE /policies/homeRealmDiscoveryPolicies/{id}
    
  9. Remover a atribuição de política da entidade de serviço

    DELETE /servicePrincipals/{id}/homeRealmDiscoveryPolicies/{policyId}/$ref
    

    ou,

    DELETE /servicePrincipals(appId='{appId}')/homeRealmDiscoveryPolicies/{policyId}/$ref
    
  10. Verifique a remoção listando as entidades de serviço às quais a política é atribuída

    GET /policies/homeRealmDiscoveryPolicies/{ObjectId of the policy}/appliesTo
    

Próximos passos