7.5. Ansible Playbook を使用してユーザーが存在しないことを確認する手順
以下の手順では、Ansible Playbook を使用して、特定のユーザーが IdM に存在しないことを確認する方法を説明します。
前提条件
-
IdM
admin
のパスワードを把握している。 次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.14 以降を使用している。
-
Ansible コントローラーに
ansible-freeipa
パッケージがインストールされている。 - ~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成している (この例の場合)。
-
この例では、secret.yml Ansible vault に
ipaadmin_password
が保存されていることを前提としています。
-
ターゲットノード (
ansible-freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
inventory.file
などのインベントリーファイルを作成して、そのファイルにipaserver
を定義します。[ipaserver] server.idm.example.com
IdM に存在させないユーザーを指定して Ansible Playbook ファイルを作成します。この手順は、
/usr/share/doc/ansible-freeipa/playbooks/user/ensure-users-present.yml
ファイルのサンプルをコピーして変更し、簡素化できます。たとえば、ユーザー idm_user_1、idm_user_2、idm_user_3 を削除するには、次のコマンドを実行します。--- - name: Playbook to handle users hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Delete users idm_user_1, idm_user_2, idm_user_3 ipauser: ipaadmin_password: "{{ ipaadmin_password }}" users: - name: idm_user_1 - name: idm_user_2 - name: idm_user_3 state: absent
Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/delete-users.yml
検証
ipa user-show
コマンドを使用して、ユーザーアカウントが IdM に存在しないことを確認できます。
管理者として
ipaserver
にログインします。$ ssh administrator@server.idm.example.com Password: [admin@server /]$
idm_user_1 に関する要求情報:
$ ipa user-show idm_user_1 ipa: ERROR: idm_user_1: user not found
idm_user_1 という名前のユーザーは IdM に存在しません。