5.2. 为 ansible-freeipa playbook 提供所需凭证的不同方法
用于提供运行使用 ansible-freeipa
角色和模块的 playbook 所需的凭证的不同的方法有各自的优缺点。
将密码以纯文本形式存储在 playbook 中
优点 :
- 运行 playbook 时,不会一直提示。
- 易于实现。
缺点 :
- 有权访问该文件的人都可以读取密码。设置错误的权限并共享文件(例如在内部或外部存储库中)都可能会破坏安全性。
- 高维护性工作:如果更改了密码,则需要在所有 playbook 中进行更改。
执行 playbook 时以交互方式输入密码
优点 :
- 无人可以窃取密码,因为它不存储在任何地方。
- 您可以轻松地更新密码。
- 易于实现。
缺点 :
- 如果您在脚本中使用 Ansible playbook,要求以交互方式输入密码可能不太方便。
将密码存储在 Ansible vault 中,将 vault 密码存储在文件中:
优点 :
- 用户密码以加密方式存储。
- 您可以通过创建一个新的 Ansible vault 来轻松地更新用户密码。
-
您可以使用
ansible-vault rekey --new-vault-password-file=NEW_VAULT_PASSWORD_FILE secret.yml
命令轻松地更新保护 ansible vault 的密码文件。 - 如果您在脚本中使用 Ansible playbook,则不以交互方式输入保护 Ansible vault 的密码很方便。
缺点 :
- 通过文件权限和其他安全措施保护包含敏感纯文本密码的文件很重要。
将密码存储在 Ansible vault中,并以交互方式输入 vault 密码
优点 :
- 用户密码以加密方式存储。
- 无人可以窃取 vault 密码,因为它不存储在任何地方。
- 您可以通过创建一个新的 Ansible vault 来轻松地更新用户密码。
-
您还可以使用
ansible-vault rekey file_name
命令轻松地更新 vault 密码。
缺点 :
- 如果您在脚本中使用 Ansible playbook,则需要以交互方式输入 vault 密码很不方便。