Создание корневого ключа службы распространения ключей (KDS)

В этой статье ит-специалистов описывается создание корневого ключа службы распространения ключей (kdssvc.dll) на контроллере домена с помощью Windows PowerShell для создания паролей управляемой учетной записи службы в Windows Server 2012 или более поздней версии.

Контроллеры домена (DC) требуют корневого ключа для начала создания паролей gMSA. Контроллеры домена будут ожидать до 10 часов после создания, чтобы разрешить всем контроллерам домена конвергировать репликацию Active Directory, прежде чем разрешить создание gMSA. Ожидание до 10 часов является мерой безопасности, чтобы предотвратить создание паролей до того, как все КД в среде смогут отвечать на запросы gMSA. Попытка использовать gMSA слишком скоро может завершиться ошибкой, когда узел gMSA пытается получить пароль, так как ключ может не быть реплицирован ко всем контроллерам домена. Ошибки извлечения паролей gMSA также могут возникать при использовании контроллеров домена с ограниченными расписаниями репликации или при возникновении проблемы с репликацией.

Note

Удаление и повторное создание корневого ключа может привести к проблемам, когда старый ключ продолжает использоваться после удаления из-за кэширования ключа. KDC следует перезапустить на всех контроллерах домена, если корневой ключ будет создан повторно.

Членство в группах администраторов домена или корпоративных администраторов или эквивалентных является минимальным требованием для выполнения этой процедуры. Дополнительные сведения об использовании подходящих учетных записей и участия в группах см. в разделе Локальные группы и группы домена по умолчанию.

Note

64-разрядная архитектура необходима для выполнения команд Windows PowerShell, которые используются для администрирования групповых управляемых учетных записей служб.

Создание корневого ключа KDS с помощью командлета Add-KdsRootKey

  1. На контроллере домена Windows Server 2012 или более поздней версии запустите Windows PowerShell на панели задач.

  2. В командной строке модуля Windows PowerShell Active Directory введите следующие команды и нажмите клавишу ВВОД:

    Add-KdsRootKey -EffectiveImmediately

    Tip

    Параметр "Эффективное время" можно использовать для предоставления времени распространения ключей на все контроллеры домена перед использованием. С помощью Add-KdsRootKey -EffectiveImmediately будет добавлен корневой ключ в целевой контроллер домена, который будет использоваться службой KDS немедленно. Однако другие контроллеры домена не смогут использовать корневой ключ, пока репликация не будет выполнена успешно.

Корневые ключи KDS хранятся в Active Directory в контейнере CN=Master Root Keys,CN=Group Key Distribution Service,CN=Services,CN=Configuration,DC=<forest name>;. У них есть атрибут msKds-DomainID, который связывается с учетной записью компьютера контроллера домена, создавшего объект. Если этот контроллер домена понижен и удален из домена, значение будет ссылаться на могилу учетной записи компьютера. Вы можете игнорировать сломанное значение, так как оно используется только для того, чтобы помочь администратору отслеживать объект при его создании. Вы также можете изменить значение атрибута, чтобы указать его на объект компьютера другого контроллера домена в лесу.

Для тестовых сред, имеющих только один контроллер домена, можно создать корневой ключ KDS и задать время начала в прошлом, чтобы избежать ожидания создания ключей интервала с помощью следующей процедуры. Убедитесь, что событие 4004 было зарегистрировано в журнале событий KDS.

Создание корневого ключа KDS в тестовой среде для незамедлительного использования

  1. На контроллере домена Windows Server 2012 или более поздней версии запустите Windows PowerShell на панели задач.

  2. В командной строке модуля Windows PowerShell Active Directory введите следующие команды и нажмите клавишу ВВОД:

    $a=Get-Date

    $b=$a.AddHours(-10)

    Add-KdsRootKey -EffectiveTime $b

    Или используйте одну команду:

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