4.4. Ansible Playbook を使用して JSON ファイルからの複数の IdM ユーザーが存在する状態にする
次の手順では、Ansible Playbook を使用して IdM に複数のユーザーが存在する状態にする方法を説明します。ユーザーは JSON ファイルに保存されます。
前提条件
コントロールノードの場合:
- Ansible バージョン 2.13 以降を使用している。
-
ansible-freeipaパッケージをインストールしている。 - この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成したことを前提としている。
-
この例では、secret.yml Ansible Vault に
ipaadmin_passwordが保存されていることを前提としています。
-
ターゲットノード (
ansible-freeipaモジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。
手順
inventory.fileなどのインベントリーファイルを作成して、そのファイルにipaserverを定義します。[ipaserver] server.idm.example.com
[ipaserver] server.idm.example.comCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
必要なタスクが含まれる Ansible Playbook ファイルを作成します。存在させるユーザーのデータが指定された
JSONファイルを参照します。この手順を簡略化するには、/usr/share/doc/ansible-freeipa/README-user.mdファイル内の例をコピーして変更します。
users.jsonファイルを作成し、IdM ユーザーを追加します。この手順を簡略化するには、/usr/share/doc/ansible-freeipa/README-user.mdファイル内の例をコピーして変更します。たとえば、ユーザー idm_user_1、idm_user_2、idm_user_3 を作成し、idm_user_1 のパスワードを Password123 として追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow Ansible Playbook を実行します。Playbook ファイル、secret.yml ファイルを保護するパスワードを格納するファイル、およびインベントリーファイルを指定します。
ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-users-present-jsonfile.yml
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/ensure-users-present-jsonfile.ymlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
ipa user-showコマンドを使用して、ユーザーアカウントが IdM に存在するかどうかを確認できます。管理者として
ipaserverにログインします。ssh administrator@server.idm.example.com
$ ssh administrator@server.idm.example.com Password: [admin@server /]$Copy to Clipboard Copied! Toggle word wrap Toggle overflow idm_user_1 に関する情報を表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
idm_user_1 という名前のユーザーが IdM に存在しています。