42.5. Ansible Playbook を使用して IdM ホストエントリーが存在しない状態にする
以下の手順に従って、Ansible Playbook を使用して Identity Management (IdM) にホストエントリーがないことを確認します。
前提条件
次の要件を満たすように Ansible コントロールノードを設定している。
- Ansible バージョン 2.15 以降を使用している。
-
ansible-freeipaパッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル が作成されている (この例の場合)。
-
secret.yml Ansible vault に
ipaadmin_passwordが保存されており、secret.yml ファイルを保護するパスワードを格納しているファイルにアクセスできる (この例の場合)。
-
ターゲットノード (
freeipa.ansible_freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
IdM に存在させないホストの
完全修飾ドメイン名(FQDN) を指定して Ansible Playbook ファイルを作成します。IdM ドメインに DNS が統合されている場合は、updatedns: trueオプションを使用して、ホストに関連するあらゆる種類のレコードを DNS から削除します。このステップを簡略化するために、
/usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/host/delete-host.ymlファイルの例をコピーして変更します。--- - name: Host absent hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Host host01.idm.example.com absent freeipa.ansible_freeipa.ipahost: ipaadmin_password: "{{ ipaadmin_password }}" name: host01.idm.example.com updatedns: true state: absentPlaybook を実行します。
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-host-absent.yml注記この手順の結果は以下のようになります。
- IdM Kerberos レルムにホストが存在していない。
- IdM LDAP サーバーにホストエントリーが存在しない。
SSSD (System Security Services Daemon) などのシステムサービスの特定の IdM 設定をクライアントホスト自体から削除するには、クライアントで
ipa-client-install --uninstallコマンドを実行する必要があります。詳細は、IdM クライアントのアンインストール を参照してください。
検証
ipaserverに admin としてログインします。$ ssh admin@server.idm.example.com Password: [admin@server /]$host01.idm.example.com に関する情報を表示します。
$ ipa host-show host01.idm.example.com ipa: ERROR: host01.idm.example.com: host not found
この出力では、ホストが IdM に存在しないことを確認します。