【ADCS】証明書の自動登録設定

前回は「Active Directory 証明書サービス」の構築手順を紹介しました。今回は複数ユーザーに証明書を自動配布する設定方法を紹介します。

本文では「Active Directory ドメイン サービス」をADDS、「Active Directory 証明書サービス」をADCS、「クライアント証明書」を証明書、「グループポリシーオブジェクト」をGPOと表現します。

ADCS構築方法については以下の記事をご確認ください。

blog.jbs.co.jp

証明書自動登録設定とは

証明書自動登録設定とは、ドメイン参加しているユーザーやコンピューターに証明書を自動配布する設定です。(ドメイン環境にエンタープライズCA*1を構築していることが前提)

必要な設定はすべて管理者側で行えるので、ユーザーの介入は不要です。VPN接続やLAN接続で必要な認証用証明書を複数ユーザーに配布する、といった活用方法があります。

必要端末と処理の流れ

証明書の自動発行設定は、ドメインコントローラー(ADDS用OS)を使用します。
証明書作成・発行設定は、ドメイン参加済み(ADCS用OS)を使用します。
証明書の配布確認は、ドメイン参加済み(クライアントOS)で行います。

  1. ドメインコントローラー(ADDS用OS):1台
  2. ドメイン参加済み(ADCS用OS):1台

  3. ドメイン参加済み(クライアントOS):1台

3,4,5,6,7は自動的に処理が走るため作業は不要です

グループポリシーの設定

ドメインコントローラー(ADDS用OS)にログインし、証明書自動発行はGPOに設定を行います。

  1. サーバーマネジャー>ツール>グループポリシーの管理

  2. ドメイン>ドメイン名>グループポリシーオブジェクト>ファイルを選択し右クリック新規作成を選択します。
    ※お客様環境にGPOを設定する場合、既に作成されているDefault Domain Policyを更新しないように気をつけてください。GPOを設定する際は新規作成を行いましょう。

  3. 名前とソーススターターを選択しOKを選択をします。今回は「ユーザー証明書(練習)」という名前で作成しました。するとグループポリシーオブジェクトの配下に「ユーザー証明書(練習)」が作成されます。

  4. 3.で作成した「ユーザー証明書(練習)」GPOをドメイン配下にリンク表示させます。ドメイン名を右クリック>既存のGPOのリンク>GPOの選択にて指定するドメインを選択>作成したGPOを選択します。

  5. 先ほど作成したGPOに設定を行います。グループポリシーオブジェクト>作成したGPO右クリック>編集>グループポリシー管理エディターに移動します。

  6. ユーザーの構成>ポリシー>Windowsの設定>セキュリティの設定>公開キーのポリシーを右クリック>証明書サービスクライアント-自動登録右クリック>プロパティを選択します。
    ※コンピュータとユーザーのどちらの証明書を自動配布するかを事前に確認する必要があります。今回はユーザーに証明書を自動配布するためユーザー側に設定を行います。

  7. 「構成モデル」を有効>「有効期限が切れた証明書を置き換え、保留中の証明書を更新、および失効した証明書を削除する」にチェックを付けます。「証明書テンプレートを使用する証明書を更新する」にチェックを付けます。そのほかの部分は既定値のままOKを選択します。

  8. 以上でGPOを使用した証明書自動発行設定は完了です。

証明書テンプレート作成・発行

ADCSサーバにログインを行い、証明書テンプレート作成及び発行を行います。今回は自動登録に必要な設定のみ記載をしています。その他の設定値については別の記事で紹介していますのでそちらをご覧ください。

  1. サーバーマネジャー>ツール>証明機関をクリックします。

  2. 「証明書テンプレート」右クリック「管理」を選択し、証明書テンプレートコンソール(管理)に移動します。

  3. 証明書テンプレートコンソール(管理)に移動し、証明書テンプレート>「ユーザー」を右クリック「テンプレートの複製」を行います。

  4. ユーザー証明書を自動登録する際は「セキュリティ」タブで「Domain Users」に「読み取り」「登録」「自動登録」の許可にチェックを付けます。右下の「適応」をクリックして必要な設定は完了です。証明書テンプレートコンソールを閉じます。
    ※その他の設定値については別の記事で紹介していますのでそちらをご覧ください。

  5. 「certsrv証明機関ローカル」に戻ります。証明書テンプレート右クリック>新規作成>発行するテンプレートをクリックし先ほど作成した証明書テンプレートを選択します。
  6. 「証明書テンプレート」に先ほど発行した証明書が表示されます。以上で証明書テンプレートの発行は完了です。

証明書の配布済み確認

ドメイン参加しているクライアント用PCにログインを行い、作成・発行した証明書が自動的に配布されていることを確認します。

  1. ユーザーに配布された証明書を確認するので、ファイル名を指定して実行を開き、「certmgr.msc」を実行します。「certmgr-証明書現在のユーザー¥個人」に接続し、証明書>個人>証明書>作成した証明書が自動で配布済みであることを確認します。
    ※コンピュータに発行した証明書を確認する際は「certlm.msc」を実行します。

  2. 証明書が配布されていない場合は、GPOの設定が反映されていないことが原因として考えられます。その場合コマンドプロンプトを起動後「gpupdate /force」を2回実行します。それでも証明書が配布されない場合は、PCの電源を落として再度ログインを行いましょう。今回検証した際はPCにログイン後、すでにGPOが反映されており証明書が配布されている状態でした。

おわりに

今回は証明書の自動登録設定方法を紹介しました。

*1:ADDSと連携して組織内で必要な証明書を発行し、その証明書のライフサイクルを管理するもの

執筆担当者プロフィール
吉武 成美

吉武 成美(日本ビジネスシステムズ株式会社)

2022年度新卒入社。Microsoft 365 製品(Intune)などのクラウド及びオンプレミスを担当しています。趣味はドライブとUFOキャッチャーです。

担当記事一覧