第27章 Ansible を使用して IdM にサービスが存在する状態または存在しない状態にする
Ansible の service
モジュールを使用すると、Identity Management (IdM) 管理者は、IdM にネイティブではない特定のサービスを、IdM に存在する状態または存在しない状態にできます。たとえば、service
モジュールを使用して次のことを実行できます。
手動でインストールしたサービスが IdM クライアントに存在ていることを確認します。サービスが存在しない場合には自動的にインストールされます。詳細は、次を参照してください。
IdM に登録したサービスに、証明書がアタッチされていることを確認して、証明書がない場合には自動的にその証明書がインストールされます。詳細は、次を参照してください。
IdM ユーザーとホストが、サービスキータブを取得して作成できるようにします。詳細は、次を参照してください。
IdM ユーザーとホストが Kerberos エイリアスをサービスに追加できるようにします。詳細は、次を参照してください。
サービスが IdM クライアントにないかを確認して、そのサービスが存在する場合は自動的にそのサービスを削除します。詳細は、次を参照してください。
27.1. Ansible Playbook を使用して IdM に HTTP サービスが存在する状態にする リンクのコピーリンクがクリップボードにコピーされました!
Ansible Playbook を使用して IdM に HTTP サーバーが存在する状態にするには、次の手順を実行します。
前提条件
コントロールノード:
- Ansible バージョン 2.15 以降を使用している。
-
freeipa.ansible_freeipa
コレクションがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル が作成されている (この例の場合)。
-
secret.yml Ansible vault に
ipaadmin_password
が保存されており、secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできる (この例の場合)。
-
ターゲットノード (
freeipa.ansible_freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。 - HTTP サービスをホストするシステムが IdM クライアントである。
手順
~/MyPlaybooks/ディレクトリーに移動します。
cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 該当するコレクションのディレクトリーから service-is-present.yml Ansible Playbook ファイルのコピーを作成します。以下に例を示します。
cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/service/service-is-present.yml service-is-present-copy.yml
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/service/service-is-present.yml service-is-present-copy.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow service-is-present-copy.yml
Ansible Playbook ファイルを編集のために開きます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
HTTP サービスが実行されている IdM クライアントの名前を、
freeipa.ansible_freeipa.ipaservice
タスクのname
変数で定義されている名前に変更します。 - ファイルを保存し、終了します。
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i inventory.file service-is-present-copy.yml
$ ansible-playbook --vault-password-file=password_file -v -i inventory.file service-is-present-copy.yml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
- IdM 管理者として IdM Web UI にログインします。
-
Identity
Services
に移動します。
Services リストに HTTP/client.idm.example.com@IDM.EXAMPLE.COM がある場合は、Ansible Playbook は IdM に正常に追加されています。