7.2. certificate RHEL システムロールを使用した新しい自己署名証明書の要求


テスト環境に TLS 証明書が必要な場合は、自己署名証明書を使用できます。certificate RHEL システムロールを使用すると、秘密鍵を作成するプロセスと、certmonger サービスで自己署名証明書を作成するプロセスを自動化できます。また、certmonger は、デフォルトで証明書の有効期限が切れる前に更新を行います。

前提条件

手順

  1. 次の内容を含む Playbook ファイル (例: ~/playbook.yml) を作成します。

    ---
    - name: Create certificates
      hosts: managed-node-01.example.com
      tasks:
        - name: Create a self-signed certificate
          ansible.builtin.include_role:
            name: rhel-system-roles.certificate
          vars:
            certificate_requests:
              - name: web-server
                ca: self-sign
                dns: test.example.com

    サンプル 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_t SELinux コンテキストが設定されている必要があることに注意してください。SELinux コンテキストは、selinux RHEL システムロールを使用して管理できます。

    ca: self-sign
    ロールで自己署名証明書を作成することを指定します。
    dns: <hostname_or_list_of_hostnames>
    発行された証明書のサブジェクト代替名 (SAN) フィールドに含まれるホスト名を設定します。ワイルドカード (*) を使用することも、YAML リスト形式で複数の名前を指定することもできます。

    Playbook で使用されるすべての変数の詳細は、コントロールノードの /usr/share/ansible/roles/rhel-system-roles.certificate/README.md ファイルを参照してください。

  2. Playbook の構文を検証します。

    $ ansible-playbook --syntax-check ~/playbook.yml

    このコマンドは構文を検証するだけであり、有効だが不適切な設定から保護するものではないことに注意してください。

  3. Playbook を実行します。

    $ ansible-playbook ~/playbook.yml

検証

  • certmonger サービスが管理する証明書をリスト表示します。

    # ansible managed-node-01.example.com -m command -a 'getcert list'
    ...
    Number of certificates and requests being tracked: 1.
    Request ID '20240918133610':
    	status: MONITORING
    	stuck: no
    	key pair storage: type=FILE,location='/etc/pki/tls/private/web-server.key'
    	certificate: type=FILE,location='/etc/pki/tls/certs/web-server.crt'
    	CA: local
    	issuer: CN=c32b16d7-5b1a4c5a-a953a711-c3ca58fb,CN=Local Signing Authority
    	subject: CN=test.example.com
    	issued: 2024-09-18 15:36:10 CEST
    	expires: 2025-09-18 15:36:09 CEST
    	dns: test.example.com
    	key usage: digitalSignature,keyEncipherment
    	eku: id-kp-serverAuth,id-kp-clientAuth
    	pre-save command:
    	post-save command:
    	track: yes
    	auto-renew: yes

関連情報

  • /usr/share/ansible/roles/rhel-system-roles.certificate/README.md ファイル
  • /usr/share/doc/rhel-system-roles/certificate/ ディレクトリー
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.