2.8. 統合 DNS と、ルート CA としての外部 CA を使用したデプロイメントのパラメーターの設定
IdM 統合 DNS ソリューションを使用する環境で、外部 CA をルート CA として使用する IdM サーバーをインストールするためのインベントリーファイルを設定するには、この手順を実行します。
この手順のインベントリーファイルは、INI 形式を使用します。または、YAML 形式または JSON 形式を使用できます。
手順
~/MyPlaybooks/ディレクトリーを作成します。$ mkdir MyPlaybooks-
~/MyPlaybooks/inventoryファイルを作成します。 編集するインベントリーファイルを開きます。IdM サーバーとして使用するホストの完全修飾ドメイン名 (
FQDN) を指定します。FQDNが以下の基準を満たしていることを確認してください。- 英数字およびハイフン (-) のみが使用できる。たとえば、アンダーラインは使用できないため、DNS の障害が発生する原因となる可能性があります。
- ホスト名がすべて小文字である。
- IdM ドメインおよびレルムの情報を指定します。
以下のオプションを追加して、統合 DNS を使用することを指定します。
ipaserver_setup_dns=trueDNS 転送設定を指定します。以下のいずれかのオプションを選択します。
-
インストールプロセスで
/etc/resolv.confファイルのフォワーダーを使用する場合は、ipaserver_auto_forwarders=trueオプションを使用します。/etc/resolv.confファイルで指定する nameserver が localhost 127.0.0.1 アドレスである場合、または仮想プライベートネットワークにあり、使用している DNS サーバーが通常パブリックインターネットから到達できない場合は、このオプションを使用することが推奨されません。 -
ipaserver_forwardersを使用して、フォワーダーを手動で指定します。インストールプロセスにより、インストールした IdM サーバーの/etc/named.confファイルに、フォワーダーの IP アドレスが追加されます。 代わりにルート DNS サーバーを使用するように設定するには、
ipaserver_no_forwarders=trueオプションを使用します。注記DNS フォワーダーがないと、環境は分離され、インフラストラクチャー内の他の DNS ドメインからの名前は解決されません。
-
インストールプロセスで
DNS の逆引きレコードとゾーンの設定を指定します。次のいずれかのオプションを選択します。
-
ゾーンがすでに解決可能である場合でも (逆引き) ゾーンの作成を許可するには、
ipaserver_allow_zone_overlap=trueオプションを使用します。 -
ipaserver_reverse_zonesオプションを使用して、逆引きゾーンを手動で指定します。 インストールプロセスで逆引き DNS ゾーンを作成しない場合は、
ipaserver_no_reverse=trueオプションを使用します。注記オプションで、逆引きゾーンの管理に IdM を使用できます。代わりに、この目的で外部 DNS サービスを使用することもできます。
-
ゾーンがすでに解決可能である場合でも (逆引き) ゾーンの作成を許可するには、
-
adminとDirectory Managerのパスワードを指定します。Ansible Vault を使用してパスワードを保存し、Playbook ファイルから Vault ファイルを参照します。あるいは、安全性は低くなりますが、インベントリーファイルにパスワードを直接指定します。 オプション: IdM サーバーで使用するカスタムの
firewalldゾーンを指定します。カスタムゾーンを設定しないと、IdM はサービスをデフォルトのfirewalldゾーンに追加します。事前定義されたデフォルトゾーンはpublicです。重要指定する
firewalldゾーンは存在し、永続的でなければなりません。必要なサーバー情報を含むインベントリーファイルの例 (パスワードを除く)
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=true
ipaserver_auto_forwarders=true
[...]
+ 必要なサーバー情報 (パスワードを含む) を含むインベントリーファイルの例
[ipaserver]
server.idm.example.com
[ipaserver:vars]
ipaserver_domain=idm.example.com
ipaserver_realm=IDM.EXAMPLE.COM
ipaserver_setup_dns=true
ipaserver_auto_forwarders=true
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=true
ipaserver_auto_forwarders=true
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: freeipa.ansible_freeipa.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: freeipa.ansible_freeipa.ipaserver
state: present