Compartilhar via


Como configurar a Autenticação do Windows para o Microsoft Entra ID com o fluxo baseado em relação de confiança de entrada

Este artigo descreve como implementar o fluxo de autenticação baseado em relação de confiança de entrada para permitir que clientes ingressados no AD (Active Directory) que executam o Windows 10, Windows Server 2012 ou versões superiores do Windows se autentiquem em uma Instância Gerenciada de SQL do Azure usando a Autenticação do Windows.

Este artigo também inclui etapas para girar uma chave Kerberos para sua conta de serviço no Microsoft Entra ID (antigo Azure Active Directory) e o Objeto de Domínio Confiável, bem como etapas para remover um Objeto de Domínio Confiável e todas as configurações do Kerberos, se desejado.

A habilitação do fluxo de autenticação baseado em relação de confiança de entrada é uma etapa na configuração da Autenticação do Windows para o Instância Gerenciada de SQL do Azure usando Microsoft Entra ID e Kerberos. O fluxo interativo moderno está disponível para clientes ativos que executam o Windows 10 20H1, o Windows Server 2022 ou uma versão superior do Windows.

Observação

O Microsoft Entra ID era anteriormente conhecido como Azure Active Directory (Azure AD).

Permissões

Para concluir as etapas descritas neste artigo, você precisa de:

  • Um nome de usuário e senha do administrador local do Active Directory.
  • Nome do usuário e conta de ministrador global do Microsoft Entra.

Pré-requisitos

Para implementar o fluxo de autenticação baseado em relação de confiança de entrada, primeiro verifique se os seguintes pré-requisitos foram atendidos:

Pré-requisito Descrição
O cliente deve executar o Windows 10, Windows Server 2012 ou uma versão superior do Windows.
Os clientes devem ser ingressados no AD. O domínio deve ter um nível funcional de Windows Server 2012 ou superior. É possível determinar se o cliente está ingressado no AD executando o comando dsregcmd: dsregcmd.exe /status
Módulo de Gerenciamento de Autenticação Híbrida do Azure AD. Este módulo do PowerShell fornece recursos de gerenciamento para a instalação local.
Locatário do Azure.
Assinatura do Azure no mesmo locatário do Microsoft Entra que você planeja usar para autenticação.
Microsoft Entra Connect instalado. Ambientes híbridos em que as identidades existem tanto no Microsoft Entra ID como no AD.

Criar e configurar o objeto de domínio confiável Kerberos do Microsoft Entra

Para criar e configurar o objeto de domínio confiável Kerberos do Microsoft Entra, será necessário instalar o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD.

Em seguida, você usará o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD para configurar um Objeto de Domínio Confiável no Domínio do AD local e registrar informações de confiança com o Microsoft Entra ID. Isso cria uma relação de confiança de entrada no AD local, que permite que o Microsoft Entra ID confie no AD local.

Configurar o Objeto de Domínio Confiável

Para configurar o Objeto de Domínio Confiável, primeiro instale o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD.

Instalar o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD

  1. Inicie uma sessão do Windows PowerShell com a opção Executar como administrador.

  2. Instalar o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD usando o script a seguir. O script:

    • Habilita o TLS 1.2 para comunicação.
    • Instala o provedor do pacote NuGet.
    • Registra o repositório PSGallery.
    • Instala o módulo PowerShellGet.
    • Instala o módulo do PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD.
      • O PowerShell de Gerenciamento de Autenticação Híbrida do Azure AD usa o módulo AzureADPreview, que fornece o recurso avançado de gerenciamento do Microsoft Entra.
      • Para proteger contra conflitos de instalação desnecessários com o módulo do PowerShell do AzureAD, esse comando inclui o sinalizador de opção – AllowClobber.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Install-PackageProvider -Name NuGet -Force

if (@(Get-PSRepository | ? {$_.Name -eq "PSGallery"}).Count -eq 0){
    Register-PSRepository -DefaultSet-PSRepository -Name "PSGallery" -InstallationPolicy Trusted
}

Install-Module -Name PowerShellGet -Force

Install-Module -Name AzureADHybridAuthenticationManagement -AllowClobber

