11.3. CA、OCSP、KRA、TKS のユーザーおよびグループの管理
ユーザーが実行できる操作の多くは、ユーザーが属するグループによって決定されます。たとえば、CA のエージェントは証明書とプロファイルを管理し、管理者は CA サーバーの設定を管理します。
4 つのサブシステム (CA、OCSP、KRA、および TKS) は、Java 管理コンソールを使用してグループとユーザーを管理します。TPS には Web ベースの管理サービスがあり、ユーザーおよびグループは Web サービスページで設定されます。
11.3.1. グループの管理 リンクのコピーリンクがクリップボードにコピーされました!
11.3.1.1. 新規グループの作成 リンクのコピーリンクがクリップボードにコピーされました!
管理コンソールにログインします。
pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_type
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記pkiconsoleは非推奨となり、今後のメジャーリリースで新しいブラウザーベースの UI に置き換えられます。pkiconsoleは代替 UI がリリースされるまで引き続き使用できますが、今後新しいブラウザーベースの UI が使用可能になった場合でも pki CLI のサポートおよび改良は継続されるため、現時点ではpkiconsoleに相当するコマンドラインの使用が推奨されます。- 左側のナビゲーションメニューから Users and Groups を選択します。
- Groups タブを選択します。
をクリックして、グループ情報を入力します。
内部データベースにすでに存在するユーザーのみを追加することが可能です。
- ACL を編集して、グループの権限を付与します。詳細は、「ACL の編集」 を参照してください。グループの ACL に ACI が追加されていない場合、グループには Certificate System の一部にアクセスパーミッションがありません。
11.3.1.2. グループのメンバーの変更 リンクのコピーリンクがクリップボードにコピーされました!
すべてのグループからメンバーを追加または削除できます。管理者のグループには、最低でもユーザーエントリーが 1 つ必要です。
- 管理コンソールにログインします。
- 左側のナビゲーションツリーから Users and Groups を選択します。
- Groups タブをクリックします。
- 名前のリストからグループを選択し、 をクリックします。
適切な変更を加えます。
- グループの説明を変更するには、Group description フィールドに新しい説明を入力します。
- グループからユーザーを削除するには、ユーザーを選択し、 をクリックします。
- ユーザーを追加するには、 をクリックします。ダイアログボックスから追加するユーザーを選択し、 をクリックします。
11.3.2. ユーザーの管理 (管理者、エージェント、および監査者) リンクのコピーリンクがクリップボードにコピーされました!
各サブシステムのユーザーは別々に維持されます。あるサブシステムの管理者であるからといって、その人が別のサブシステムに対する権限 (またはユーザーエントリー) を持っているとは限りません。ユーザーを設定して、ユーザー証明書を使用してサブシステムのエージェント、管理者、または監査担当者として信頼できます。
11.3.2.1. ロールユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
Certificate System をインストールした後は、セットアップ中に作成されたブートストラップユーザーのみ存在します。追加のロールユーザーを作成するには、コマンドラインまたはコンソールを使用します。このセクションでは、計画、インストール、デプロイメントのガイド (Common Criteria Edition) の 7.12「PKI ロールユーザーの作成」に従って、CA 管理ユーザー (例: jgenie) と CA エージェントユーザー (例: jsmith) を作成したと想定します。
セキュリティーと監査上の理由から、Certificate System のユーザーと管理者用に個別のアカウントを作成します。
11.3.2.1.1. ユーザー証明書の登録 リンクのコピーリンクがクリップボードにコピーされました!
ロールユーザーは、認証のために個人証明書を所有している必要があります。次の手順では、ユーザーが証明書を登録する方法について説明します。
ユーザーとして証明書要求を作成し、それを CA エージェントに送信します。
Certificate System 環境に Key Recovery Authority (KRA) が存在する場合は、以下を行います。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、証明書署名要求 (CSR) を
~/user_name.reqファイルにCRMF形式で保存します。CSR 要求ファイルを CA エージェントに送信します。Certificate System 環境に Key Recovery Authority (KRA) が存在しない場合は、以下を行います。
PKCS10Client -d /home/example-user/certs_db -p password -n "CN=user_name" -o ~/user_name.req
# PKCS10Client -d /home/example-user/certs_db -p password -n "CN=user_name" -o ~/user_name.req PKCS10Client: Certificate request written into /home/example-user/certs_db/user_name.req PKCS10Client: PKCS#10 request key id written into /home/example-user/certs_db/user_name.req.keyId "Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、CSR を
pkcs10形式で~/user_name.reqファイルに保存します。CSR 要求ファイルを CA エージェントに送信します。
CA エージェントとして、受信した CSR ファイルを入力として使用して登録要求を作成します。
~/cmc.role_crmf.cfgファイルを以下の内容で作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 直前の手順で使用した環境および CSR 形式に基づいて、パラメーターを設定します。
以前に作成した設定ファイルを
CMCRequestユーティリティーに渡して、CMC 要求を作成します。CMCRequest ~/cmc.role_crmf.cfg
# CMCRequest ~/cmc.role_crmf.cfgCopy to Clipboard Copied! Toggle word wrap Toggle overflow
CA エージェント
jsmithとして、CMC (CMS 経由の証明書管理) 要求を送信します。~/HttpClient_role_crmf.cfgファイルを以下の内容で作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 環境に応じてパラメーターを設定します。
CA に要求を送信します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 結果を確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 発行が成功した場合は、新しく発行された
.crt証明書ファイルを取得します。pki -d /home/jsmith/certs_db -c password -p 8443 -n 'jsmith - CA Agent for Example.com' ca-cert-export 0xF9D290B --output-file ~/user.crt
# pki -d /home/jsmith/certs_db -c password -p 8443 -n 'jsmith - CA Agent for Example.com' ca-cert-export 0xF9D290B --output-file ~/user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow その後、CA エージェント
jsmithは、証明書を要求元のユーザーに送信します。
要求元のユーザーとして、CA エージェント
jsmithから受け取った証明書を独自の<user home directory>/certs_db/データベースにインポートします。certutil -d ~/certs_db -A -t "u,u,u" -n "user_name" -i ~/user.crt
# certutil -d ~/certs_db -A -t "u,u,u" -n "user_name" -i ~/user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3.2.1.2. コマンドラインでのユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインでユーザーを作成するには、以下を実行します。
CA 管理者 (例:
jgenie) として、ユーザーアカウントを追加します。たとえば、user_nameユーザーを CA に追加するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、CA 管理者ユーザーを使用して新規アカウントを追加します。
オプションとして、CA 管理者 (例:
jgenie) として、ユーザーをグループに追加します。たとえば、user_nameユーザーをCertificate Manager Agentsグループに追加するには、以下を実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow CA 管理者として、ユーザーレコードに証明書を追加します。
シリアル番号または証明書ファイルを使用して、Certificate System データベース内のユーザーアカウントに証明書を追加します。たとえば、
user_nameユーザーの場合、以下を実行します。pki -d /home/jgenie/certs_db/ -c password -n jgenie ca-user-cert-add user_name --input ~/user.crt
# pki -d /home/jgenie/certs_db/ -c password -n jgenie ca-user-cert-add user_name --input ~/user.crtCopy to Clipboard Copied! Toggle word wrap Toggle overflow OR
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 証明書がユーザーレコードに追加されたことを確認します。たとえば、証明書のサブジェクトに
user_nameユーザーが含まれる証明書をリスト表示するには、次のコマンドを実行します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.3.2.1.3. コンソールを使用したユーザーの作成 リンクのコピーリンクがクリップボードにコピーされました!
PKI コンソールを使用してユーザーを作成するには、次のコマンドを実行します。
管理コンソールにログインします。
pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_type
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:8443/subsystem_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記pkiconsoleは非推奨となり、今後のメジャーリリースで新しいブラウザーベースの UI に置き換えられます。pkiconsoleは代替 UI がリリースされるまで引き続き使用できますが、今後新しいブラウザーベースの UI が使用可能になった場合でも pki CLI のサポートおよび改良は継続されるため、現時点ではpkiconsoleに相当するコマンドラインの使用が推奨されます。- Configuration タブで、Users and Groups を選択します。 をクリックします。
Edit User Information ダイアログに情報を入力します。
情報のほとんどは、ユーザー名、メールアドレス、パスワードなどの標準のユーザー情報です。このウィンドウには、User State と呼ばれるフィールドも含まれ、このフィールドにはユーザーに関する追加情報を追加するために使用される文字列を含めることができます。最も基本的なことですが、このフィールドにはユーザーがアクティブかどうかが表示されます。
- ユーザーが属するグループを選択します。ユーザーのグループメンバーシップにより、ユーザーが持つ特権が決まります。エージェント、管理者、および監査人を適切なサブシステムグループに割り当てます。
ユーザーの証明書を追加します。
- CA エンドエンティティーサービスページでユーザー証明書を要求します。
- ユーザープロファイルに対して自動登録が設定されていない場合は、証明書要求を承認します。
-
user.crtの内容 (「ユーザー証明書の登録」 どおりに実行した結果) をクリップボードにコピーします。 - 新しいユーザーエントリーを選択し、 をクリックします。
- をクリックし、base-64 でエンコードされた証明書に貼り付けます。
11.3.2.2. Certificate System ユーザー証明書の変更 リンクのコピーリンクがクリップボードにコピーされました!
- 管理コンソールにログインします。
- Users and Groups を選択します。
- ユーザー ID のリストから編集するユーザーを選択し、 をクリックします。
- をクリックして、新しい証明書を追加します。
-
Import Certificate ウィンドウで、テキストエリアに新しい証明書をペーストします。
-----BEGIN CERTIFICATE-----および-----END CERTIFICATE-----マーカー行を含めます。
11.3.2.3. 管理者、エージェント、および監査ユーザー証明書の更新 リンクのコピーリンクがクリップボードにコピーされました!
証明書を更新する方法は 2 つあります。証明書を 再生成 すると、元の鍵と元のプロファイルと要求を取得し、新しい有効期間と有効期限で同一の鍵を再作成します。証明書の キーを再入力 すると、最初の証明書要求が元のプロファイルに再送信されますが、新しいキーペアが生成されます。管理者証明書は、キーを再入力することで更新できます。
各サブシステムには、サブシステムの作成時に作成されたブートストラップユーザーがあります。デフォルトの更新プロファイルの 1 つを使用して、元の証明書の有効期限が切れる前に、このユーザーに新しい証明書を要求できます。
管理ユーザーの証明書は、元の証明書のシリアル番号を使用して、エンドユーザー登録フォームで直接更新できます。
- 管理ユーザー証明書を更新します。詳細は、「証明書の更新」 を参照してください。
更新されたユーザー証明書を内部 LDAP データベースのユーザーエントリーに追加します。
サブシステムのコンソールを開きます。
pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:admin_port/subsystem_type
# pkiconsole -d nssdb -n 'optional client cert nickname' https://server.example.com:admin_port/subsystem_typeCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記pkiconsoleは非推奨となり、今後のメジャーリリースで新しいブラウザーベースの UI に置き換えられます。pkiconsoleは代替 UI がリリースされるまで引き続き使用できますが、今後新しいブラウザーベースの UI が使用可能になった場合でも pki CLI のサポートおよび改良は継続されるため、現時点ではpkiconsoleに相当するコマンドラインの使用が推奨されます。- 設定 | ユーザーとグループ | ユーザー | 管理 | 証明書 | インポート
- Configuration タブで、Users and Groups を選択します。
- Users タブで、更新された証明書が含まれるユーザーエントリーをダブルクリックし、 をクリックします。
- をクリックし、base-64 でエンコードされた証明書に貼り付けます。
これは、ldapmodify を使用して、ユーザーエントリーの userCertificate 属性 (例: uid=admin,ou=people,dc=subsystem-base-DN) を置き換え、内部の LDAP データベースでユーザーエントリーに直接更新した証明書を追加しました。
11.3.2.4. Certificate System ユーザーの削除 リンクのコピーリンクがクリップボードにコピーされました!
ユーザーは内部データベースから削除できます。内部データベースからユーザーを削除すると、そのユーザーが属するすべてのグループから削除されます。特定のグループからユーザーを削除するには、グループメンバーシップを変更します。
以下の手順を実行して、内部データベースから特権ユーザーを削除します。
- 管理コンソールにログインします。
- 左側のナビゲーションメニューから Users and Groups を選択します。
- ユーザー ID のリストからユーザーを選択して、 をクリックします。
- プロンプトが表示されたら削除を確認します。
または、管理者として CLI で次のコマンドを実行することで、システムユーザーを削除することもできます。
pki -d /home/jgenie/certs_db -c password -n caadmin ca-user-del user_name
# pki -d /home/jgenie/certs_db -c password -n caadmin ca-user-del user_name ------------------------ Deleted user "user_name" ------------------------Copy to Clipboard Copied! Toggle word wrap Toggle overflow