Configurar a delegação restrita de Kerberos (KCD) nos Serviços de Domínio do Microsoft Entra

À medida que você executa aplicativos, pode ser necessário que esses aplicativos acessem recursos no contexto de um usuário diferente. Os Serviços de Domínio Ative Directory (AD DS) dão suporte a um mecanismo chamado delegação Kerberos que habilita esse caso de uso. Em seguida, a delegação restrita de Kerberos (KCD) baseia-se nesse mecanismo para definir recursos específicos que podem ser acessados no contexto do usuário.

Os domínios gerenciados dos Serviços de Domínio Microsoft Entra são bloqueados com mais segurança do que os ambientes AD DS locais tradicionais, portanto, use um KCD baseado em recursos mais seguro.

Este artigo mostra como configurar a delegação restrita de Kerberos baseada em recursos em um domínio gerenciado pelos Serviços de Domínio.

Pré-requisitos

Para concluir este artigo, você precisa dos seguintes recursos:

  • Uma subscrição ativa do Azure.
  • Um locatário do Microsoft Entra associado à sua assinatura, sincronizado com um diretório local ou um diretório somente na nuvem.
  • Um domínio gerenciado dos Serviços de Domínio Microsoft Entra habilitado e configurado em seu locatário do Microsoft Entra.
  • Uma VM de gerenciamento do Windows Server que ingressou no domínio gerenciado dos Serviços de Domínio.
  • Uma conta de usuário que seja membro do grupo de administradores do Microsoft Entra DC em seu locatário do Microsoft Entra.

Descrição geral da delegação restrita de Kerberos

A delegação Kerberos permite que uma conta se faça passar por outra para acessar recursos. Por exemplo, um aplicativo Web que acessa um componente Web back-end pode se passar por uma conta de usuário diferente quando faz a conexão back-end. A delegação Kerberos é insegura, pois não limita os recursos que a conta que representa pode acessar.

A delegação restrita de Kerberos (KCD) restringe os serviços ou recursos que um servidor ou aplicativo especificado pode conectar ao representar outra identidade. O KCD tradicional requer privilégios de administrador de domínio para configurar uma conta de domínio para um serviço e restringe a execução da conta em um único domínio.

O KCD tradicional também tem alguns problemas. Por exemplo, em sistemas operacionais anteriores, o administrador de serviços não tinha nenhuma maneira útil de saber quais serviços front-end delegados aos serviços de recursos de sua propriedade. Qualquer serviço front-end que pudesse delegar a um serviço de recursos era um ponto de ataque potencial. Se um servidor que hospedava um serviço front-end configurado para delegar a serviços de recursos fosse comprometido, os serviços de recursos também poderiam ser comprometidos.

Em um domínio gerenciado, você não tem privilégios de administrador de domínio. Como resultado, o KCD tradicional baseado em conta não pode ser configurado em um domínio gerenciado. Em vez disso, o KCD baseado em recursos pode ser usado, o que também é mais seguro.

KCD baseado em recursos

O Windows Server 2012 e versões posteriores dão aos administradores de serviço a capacidade de configurar a delegação restrita para seus serviços. Este modelo é conhecido como KCD baseado em recursos. Com essa abordagem, o administrador de serviço back-end pode permitir ou negar que serviços front-end específicos usem o KCD.

O KCD baseado em recursos é configurado usando o PowerShell. Você usa os cmdlets Set-ADComputer ou Set-ADUser, dependendo se a conta que representa é uma conta de computador ou uma conta de usuário/conta de serviço.

Configurar o KCD baseado em recursos para uma conta de computador

Nesse cenário, vamos supor que você tenha um aplicativo Web executado no computador chamado contoso-webapp.aaddscontoso.com.

O aplicativo Web precisa acessar uma API Web que é executada no computador chamado contoso-api.aaddscontoso.com no contexto de usuários do domínio.

Conclua as seguintes etapas para configurar esse cenário:

  1. Crie uma UO personalizada. Você pode delegar permissões para gerenciar essa UO personalizada a usuários dentro do domínio gerenciado.

  2. Associe as máquinas virtuais, tanto a que executa o aplicativo Web quanto a que executa a API da Web, ao domínio gerenciado. Crie essas contas de computador na UO personalizada na etapa anterior.

    Nota

    As contas de computador para o aplicativo Web e a API da Web devem estar em uma UO personalizada onde você tenha permissões para configurar o KCD baseado em recursos. Não é possível configurar o KCD baseado em recursos para uma conta de computador no contêiner interno do Microsoft Entra DC Computers .

  3. Por fim, configure o KCD baseado em recursos usando o cmdlet Set-ADComputer PowerShell.

    Na VM de gerenciamento associada ao domínio e conectada como conta de usuário que é membro do grupo de administradores do Microsoft Entra DC, execute os cmdlets a seguir. Forneça seus próprios nomes de computador conforme necessário:

    $ImpersonatingAccount = Get-ADComputer -Identity contoso-webapp.aaddscontoso.com
    Set-ADComputer contoso-api.aaddscontoso.com -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
    

Configurar o KCD baseado em recursos para uma conta de usuário

Nesse cenário, vamos supor que você tenha um aplicativo Web executado como uma conta de serviço chamada appsvc. O aplicativo Web precisa acessar uma API Web que é executada como uma conta de serviço chamada backendsvc no contexto de usuários de domínio. Conclua as seguintes etapas para configurar esse cenário:

  1. Crie uma UO personalizada. Você pode delegar permissões para gerenciar essa UO personalizada a usuários dentro do domínio gerenciado.

  2. Junte as máquinas virtuais que executam a API/recurso da Web de back-end ao domínio gerenciado. Crie sua conta de computador dentro da UO personalizada.

  3. Crie a conta de serviço (por exemplo, appsvc) usada para executar o aplicativo Web dentro da UO personalizada.

    Nota

    Novamente, a conta de computador para a VM da API Web e a conta de serviço para o aplicativo Web devem estar em uma UO personalizada onde você tenha permissões para configurar o KCD baseado em recursos. Não é possível configurar o KCD baseado em recursos para contas nos contêineres internos de Computadores DC do Microsoft Entra ou Usuários do Microsoft Entra DC. Isso também significa que você não pode usar contas de usuário sincronizadas do Microsoft Entra ID para configurar o KCD baseado em recursos. Você deve criar e usar contas de serviço criadas especificamente nos Serviços de Domínio.

  4. Por fim, configure o KCD baseado em recursos usando o cmdlet Set-ADUser PowerShell.

    Na VM de gerenciamento associada ao domínio e conectada como conta de usuário que é membro do grupo de administradores do Microsoft Entra DC, execute os cmdlets a seguir. Forneça seus próprios nomes de serviço conforme necessário:

    $ImpersonatingAccount = Get-ADUser -Identity appsvc
    Set-ADUser backendsvc -PrincipalsAllowedToDelegateToAccount $ImpersonatingAccount
    

Próximos passos

Para saber mais sobre como a delegação funciona nos Serviços de Domínio Ative Directory, consulte Visão geral da delegação restrita de Kerberos.