Службам сертификации не удается добавить сертификат ЦС к службе Active Directory
Службы сертификации Active Directory требуют доступ на чтение, а в некоторых случаях — также доступ на запись к определенным объектам доменных служб Active Directory. Если службы сертификации Active Directory не получают доступ к таким объектам доменных служб Active Directory, они не запускаются.
Активация служб сертификации Active Directory для добавления сертификата ЦС к доменным службам Active Directory
Чтобы позволить службам сертификации Active Directory (AD CS) добавить сертификат центра сертификации (ЦС), указанный в сообщении журнала событий, к доменным службам Active Directory (AD DS), выполните следующие действия.
Подтвердите наличие у ЦС необходимых разрешений для базовых контейнеров доменных служб Active Directory и объектов в них.
Определите наличие сертификата ЦС в контейнере AIA.
Если он не существует, опубликуйте сертификат ЦС в контейнере AIA вручную.
Для выполнения данной процедуры необходимо быть членом группы "Администраторы домена" либо обладать соответствующими делегированными полномочиями.
Подтверждение разрешений для базовых контейнеров и объектов доменных служб Active Directory
Чтобы подтвердить наличие у ЦС необходимых разрешений на контейнеры доменных служб Active Directory и объекты в этих контейнерах, выполните следующие действия.
На контроллере домена нажмите кнопку "Пуск", выберите "Администрирование", затем щелкните "Службы и узлы Active Directory".
Щелкните "Службы и узлы Active Directory [имя_домена]", где [имя_домена] — имя вашего домена.
В меню "Просмотр" щелкните "Показать узел служб".
Дважды щелкните Services, дважды щелкните Public Key services, затем щелкните правой кнопкой мыши каждый из представленных ниже контейнеров или объектов, перечисленных в контейнере, и щелкните "Свойства".
На вкладке "Безопасность" подтвердите необходимые разрешения.
Далее представлены все разрешения Active Directory, запрашиваемые компьютером, на котором размещен ЦС. Некоторые из этих разрешений предоставляются членам группы издателей сертификатов.
Контейнер служб регистрации. Компьютер ЦС имеет доступ на чтение и запись к собственному объекту.
Контейнер AIA. Группа издателей сертификатов имеет полный доступ к компьютеру AIA, а компьютер ЦС имеет полный доступ к собственному объекту в контейнере AIA.
Контейнер CDP. Группа издателей сертификатов имеет полный доступ к каждому контейнеру ЦС в составе контейнера CDP, а компьютер ЦС имеет полный доступ к каждому объекту списка отзыва сертификатов в собственном контейнере.
Контейнер центра сертификации. Группа издателей сертификатов имеет полный доступ к объектам в этом контейнере.
Контейнер шаблонов сертификатов. Группы администраторов предприятия и администраторов домена (за исключением компьютера ЦС) имеют полный доступ или доступ на чтение и запись к этому контейнеру и большинству объектов в нем.
Контейнер KRA. Компьютер ЦС имеет полный доступ к собственному объекту.
Контейнер OID. Группы администраторов предприятия и администраторов домена (за исключением компьютера ЦС) имеют полный доступ или доступ на чтение и запись к этому контейнеру, а также к контейнерам и объектам внутри него.
Объект NTAuthCertificates. Группы администраторов предприятия и администраторов домена (за исключением компьютера ЦС) имеют полный доступ или доступ на чтение и запись
Контейнеры доменных компьютеров и пользователей домена. Группа издателей сертификатов имеет разрешения на чтение и запись для свойства "userCertificate" каждого объекта пользователя и компьютера в лесу, в котором развернуты доменные службы Active Directory.
Для выполнения этих процедур необходимо иметь разрешение на управление ЦС либо обладать соответствующими делегированными полномочиями.
Определение наличия сертификата ЦС в контейнере AIA
Чтобы просмотреть содержание контейнера AIA в доменных службах Active Directory, выполните следующие действия.
На контроллере домена нажмите кнопку "Пуск", введите "cmd" и нажмите клавишу ВВОД.
Введите "certutil -cainfo" и нажмите ВВОД.
В выходных данных команды отметьте свойство, указанное после исключенного краткого имени.
Затем введите приведенную ниже команду и нажмите ВВОД.
certutil -viewstore ldap:/// CN=<MyCA>,CN=AIA,CN=Public Key Services,CN=Services,CN=Configuration,DC=<contoso>,DC=<com>?cACertificate?base?objectclass=certificationAuthority
Замените "MyCA" свойством "Исключенное краткое имя" из предыдущей команды, а contoso и com — различающимся именем протокола LDAP вашего корневого домена Active Directory.
Если сертификат ЦС не появился в контейнере AIA при наличии у вас необходимых прав, используйте приведенную ниже процедуру, чтобы опубликовать сертификат ЦС.
Публикация сертификата ЦС вручную
Чтобы опубликовать сертификат ЦС в AD DS вручную выполните следующие действия.
В ЦС нажмите кнопку "Пуск", введите "cmd" и нажмите клавишу ВВОД.
В случае корневого сертификата ЦС введите следующую команду и нажмите клавишу ВВОД: certutil [-f] -dspublish <CAcert.cer> RootCA
В случае сертификата подчиненного ЦС введите следующую команду и нажмите клавишу ВВОД: certutil [-f] -dspublish <CAcert.cer> SubCA
Замените <CAcert.cer> именем файла сертификата. Флаг "-f" создает объект повторно, даже если он был удален.
Чтобы проверить связь между ЦС и доменными службами Active Directory, выполните следующие действия.
Откройте окно командной строки на компьютере, на котором размещен ЦС.
Введите nltest /sc_verify: [доменное_имя] и нажмите клавишу ВВОД.
Чтобы подтвердить разрешения для базовых контейнеров и объектов доменных служб Active Directory, выполните следующую процедуру.
Замените [имя_домена] именем пространства имен, в котором установлен ЦС.
Подтверждение разрешений для базовых контейнеров и объектов доменных служб Active Directory
Для выполнения данной процедуры необходимо быть членом группы "Администраторы домена" либо обладать соответствующими делегированными полномочиями.
Чтобы подтвердить наличие у ЦС необходимых разрешений на контейнеры доменных служб Active Directory и объекты в них, выполните следующие действия.
На контроллере домена нажмите кнопку "Пуск", выберите "Администрирование", затем щелкните "Службы и узлы Active Directory".
Щелкните "Службы и узлы Active Directory [имя_домена]", где [имя_домена] — имя вашего домена.
В меню "Просмотр" щелкните "Показать узел служб".
Дважды щелкните Services, дважды щелкните Public Key services, затем щелкните правой кнопкой мыши каждый из представленных ниже контейнеров или объектов, перечисленных в контейнере, и щелкните "Свойства".
На вкладке "Безопасность" подтвердите необходимые разрешения.
Далее представлены все разрешения Active Directory, запрашиваемые компьютером, на котором размещен ЦС. Некоторые из этих разрешений предоставляются членам группы издателей сертификатов.
Контейнер служб регистрации. Компьютер ЦС имеет доступ на чтение и запись к собственному объекту.
Контейнер AIA. Группа издателей сертификатов имеет полный доступ к компьютеру AIA, а компьютер ЦС имеет полный доступ к собственному объекту в контейнере AIA.
Контейнер CDP. Группа издателей сертификатов имеет полный доступ к каждому контейнеру ЦС в составе контейнера CDP, а компьютер ЦС имеет полный доступ к каждому объекту списка отзыва сертификатов в собственном контейнере.
Контейнер центра сертификации. Группа издателей сертификатов имеет полный доступ к объектам в этом контейнере.
Контейнер шаблонов сертификатов. Группы администраторов предприятия и администраторов домена (за исключением компьютера ЦС) имеют полный доступ или доступ на чтение и запись к этому контейнеру и большинству объектов в нем.
Контейнер KRA. Компьютер ЦС имеет полный доступ к собственному объекту.
Контейнер OID. Группы администраторов предприятия и администраторов домена (за исключением компьютера ЦС) имеют полный доступ или доступ на чтение и запись к этому контейнеру, а также к контейнерам и объектам внутри него.
Объект NTAuthCertificates. Группы администраторов предприятия и администраторов домена (за исключением компьютера ЦС) имеют полный доступ или доступ на чтение и запись
Контейнеры доменных компьютеров и пользователей домена. Группа издателей сертификатов имеет разрешения на чтение и запись для свойства "userCertificate" каждого объекта пользователя и компьютера в лесу, в котором развернуты доменные службы Active Directory.
Target | Microsoft.Windows.CertificateServices.CARole.2016 | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 106 | ||
Event Source | Microsoft-Windows-CertificationAuthority | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | High | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.106" Enabled="true" Target="CSDisc!Microsoft.Windows.CertificateServices.CARole.2016" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">106</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-CertificationAuthority</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectEvent"/>
<WriteAction ID="WriteToCertSvcEvents" TypeID="Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher"/>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>2</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="AlertMessageID4f12f8d124ed4ece99544c9a9730fa37"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/PublisherName$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>