Criar o Objeto de Domínio Confiável

  1. Inicie uma sessão do Windows PowerShell com a opção Executar como administrador.

  2. Defina os parâmetros comuns. Personalize o script abaixo antes de ser executado.

    • De definir o parâmetro $domain como seu Active Directory local de domínio.
    • Quando solicitado por Get-Credential, insira um nome de usuário e senha do administrador local do Active Directory.
    • Definir o parâmetro $cloudUserName como o nome de usuário de uma conta com privilégios de Administrador Global para acesso à nuvem do Microsoft Entra.

    Observação

    Se você quiser usar sua conta de Windows de logon atual para seu acesso Active Directory local, ignore a etapa em que as credenciais são atribuídas ao parâmetro $domainCred. Se você seguir essa abordagem, não inclua o parâmetro -DomainCredential nos comandos do PowerShell após esta etapa.

    $domain = "your on-premesis domain name, for example contoso.com"
    
    $domainCred = Get-Credential
    
    $cloudUserName = "Azure AD user principal name, for example admin@contoso.onmicrosoft.com"
    
  3. Verifique o domínio kerberos atual Configurações.

    Execute o seguinte comando para verificar as configurações atuais do Kerberos do seu domínio:

    Get-AzureAdKerberosServer -Domain $domain `
        -DomainCredential $domainCred `
        -UserPrincipalName $cloudUserName
    

    Se esta for a primeira vez que você chama um comando Kerberos no Microsoft Entra, você será solicitado a acessar o Microsoft Entra na nuvem.

    • Insira a senha da conta de administrador global do Microsoft Entra.
    • Se sua organização usar outros métodos de autenticação modernos, como a autenticação multifator do Microsoft Entra ou o Cartão Inteligente, siga as instruções conforme solicitado para entrar.

    Se esta for a primeira vez que você estiver definindo as configurações do Kerberos do Microsoft Entra, o cmdlet Get-AzureAdKerberosServer exibirá informações vazias, como na seguinte saída de exemplo:

    ID                  :
    UserAccount         :
    ComputerAccount     :
    DisplayName         :
    DomainDnsName       :
    KeyVersion          :
    KeyUpdatedOn        :
    KeyUpdatedFrom      :
    CloudDisplayName    :
    CloudDomainDnsName  :
    CloudId             :
    CloudKeyVersion     :
    CloudKeyUpdatedOn   :
    CloudTrustDisplay   :
    

    Se o domínio já dá suporte à autenticação FIDO, o cmdlet Get-AzureAdKerberosServer exibirá informações da conta de Serviço do Azure AD, como na saída de exemplo a seguir. O campo CloudTrustDisplay retorna um valor vazio.

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   :
    
  4. Adicione o Objeto de Domínio Confiável.

    Execute o cmdlet Set-AzureAdKerberosServer do PowerShell para adicionar o Objeto de Domínio Confiável. Certifique-se de incluir o parâmetro -SetupCloudTrust. Esse comando criará uma nova conta de serviço do Microsoft Entra, caso não exista nenhuma. Este comando só criará o objeto de domínio confiável solicitado se existir uma conta de serviço do Microsoft Entra.

    Set-AzureADKerberosServer -Domain $domain -UserPrincipalName $cloudUserName -DomainCredential $domainCred -SetupCloudTrust
    

    Observação

    Em uma floresta de vários domínios, para evitar o erro LsaCreateTrustedDomainEx 0x549 ao executar o comando em um domínio filho:

    1. Execute o comando no domínio raiz (inclui o parâmetro -SetupCloudTrust).
    2. Execute o mesmo comando no domínio filho, sem o parâmetro -SetupCloudTrust.

    Depois de criar o Objeto de Domínio Confiável, você pode verificar o Configurações Kerberos Get-AzureAdKerberosServer atualizado usando o cmdlet do PowerShell, conforme mostrado na etapa anterior. Se o cmdlet Set-AzureAdKerberosServer tiver sido executado com êxito com o parâmetro -SetupCloudTrust, o campo CloudTrustDisplay agora deverá retornar Microsoft.AzureAD.Kdc.Service.TrustDisplay, como na seguinte saída de exemplo:

    ID                  : 25614
    UserAccount         : CN=krbtgt-AzureAD, CN=Users, DC=aadsqlmi, DC=net
    ComputerAccount     : CN=AzureADKerberos, OU=Domain Controllers, DC=aadsqlmi, DC=net
    DisplayName         : krbtgt_25614
    DomainDnsName       : aadsqlmi.net
    KeyVersion          : 53325
    KeyUpdatedOn        : 2/24/2022 9:03:15 AM
    KeyUpdatedFrom      : ds-aad-auth-dem.aadsqlmi.net
    CloudDisplayName    : krbtgt_25614
    CloudDomainDnsName  : aadsqlmi.net
    CloudId             : 25614
    CloudKeyVersion     : 53325
    CloudKeyUpdatedOn   : 2/24/2022 9:03:15 AM
    CloudTrustDisplay   : Microsoft.AzureAD.Kdc.Service.TrustDisplay
    

    Observação

    As nuvens soberanas do Azure exigem a configuração da propriedade TopLevelNames, que é definida como windows.net por padrão. As implantações de nuvem soberana da Instância Gerenciada de SQL do Azure usam um nome de domínio primário, como usgovcloudapi.net para o Azure Governamental para os EUA. Defina o objeto de domínio confiável para esse nome de domínio primário usando o seguinte comando do PowerShell: Set-AzureADKerberosServer -Domain $domain -DomainCredential $domainCred -CloudCredential $cloudCred -SetupCloudTrust -TopLevelNames "usgovcloudapi.net,windows.net". Você pode verificar a configuração com o seguinte comando do PowerShell: Get-AzureAdKerberosServer -Domain $domain -DomainCredential $domainCred -UserPrincipalName $cloudUserName | Select-Object -ExpandProperty CloudTrustDisplay.

