7.2. Ansible Playbook を使用して IdM ユーザーを存在させる手順
以下の手順では、Ansible Playbook を使用して IdM にユーザーを 1 つ存在させる方法を説明します。
前提条件
-
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/add-user.yml
ファイルのサンプルをコピーして変更し、簡素化できます。たとえば、idm_user という名前のユーザーを作成し、 Password123 をユーザーパスワードとして追加するには、次のコマンドを実行します。--- - name: Playbook to handle users hosts: ipaserver vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - name: Create user idm_user ipauser: ipaadmin_password: "{{ ipaadmin_password }}" name: idm_user first: Alice last: Acme uid: 1000111 gid: 10011 phone: "+555123457" email: idm_user@acme.com passwordexpiration: "2023-01-19 23:59:59" password: "Password123" update_password: on_create
ユーザーを追加するには、以下のオプションを使用する必要があります。
- 名前: ログイン名
- first: 名前 (名) の文字列
- last: 名前 (姓) の文字列
利用可能なユーザーオプションの完全なリストは、
/usr/share/doc/ansible-freeipa/README-user.md
Markdown ファイルを参照してください。注記update_password: on_create
オプションを使用する場合には、Ansible はユーザー作成時にのみユーザーパスワードを作成します。パスワードを指定してユーザーが作成されている場合には、Ansible では新しいパスワードは生成されません。Playbook を実行します。
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file path_to_playbooks_directory/add-IdM-user.yml
検証
ipa user-show
コマンドを使用して、新しいユーザーアカウントが IdM に存在するかどうかを確認できます。admin として
ipaserver
にログインします。$ ssh admin@server.idm.example.com Password: [admin@server /]$
admin の Kerberos チケットを要求します。
$ kinit admin Password for admin@IDM.EXAMPLE.COM:
idm_user に関する情報を要求します。
$ ipa user-show idm_user User login: idm_user First name: Alice Last name: Acme ....
idm_userという名前のユーザー が IdM に存在しています。