第27章 RHEL システムロールを使用した CA からの証明書の要求および自己署名証明書の作成
Web サーバーなどの多くのサービスは、TLS を使用してクライアントとの接続を暗号化します。certificate RHEL システムロールを使用すると、管理対象ノードでの秘密鍵の生成を自動化できます。さらに、このロールは、CA から証明書を要求するように certmonger サービスを設定します。
テスト目的の場合は、certificate ロールを使用して、CA から署名済み証明書を要求する代わりに、自己署名証明書を作成できます。
27.1. certificate RHEL システムロールを使用した IdM CA からの新しい証明書の要求 リンクのコピーリンクがクリップボードにコピーされました!
certificate RHEL システムロールを使用すると、秘密鍵を作成するプロセスと、certmonger サービスが Red Hat Enterprise Linux 認証局 (CA) の Identity Management (IdM) から証明書を要求するプロセスを自動化できます。
前提条件
- コントロールノードと管理対象ノードの準備が完了している。
- 管理対象ノードで Playbook を実行できるユーザーとしてコントロールノードにログインしている。
-
管理対象ノードへの接続に使用するアカウントに、そのノードに対する
sudo権限がある。 - 管理対象ノードが IdM ドメインのメンバーであり、そのドメインで IdM 統合 CA を使用している。
手順
次の内容を含む Playbook ファイル (例:
~/playbook.yml) を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サンプル Playbook で指定されている設定は次のとおりです。
name: <path_or_file_name>生成される秘密鍵と証明書ファイルの名前またはパスを定義します。
-
変数を
web-serverに設定すると、ロールによって秘密鍵が/etc/pki/tls/private/web-server.keyに保存され、証明書が/etc/pki/tls/certs/web-server.crtファイルに保存されます。 変数を
/tmp/web-serverなどのパスに設定すると、ロールによって秘密鍵が/tmp/web-server.keyに保存され、証明書が/tmp/web-server.crtファイルに保存されます。使用するディレクトリーに
cert_tSELinux コンテキストが設定されている必要があることに注意してください。SELinux コンテキストは、selinuxRHEL システムロールを使用して管理できます。
-
変数を
ca: ipa- ロールが IdM CA から証明書を要求することを指定します。
dns: <hostname_or_list_of_hostnames>-
発行された証明書のサブジェクト代替名 (SAN) フィールドに含まれるホスト名を設定します。ワイルドカード (
*) を使用することも、YAML リスト形式で複数の名前を指定することもできます。 principal: <kerberos_principal>- オプション: 証明書に含める Kerberos プリンシパルを設定します。
run_before: <command>-
オプション: CA から証明書を要求する前に
certmongerが実行するコマンドを定義します。 run_after: <command>-
オプション: CA から発行された証明書を受け取った後に
certmongerが実行するコマンドを定義します。
Playbook で使用されるすべての変数の詳細は、コントロールノードの
/usr/share/ansible/roles/rhel-system-roles.certificate/README.mdファイルを参照してください。Playbook の構文を検証します。
ansible-playbook --syntax-check ~/playbook.yml
$ ansible-playbook --syntax-check ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。
Playbook を実行します。
ansible-playbook ~/playbook.yml
$ ansible-playbook ~/playbook.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
certmongerサービスが管理する証明書をリスト表示します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow