![](/img/trans.png)
[英]Ansible AWX / Tower - Use Vault credential in playbook
[英]Ansible Tower (AWX) - using secure variables in a playbook?
大家好,我最近開始使用 Ansible(特別是 Ansible Tower)。 我在我的劇本中使用安全值時遇到了一個問題,更准確地說,我不明白如何正確使用它。
與 Chef-Infra 相比,您可以使用data_bags
來存儲您的安全憑證。 你創建一個數據包:
knife data bag create testDataBag
您將為數據包項目創建一個 json 文件:
{
"id": "preproduction",
"user": "user1",
"password": "this-is-a-password"
}
將其上傳到 Chef 服務器,同時使用機密文件(存在於目標服務器)對其進行加密:
knife data bag from file testDataBag .\testDataBag\preproduction.json --secret-file .\secret-file
然后你可以在你的食譜中使用它:
userinfo = data_bag_item('testDataBag', preproduction)
userinfo['user'] # "user1"
userinfo['password'] # "this-is-a-password"
一個示例用例 - 為 Linux 用戶配置密碼。
userinfo = data_bag_item('testDataBag', preproduction)
user "#{userinfo['user']}" do
comment 'A random user'
home "/home/#{userinfo['user']}"
shell '/bin/bash'
password "userinfo['password']"
end
我知道這是很多信息,但我只是想展示我如何習慣使用安全憑據。 回到 Ansible,我知道有一個ansible-vault
工具,我可以用它來加密以后可以在劇本中使用的變量文件。 可悲的是,我見過的唯一例子(或者我可能只是沒有注意到)只包括從命令行運行劇本,這不是我所做的。
我的 GIT 存儲庫中有一個劇本,它連接到我的 Ansible Tower 中的一個項目。 我需要做什么才能達到可以使用包含密碼的變量的程度?
ansible-vault
?我查看了這些鏈接,但找不到任何有趣的內容:
https://docs.ansible.com/ansible/latest/user_guide/vault.html
https://docs.ansible.com/ansible/latest/user_guide/playbooks_vault.html
在 Ansible Tower 文檔中,沒有解釋如何以及在哪里存儲您的 vault-id。
如果需要更多信息,請告訴我,我會更新我的帖子。
謝謝大家!
據我所知,您有兩種選擇可以在 AWX/Tower 中實現這一點,具體取決於您希望將這些秘密存儲在哪里。
以下是有關如何創建自定義憑據類型的詳細信息
https://docs.ansible.com/ansible-tower/latest/html/userguide/credential_types.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.