検索

26.5. Ansible Playbook を使用して IdM サービスエントリーに外部署名証明書を存在させる手順

download PDF

この手順に従い、ansible-freeipa service モジュールを使用して、外部の認証局 (CA) が HTTP サービスの IdM エントリーにアタッチされていることを確認します。IdM CA が自己署名の証明書を使用する場合には、IdM CA ではなく外部 CA が署名した HTTP サービスの証明書を使用すると便利です。

前提条件

手順

  1. inventory.file などのインベントリーファイルを作成します。

    $ touch inventory.file
  2. inventory.file を開き、[ipaserver] セクションに、設定する IdM サーバーを定義します。たとえば、Ansible に対して server.idm.example.com を設定するように指示するには、次のコマンドを実行します。

    [ipaserver]
    server.idm.example.com
  3. 以下のように /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present.yml ファイルのコピーを作成します。

    $ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml
  4. オプション: 証明書の形式が Privacy Enhanced Mail (PEM) の場合には、証明書を識別名エンコーディングルール (DER) 形式に変換し、コマンドラインインターフェイス (CLI) でより簡単に処理できるようにします。

    $ openssl x509 -outform der -in cert1.pem -out cert1.der
  5. base64 を使用して DER ファイルを復号化します。ラッピングを無効にするには、-w0 オプションを使用します。

    $ base64 cert1.der -w0
    MIIC/zCCAeegAwIBAgIUV74O+4kXeg21o4vxfRRtyJm...
  6. 標準出力からクリップボードに証明書をコピーします。
  7. /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml ファイルを開き、このファイルの内容を編集および表示します。

    ---
    - name: Service certificate present.
      hosts: ipaserver
      gather_facts: false
    
      vars_files:
      - /home/user_name/MyPlaybooks/secret.yml
      tasks:
      # Ensure service certificate is present
      - ipaservice:
          ipaadmin_password: "{{ ipaadmin_password }}"
          name: HTTP/client.idm.example.com
          certificate: |
            - MIICBjCCAW8CFHnm32VcXaUDGfEGdDL/...
          [...]
          action: member
          state: present
  8. ファイルを調整します。

    • certificate 変数を使用して定義した証明書は、CLI からコピーした証明書に置き換えます。上記のように | パイプ文字と certificate: 変数を併用する場合は、1 行に入力せずに、このように証明書を入力してください。これで、証明書の読み取りが容易になります。
    • ipaadmin_password 変数で定義されている IdM 管理者パスワードを変更します。
    • HTTP サービスを実行する IdM クライアントの名前 (name 変数で定義) を変更します。
    • その他の関連する変数を変更します。
  9. ファイルを保存し、終了します。
  10. Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。

    $ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-member-certificate-present-copy.yml

検証

  1. 管理者として IdM Web UI にログインします。
  2. Identity Services に移動します。
  3. HTTP/client.idm.example.com など、新しく追加した証明書が指定されたサービス名をクリックします。

右側の サービス証明書 セクションで、新たに追加した証明書を確認できるようになりました。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.