Configurar a delegação restrita de Kerberos no Microsoft Entra Domain Services

À medida que você executa aplicativos, pode haver a necessidade desses aplicativos acessarem recursos no contexto de um usuário diferente. O AD DS (Active Directory Domain Services) dá suporte a um mecanismo chamado delegação de Kerberos que habilita esse caso de uso. A KCD (delegação restrita de Kerberos) é baseada 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 do Microsoft Entra são bloqueados com mais segurança do que nos ambientes locais tradicionais do AD DS, por isso, use uma KCD baseada em recursos mais segura.

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

Pré-requisitos

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

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

A delegação de Kerberos permite que uma conta represente outra conta para acessar recursos. Por exemplo, um aplicativo Web que acessa um componente Web de back-end pode se representar como uma conta de usuário diferente quando faz a conexão de back-end. A delegação de Kerberos não é segura, pois não limita quais recursos a conta que está representando outra poderá acessar.

A KCD (delegação restrita de Kerberos) restringe os serviços ou os recursos a que um servidor ou aplicativo especificado pode se conectar ao representar outra identidade. A KCD tradicional exige privilégios de administrador de domínio para configurar uma conta de domínio para um serviço e restringe a conta para ser executada em apenas um domínio.

A KCD tradicional também tem alguns problemas. Por exemplo, em sistemas operacionais mais antigos, o administrador de serviços não tinha uma forma útil de saber quais serviços front-end eram delegados aos serviços de recursos que eles tinham. Qualquer serviço front-end que pudesse ser delegado a um serviço de recurso representava um possível ponto de ataque. Se o servidor que hospedava um serviço front-end configurado para delegar aos serviços de recursos fosse comprometido, os serviços de recurso também poderiam ser comprometidos.

Em um domínio gerenciado, você não tem privilégios de administrador de domínio. Como resultado, não é possível configurar a KCD tradicional baseada em conta em um domínio gerenciado. Em vez disso, pode-se usar a KCD baseada em recursos, que também é mais segura.

KCD baseado em recursos

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

A KCD baseada em recursos é configurada no PowerShell. Use os cmdlets Set-ADComputer ou Set-ADUser de acordo com o tipo da conta de representação (por exemplo, conta de computador, conta de usuário ou conta de serviço).

Configurar a KCD baseada em recursos para uma conta de computador

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

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

Execute as seguintes etapas para configurar esse cenário:

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

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

    Observação

    As contas de computador para o aplicativo Web e a API Web precisam estar em uma UO personalizada em que você tenha permissões para configurar a KCD com base em recursos. Você não pode configurar o KCD com base em recursos para uma conta de computador no contêiner interno do Microsoft Entra DC Computers.

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

    Na VM de gerenciamento conectada ao domínio e registrada como uma conta de usuário membro do grupo de administradores do Microsoft Entra DC, execute os seguintes cmdlets. 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 a KCD baseada em recursos para uma conta de usuário

Neste cenário, vamos supor que você tenha um aplicativo Web que seja 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 do domínio. Execute as seguintes etapas para configurar esse cenário:

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

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

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

    Observação

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

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

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

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

Próximas etapas

Para saber mais sobre como a delegação funciona no Active Directory Domain Services, confira Visão geral da delegação restrita de Kerberos.