Ansible
每個人如何使用 ansible 管理多伺服器環境及其憑據?
我試圖找出在 AWX/Tower/Ansible 中管理多伺服器 (linux) 環境的最乾淨和/或最安全的方法。
我已經看過一些關於這個主題的文章,但似乎沒有一個明確的答案來說明哪種方法最安全。
假設我想針對 20 個不同的 linux 伺服器使用單個模板/劇本,所有伺服器都具有不同的使用者和密碼/sudo 密碼。
我可以想到幾個選項;
在每個主機上創建一個專用的“ansible”使用者,AWX 伺服器或本地伺服器具有私鑰資訊。我認為這在大多數情況下都可以,但是如果嘗試執行需要 root 的操作,那麼 sudo 密碼就會出現問題,除非“ansible”使用者在每台伺服器上都有相同的密碼。可以設置為擁有 NOPASSWD sudo 訪問權限,但這感覺不對。
保持每個主機具有不同使用者和密碼組合的目前情況,但可能在加密(保險庫)vars 文件中指定憑據。
每個主機都有一個單獨的模板,每個主機都具有該主機的正確機器憑據集。這也讓人感覺有點不對勁,而且非常麻煩/難以維護。
請讓我是否遺漏了一些明顯的東西。
ansible
我通過擁有一個供使用者登錄的私鑰並ansible_become_pass
在host_vars/<host>/vault.yml
.
ansible``sudo
使用者自然屬於該組。這樣,使用者帳戶本身就有 SSH 密鑰安全性,並且每個主機都有唯一的密碼,由 Ansible 在首次配置系統時生成。
此外,還可以為使用者禁用密碼驗證
ansible
。