Configurar o GPO (Política de Grupo)

  1. Identifique sua ID de locatário do Microsoft Entra.

  2. Implante a seguinte configuração Política de Grupo em máquinas cliente usando o fluxo baseado em relação de confiança de entrada:

    1. Edite a configuração de política Modelos Administrativos\System\Kerberos\Especificar servidores proxy KDC para clientes Kerberos.

    2. Selecione Habilitado.

    3. Em Opções, selecione Mostrar.... Isso abre a caixa de diálogo Mostrar Conteúdo.

      Screenshot of dialog box to enable 'Specify KDC proxy servers for Kerberos clients'. The 'Show Contents' dialog allows input of a value name and the related value.

    4. Defina as configurações de servidores proxy KDC usando mapeamentos da seguinte forma. Substitua sua ID de locatário do Microsoft Entra pelo espaço reservadoyour_Azure_AD_tenant_id. Observe o espaço que segue https e o espaço antes do fechamento / no mapeamento de valor.

      Nome do valor Valor
      KERBEROS.MICROSOFTONLINE.COM <https login.microsoftonline.com:443:your_Azure_AD_tenant_id/kerberos />

      Screenshot of the 'Define KDC proxy server settings' dialog box. A table allows input of multiple rows. Each row consists of a value name and a value.

    5. Selecione OK para fechar a caixa de diálogo ' Mostrar conteúdo '.

    6. Selecione Aplicar na caixa de diálogo ' Especificar servidores proxy KDC para clientes Kerberos '.

Girar a chave Kerberos

É possível girar periodicamente a chave Kerberos para a conta de serviço do Microsoft Entra criada e o objeto de domínio confiável para fins de gerenciamento.

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey

Depois que a chave é girada, leva várias horas para propagar a chave alterada entre os servidores KDC Kerberos. Devido a esse tempo de distribuição de chave, você pode girar a chave uma vez dentro de 24 horas. Se precisar girar a chave novamente dentro de 24 horas por algum motivo, por exemplo, logo após a criação do objeto de domínio confiável, poderá adicionar o parâmetro -Force:

Set-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName -SetupCloudTrust `
   -RotateServerKey -Force

Remova o Objeto de Domínio Confiável

E possível remover o Objeto de Domínio Confiável adicionado usando o seguinte comando:

Remove-AzureADKerberosTrustedDomainObject -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Esse comando removerá apenas o Objeto de Domínio Confiável. Se o domínio for compatível com a autenticação FIDO, você poderá remover o objeto de domínio confiável ao mesmo tempo em que mantém a conta de serviço do Microsoft Entra necessária para o serviço de autenticação FIDO.

Remover todos os Configurações Kerberos

É possível remover a conta de serviço do Microsoft Entra e o objeto de domínio confiável usando o seguinte comando:

Remove-AzureAdKerberosServer -Domain $domain `
   -DomainCredential $domainCred `
   -UserPrincipalName $cloudUserName

Próximas etapas

Saiba mais sobre como implementar a Autenticação do Windows para entidades de segurança do Microsoft Entra na Instância Gerenciada de SQL do Azure: