26.2. 使用 Ansible 在 IdM 中存在标准用户库
使用 Ansible playbook 创建具有一个或多个私有密码库的 vault 容器,以安全地存储敏感信息,允许 vault 所有者从任何 IdM 客户端访问存储的 secret,而无需额外身份验证。
在以下示例中,idm_user 用户创建名为 my_vault 的标准类型库。标准密码库类型确保无需 idm_user 在访问该文件时进行身份验证。idm_user 能够从用户登录的任何 IdM 客户端检索 文件。
先决条件
在控制节点上:
- 您使用 Ansible 版本 2.15 或更高版本。
-
您已安装了
ansible-freeipa软件包。 - 示例假定在 ~/MyPlaybooks/ 目录中,您已创建了一个具有 IdM 服务器的完全限定域名(FQDN)的 Ansible 清单文件。
-
目标节点(这是执行
freeipa.ansible_freeipa模块的节点)作为 IdM 客户端、服务器或副本,是 IdM 域的一部分。 - 您知道 idm_user 的密码。
流程
进入到 ~/MyPlaybooks/ 目录:
$ cd ~/MyPlaybooks/从相关集合目录中创建 ensure-standard-vault-is-present.yml Ansible playbook 文件的一个副本。例如:
$ cp /usr/share/ansible/collections/ansible_collections/freeipa/ansible_freeipa/playbooks/vault/ensure-standard-vault-is-present.yml ensure-standard-vault-is-present-copy.yml- 打开 ensure-standard-vault-is-present-copy.yml 文件进行编辑。
通过在
freeipa.ansible_freeipa.ipavault任务部分中设置以下变量来调整文件:-
将
ipaadmin_principal变量设置为 idm_user。 -
将
ipaadmin_password变量设置为 idm_user 密码。 -
将
user变量设置为 idm_user。 -
将
name变量设置为 my_vault。 将
vault_type变量设置为 standard。对于当前示例为修改过的 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 vault_type: standard-
将
- 保存这个文件。
运行 playbook:
$ ansible-playbook -v -i inventory ensure-standard-vault-is-present-copy.yml