24.2. Ansible を使用して IdM の標準ユーザー Vault でシークレットをアーカイブする手順
以下の手順に従って、Ansible Playbook を使用してパーソナル Vault に機密情報を保存します。この例では、idm_user ユーザーは my_vault という名前の Vault に password.txt という名前で機密情報が含まれるファイルをアーカイブします。
前提条件
次の要件を満たすように Ansible コントロールノードを設定した。
- Ansible バージョン 2.13 以降を使用している。
-
ansible-freeipa
パッケージをインストールしている。 - この例では、~/MyPlaybooks/ ディレクトリーに、IdM サーバーの完全修飾ドメイン名 (FQDN) を使用して Ansible インベントリーファイル を作成したことを前提としている。
-
ターゲットノード (
ansible-freeipa
モジュールが実行されるノード) が、IdM クライアント、サーバー、またはレプリカとして IdM ドメインに含まれている。 - idm_user のパスワードを知っている。
- idm_user が所有者であるか、my_vault のメンバーユーザーである。
- password.txt (my_vault にアーカイブするシークレット) にアクセスできる。
手順
MyPlaybooks ディレクトリーに移動します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cd ~/MyPlaybooks/
$ cd ~/MyPlaybooks/
/usr/share/doc/ansible-freeipa/playbooks/vault/data-archive-in-symmetric-vault.yml Ansible Playbook ファイルのコピーを作成します。以下に例を示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cp /usr/share/doc/ansible-freeipa/playbooks/vault/data-archive-in-symmetric-vault.yml data-archive-in-symmetric-vault-copy.yml
$ cp /usr/share/doc/ansible-freeipa/playbooks/vault/data-archive-in-symmetric-vault.yml data-archive-in-symmetric-vault-copy.yml
- data-archive-in-standard-vault-copy.yml ファイルを開いて編集します。
ipavault
タスクセクションに以下の変数を設定して、ファイルを調整します。-
ipaadmin_principal
変数は idm_user に設定します。 -
ipaadmin_password
変数は idm_user のパスワードに設定します。 -
user
変数は idm_user に設定します。 -
name
変数は my_vault に設定します。 -
in
変数は機密情報が含まれるファイルへのパスに設定します。 action
変数は member に設定します。今回の例で使用するように変更した Ansible Playbook ファイル:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow --- - name: Tests hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - ipavault: ipaadmin_principal: idm_user ipaadmin_password: idm_user_password user: idm_user name: my_vault in: /usr/share/doc/ansible-freeipa/playbooks/vault/password.txt action: member
--- - name: Tests hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: - ipavault: ipaadmin_principal: idm_user ipaadmin_password: idm_user_password user: idm_user name: my_vault in: /usr/share/doc/ansible-freeipa/playbooks/vault/password.txt action: member
-
- ファイルを保存します。
Playbook を実行します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow ansible-playbook -v -i inventory.file data-archive-in-standard-vault-copy.yml
$ ansible-playbook -v -i inventory.file data-archive-in-standard-vault-copy.yml