25.8. 外部 DNS と、ルート CA としての外部 CA を使用したデプロイメントのパラメーターの設定
以下の手順に従って、外部 DNS ソリューションを使用する環境で、外部 CA を持つ IdM サーバーを root CA としてインストールするようにインベントリーファイルを設定します。
この手順のインベントリーファイルは、INI
形式を使用します。または、YAML
形式または JSON
形式を使用できます。
手順
~/MyPlaybooks/
ディレクトリーを作成します。$ mkdir MyPlaybooks
-
~/MyPlaybooks/inventory
ファイルを作成します。 編集するインベントリーファイルを開きます。IdM サーバーとして使用するホストの完全修飾ドメイン名 (
FQDN
) を指定します。FQDN
が以下の基準を満たしていることを確認してください。- 英数字およびハイフン (-) のみが使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。
- ホスト名がすべて小文字である。
- IdM ドメインおよびレルムの情報を指定します。
-
ipaserver_setup_dns
オプションがno
に設定されているか、存在しないことを確認します。 -
admin
とDirectory Manager
のパスワードを指定します。Ansible Vault を使用してパスワードを保存し、Playbook ファイルから Vault ファイルを参照します。あるいは、安全性は低くなりますが、インベントリーファイルにパスワードを直接指定します。 オプション: IdM サーバーで使用するカスタムの
firewalld
ゾーンを指定します。カスタムゾーンを設定しないと、サービスがデフォルトのfirewalld
ゾーンに追加されます。事前定義されたデフォルトゾーンはpublic
です。重要指定する
firewalld
ゾーンは存在し、永続的でなければなりません。必要なサーバー情報を含むインベントリーファイルの例 (パスワードを除く)
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=no [...]
必要なサーバー情報を含むインベントリーファイルの例 (パスワードを含む)
[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=no ipaadmin_password=MySecretPassword123 ipadm_password=MySecretPassword234 [...]
カスタムの
firewalld
損を使用したインベントリーファイルの例[ipaserver] server.idm.example.com [ipaserver:vars] ipaserver_domain=idm.example.com ipaserver_realm=IDM.EXAMPLE.COM ipaserver_setup_dns=no ipaadmin_password=MySecretPassword123 ipadm_password=MySecretPassword234 ipaserver_firewalld_zone=custom zone [...]
インストールの最初ステップ用の Playbook を作成します。証明書署名要求 (CSR) を生成し、それをコントローラーからマネージドノードにコピーする指示を入力します。
--- - name: Playbook to configure IPA server Step 1 hosts: ipaserver become: true vars_files: - playbook_sensitive_data.yml vars: ipaserver_external_ca: true roles: - role: ipaserver state: present post_tasks: - name: Copy CSR /root/ipa.csr from node to "{{ groups.ipaserver[0] + '-ipa.csr' }}" fetch: src: /root/ipa.csr dest: "{{ groups.ipaserver[0] + '-ipa.csr' }}" flat: true
インストールの最終ステップ用に、別の Playbook を作成します。
--- - name: Playbook to configure IPA server Step 2 hosts: ipaserver become: true vars_files: - playbook_sensitive_data.yml vars: ipaserver_external_cert_files: - "/root/servercert20240601.pem" - "/root/cacert.pem" pre_tasks: - name: Copy "{{ groups.ipaserver[0] }}-{{ item }}" to "/root/{{ item }}" on node ansible.builtin.copy: src: "{{ groups.ipaserver[0] }}-{{ item }}" dest: "/root/{{ item }}" force: true with_items: - servercert20240601.pem - cacert.pem roles: - role: ipaserver state: present
関連情報
- IdM サーバーのインストール: 統合 DNS なしで外部 CA を root CA として使用する場合
-
man
ipa-server-install(1)
-
/usr/share/doc/ansible-freeipa/README-server.md