25.3. 使用 Ansible 将 secret 归档到 IdM 中的标准用户库中
按照以下流程,使用 Ansible playbook 将敏感信息存储在个人 vault 中。在使用的示例中,idm_user 用户在名为 my_vault 的库中归档含有名为 password.txt 的敏感信息的文件。
先决条件
在控制节点上:
- 您在使用 Ansible 版本 2.15 或更高版本。
-
已安装
freeipa.ansible_freeipa集合。 - 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
目标节点(这是执行
freeipa.ansible_freeipa模块的节点)是作为 IdM 客户端、服务器或副本的 IdM 域的一部分。 - 您知道 idm_user 的密码。
- idm_user 是所有者,或者至少是 my_vault 的成员用户。
- 您可以访问 password.txt,这是要在 my_vault 中存档的机密。
流程
进入 ~/MyPlaybooks/ 目录:
$ cd ~/MyPlaybooks/从相关集合目录中生成 data-archive-in-symmetric-vault.yml Ansible playbook 文件的副本。例如:
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/vault/data-archive-in-symmetric-vault.yml data-archive-in-standard-vault-copy.yml- 打开 data-archive-in-standard-vault-copy.yml 文件进行编辑。
通过在
freeipa.ansible_freeipa.ipavault任务部分设置以下变量来调整文件:-
将
ipaadmin_principal变量设置为 idm_user。 -
将
ipaadmin_password变量设置为 idm_user 密码。 -
将
user变量设置为 idm_user。 -
将
name变量设置为 my_vault。 -
将
in变量设置为包含敏感信息的文件的完整路径。 将
action变量设置为 member。对于当前示例为修改过的 Ansible playbook 文件:
--- - name: Tests hosts: ipaserver gather_facts: false tasks: - freeipa.ansible_freeipa.ipavault: ipaadmin_principal: idm_user ipaadmin_password: idm_user_password user: idm_user name: my_vault in: /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/vault/password.txt action: member-
将
- 保存这个文件。
运行 playbook:
$ ansible-playbook -v -i inventory data-archive-in-standard-vault-copy.yml