証明書サービスは Active Directory に接続できませんでした。
Active Directory 証明書サービス (AD CS) では、Active Directory ドメイン サービス (AD DS) の特定のオブジェクトに対する、少なくとも読み取りアクセス、書き込みアクセス (一部のインスタンス) が必要です。これらの Active Directory オブジェクトにアクセスできないと、AD CS を起動できません。
AD CS が Active Directory ドメイン サービスに接続できるようにする
証明機関 (CA) と Active Directory ドメイン サービス (AD DS) の間の通信問題を解決するには、以下の手順を実行します。
CA が AD DS に接続できることを確認します。
CA が、必須 AD DS コンテナーおよびオブジェクトに対する必要なアクセス許可を持っていることを確認するには、次の手順を実行します。
これらの手順を実行するには、Domain Admins のメンバーであるか、適切な権限を委任されている必要があります。
CA が AD DS に接続できることを確認する
CA が AD DS に接続できることを確認するには、以下の手順を実行します。
CA 上でコマンド プロンプトを開きます。
「ping <server_FQDN>」と入力します。ここで server_FQDN はドメイン コントローラーの完全修飾ドメイン名 (FQDN) (たとえば server1.contoso.com) です。入力したら Enter キーを押します。
ping が正常に実行された場合、以下のような応答があります。
IP_address からの応答: バイト数=32 時間=3ms TTL=59
IP_address からの応答: バイト数=32 時間=20ms TTL=59
IP_address からの応答: バイト数=32 時間=3ms TTL=59
IP_address からの応答: バイト数=32 時間=6ms TTL=59 3
コマンド プロンプトで「ping <IP_address>」と入力し、Enter キーを押します。ここで IP_address はドメイン コントローラーの IP アドレスです。IP アドレスを使用した場合はドメイン コントローラーの 接続が成功するけれども、FQDN では失敗する場合は、ドメイン ネーム システム (DNS) ホスト名解決に問題がある可能性があることを示しています。
IP アドレスを使用してドメイン コントローラーに接続できない場合は、ネットワーク接続、ファイアウォール構成、またはインターネット プロトコル セキュリティ (IPsec) の構成に問題がある可能性があることを示しています。
重要な AD DS コンテナーおよびオブジェクトの権限の確認
CA が、AD DS コンテナーおよびこれらのコンテナー内のオブジェクトに対する必要なアクセス許可を所有していることを確認するには、次の手順を実行します。
ドメイン コントローラーで [スタート] をクリックし、[管理ツール] をポイントして [Active Directory サイトとサービス] をクリックします。
[Active Directory サイトとサービス] の [domainname] をクリックします ([domainname] にはドメイン名が入ります) 。
[表示] メニュー上で、[サービス ノードの表示] をクリックします。
[Services] をダブルクリックし、[Public Key Services] (公開キー サービス) をダブルクリックし、次に表示される各コンテナーを右クリックするか、またはそのコンテナー内で表示されるオブジェクトを右クリックするかして、[プロパティ] をクリックします。
[セキュリティ] タブ上で、必須の権限を確認します。
次はすべて、CA をホストしているコンピューター上で必要な Active Directory の権限です。これらの権限の一部は、Cert Publishers グループ内のメンバーシップ経由で実現されます。
登録サービス コンテナー。CA コンピューターは独自のプロジェクトへの読み取り/書き込みアクセス権を持っています。
AIA コンテナー。Cert Publishers グループは AIA コンテナー上でフル コントロール アクセス権を所有し、CA コンピューターは AIA コンテナー内の独自のオブジェクト上でフル コントロール アクセス権を所有します。
CDP コンテナー。Cert Publishers グループは CDP コンテナーの下の各 CA コンテナーへのフル コントロール アクセス権を持ち、CA コンピューターは 独自のコンテナー内にあるすべての証明書失効リスト (CRL) オブジェクトへのフル コントロール アクセス権を持ちます。
証明機関コンテナー。Cert Publishers グループは独自のコンテナー内のオブジェクト上へのフル コントロール アクセス権を所有しています。
証明書テンプレート コンテナー。Enterprise Admins および Domain Admins グループ (CA コンピューター以外) はこのコンテナーおよびコンテナー内のほとんどのオブジェクトへのフル コントロール アクセス権または読み取り/書き込みアクセス権を所有しています。
KRA コンテナー。CA コンピューターは独自のプロジェクトへのフル コントロール アクセス権を持っています。
OID コンテナー。Enterprise Admins および Domain Admins グループ (CA コンピューター以外) はこのコンテナー、およびこのコンテナーとコンテナー内のオブジェクトへのフル コントロール アクセス権または読み取り/書き込みアクセス権を所有しています。
NTAuthCertificates オブジェクト。Enterprise Admins および Domain Admins グループ (CA コンピューター以外) はフル コントロール アクセス権または読み取り/書き込みアクセス権を持っています。
ドメイン コンピューターおよびドメイン ユーザー コンテナー。Cert Publishers グループは、AD CS が展開されているフォレスト内の各ユーザーおよびコンピューター オブジェクト上の userCertificate プロパティの読み取り/書き込みアクセス権を所有しています。
CA と Active Directory ドメイン サービス (AD DS) の間の接続を確認するには、次の手順を実行します。
CA をホストしているコンピューター上でコマンド プロンプト ウィンドウを開きます。
Type nltest /sc_verify: [domainname] and press ENTER.
次の手順を使用し必須 AD DS コンテナーおよびオブジェクトのアクセス許可を確認します。
[domainname] を CA のインストール先となる名前空間の名前で置換します。
Target | Microsoft.Windows.CertificateServices.CARole.2016 |
Category | EventCollection |
Enabled | True |
Event_ID | 91 |
Event Source | Microsoft-Windows-CertificationAuthority |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WriteToCertSvcEvents | WriteAction | Microsoft.Windows.CertificateServices.CARole.CertSvcEvents.Publisher | Default |
WriteToDB | WriteAction | Microsoft.SystemCenter.CollectEvent | Default |
<Rule ID="Microsoft.Windows.CertificateServices.CARole.2016.CertSvcEvents.91" 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">91</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"/>
</WriteActions>
</Rule>