26.4. Ansible Playbook を使用して、DNS を使用せずに IdM クライアントで HTTP サービスを存在させる手順
以下の手順に従って、Ansible Playbook を使用して DNS エントリーがない IdM クライアントで HTTP サーバーが存在することを確認します。このシナリオでは、IdM ホストに DNS A エントリーがないことを前提としています (IPv4 の代わりに IPv6 を使用する場合には DNS AAAA エントリーがない)。
前提条件
- HTTP サービスをホストするシステムが IdM に登録されている。
- ホストの DNS A または DNS AAAA レコードを存在させない。ホストの DNS レコードが存在する場合は、Ansible Playbook を使用して IdM に HTTP サービスが存在する状態にする 手順に従います。
- IdM 管理者パスワードがある。
手順
inventory.fileなどのインベントリーファイルを作成します。$ touch inventory.fileinventory.fileを開き、[ipaserver]セクションに、設定する IdM サーバーを定義します。たとえば、Ansible に対して server.idm.example.com を設定するように指示するには、次のコマンドを実行します。[ipaserver] server.idm.example.comAnsible Playbook ファイル (
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force.yml) のコピーを作成します。以下に例を示します。$ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force-copy.ymlコピーしたファイル
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force-copy.ymlを開きます。ipaserviceタスクでipaadmin_passwordとname変数の場所を特定します。--- - name: Playbook to manage IPA service. hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure service is present - ipaservice: ipaadmin_password: "{{ ipaadmin_password }}" name: HTTP/ihavenodns.info force: trueファイルを調整します。
-
ipaadmin_password変数は IdM 管理者パスワードに設定します。 -
name変数は、HTTP サービスが実行されているホストの名前に設定します。
-
- ファイルを保存し、終了します。
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-is-present-with-host-force-copy.yml
検証
- IdM 管理者として IdM Web UI にログインします。
-
IdentityServicesに移動します。
HTTP/client.idm.example.com@IDM.EXAMPLE.COM が Services リストに表示されています。