第26章 Ansible を使用して IdM にサービスを配置させる手順およびさせない手順
Ansible サービス
モジュールを使用すると、Identity Management (IdM) 管理者は、IdM ネイティブではない特定のサービスが IdM に存在するか、存在しないかを確認できます。たとえば、サービス
モジュールを使用すると以下を行うことができます。
手動でインストールしたサービスが IdM クライアントに存在ていることを確認します。サービスが存在しない場合には自動的にインストールされます。詳細は、次を参照してください。
- IdM に登録したサービスに、証明書がアタッチされていることを確認して、証明書がない場合には自動的にその証明書がインストールされます。詳細は、次を参照してください。
- IdM サービスエントリーで外部署名の証明書が存在することを確認する。
IdM ユーザーとホストが、サービスキータブを取得して作成できるようにします。詳細は、次を参照してください。
IdM ユーザーとホストが Kerberos エイリアスをサービスに追加できるようにします。詳細は、次を参照してください。
サービスが IdM クライアントにないかを確認して、そのサービスが存在する場合は自動的にそのサービスを削除します。詳細は、次を参照してください。
26.1. Ansible Playbook を使用して IdM に HTTP サービスを存在させる手順
以下の手順に従って、Ansible Playbook を使用して IdM に HTTP サーバーが存在することを確認します。
前提条件
- HTTP サービスをホストするシステムが IdM クライアントである。
- IdM 管理者パスワードがある。
手順
inventory.file
などのインベントリーファイルを作成します。$ touch inventory.file
inventory.file
を開き、[ipaserver]
セクションに、設定する IdM サーバーを定義します。たとえば、Ansible に対して server.idm.example.com を設定するように指示するには、次のコマンドを実行します。[ipaserver] server.idm.example.com
Ansible Playbook ファイル (
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml
) のコピーを作成します。以下に例を示します。$ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
Ansible Playbook ファイル (
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-copy.yml
) を開きます。--- - 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/client.idm.example.com
ファイルを調整します。
-
ipaadmin_password
変数で定義されている IdM 管理者パスワードを変更します。 -
ipaservice
タスクのname
変数で定義されているように、HTTP サービスが実行されている IdM クライアントの名前を変更します。
-
- ファイルを保存し、終了します。
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-copy.yml
検証
- 管理者として IdM Web UI にログインします。
-
Identity
Services
に移動します。
Services リストに HTTP/client.idm.example.com@IDM.EXAMPLE.COM がある場合は、Ansible Playbook は IdM に正常に追加されています。
関連情報
- HTTP サーバーとブラウザークライアント間の通信を保護する方法は、Apache HTTP Server への TLS 暗号化の追加 を参照してください。
- HTTP サービスの証明書を要求する場合は、certmonger を使用したサービスの IdM 証明書の取得 に記載されている手順を参照してください。