Criar a chave raiz do KDS (serviço de distribuição de chave)

Aplica-se a: Windows Server 2022, Windows Server 2019 e Windows Server 2016

Este artigo destinado ao profissional de TI descreve como criar uma chave raiz (kdssvc.dll) do Serviço de Distribuição de Chave da Microsoft no controlador de domínio usando o Windows PowerShell para gerar senhas de contas de serviço gerenciado de grupo no Windows Server 2012 ou posterior.

Os DCs (controladores de domínio) exigem uma chave raiz para começar a gerar senhas de gMSA. Os controladores de domínio aguardarão até 10 horas desde a criação para permitir que todos os controladores de domínio convirjam a replicação do AD antes de permitir a criação de uma gMSA. Aguardar até 10 horas é uma medida de segurança para impedir que a geração de senhas ocorra antes que todos os DCs no ambiente sejam capazes de responder às solicitações da gMSA. Tentar usar um gMSA muito cedo pode causar falha, quando o host gMSA tentar recuperar a senha, pois a chave pode não ter sido replicada para todos os controladores de domínio. Falhas de recuperação de senha gMSA também podem ocorrer ao usar DCs com agendamentos de replicação limitados ou se houver um problema de replicação.

Observação

Excluir e recriar a chave raiz pode levar a problemas em que a chave antiga continua a ser usada após a exclusão devido ao cache da chave. O KDC (Serviço de Distribuição de Chaves) deverá ser reiniciado em todos os controladores de domínio, se a chave raiz for recriada.

A associação ao grupo Admins. do Domínio ou Administradores de Empresa ou equivalente é o mínimo exigido para concluir este procedimento. Para obter informações detalhadas sobre como usar as contas e as associações a grupos apropriadas, consulte Grupos padrão Local e Domínio.

Observação

Uma arquitetura de 64 bits é exigida para executar os comandos do Windows PowerShell, que são usados para administrar as contas de serviço gerenciado de grupo.

Para criar a chave raiz do SDK usando o cmdlet Add-KdsRootKey

  1. No controlador de domínio do Windows Server 2012 ou posterior, execute o Windows PowerShell na Barra de Tarefas.

  2. No prompt de comando do módulo Active Directory do Windows PowerShell, digite os seguintes comandos e pressione ENTER:

    Add-KdsRootKey -EffectiveImmediately

    Dica

    O parâmetro de tempo Efetivo pode ser usado para dar tempo para que as chaves sejam propagadas a todos os DCs antes do uso. O uso de Add-KdsRootKey -EffectiveImmediately adicionará uma chave raiz ao DC de destino que será usada imediatamente pelo serviço do KDS. No entanto, outros controladores de domínio não poderão usar a chave raiz até que a replicação seja bem-sucedida.

As chaves raiz do KDS são armazenadas no Active Directory no contêiner CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=<forest name>;. Elas têm um atributo msKds-DomainID que é vinculado à conta de computador do Controlador de Domínio que criou o objeto. Quando esse controlador de domínio for rebaixado e removido do domínio, o valor se referirá à marca de exclusão da conta do computador. Você pode ignorar o valor desfeito, pois ele só é usado para ajudar o administrador a rastrear o objeto quando acaba de ser criado. Você também pode alterar o valor do atributo e apontá-lo para o objeto de computador de outro controlador de domínio na sua floresta.

Para ambientes de teste com apenas um DC, você pode criar uma chave raiz do KDS e definir a hora de início no passado para evitar a espera do intervalo para a geração de chave usando o procedimento a seguir. Valide que um evento 4004 foi registrado no log de eventos do KDS.

Para criar a chave raiz do KDS em um ambiente de teste e obter eficiência imediata

  1. No controlador de domínio do Windows Server 2012 ou posterior, execute o Windows PowerShell na Barra de Tarefas.

  2. No prompt de comando do módulo Active Directory do Windows PowerShell, digite os seguintes comandos e pressione ENTER:

    $a=Get-Date

    $b=$a.AddHours(-10)

    Add-KdsRootKey -EffectiveTime $b

    Como opção, use um só comando

    Add-KdsRootKey -EffectiveTime ((get-date).addhours(-10))

Consulte Também

Introdução a contas de serviços gerenciados em grupo