Encryption 如何在不使用Ansible vault的情况下加密Ansible中的值?

Encryption 如何在不使用Ansible vault的情况下加密Ansible中的值?,encryption,ansible,ansible-vault,Encryption,Ansible,Ansible Vault,我正在写一本Ansible剧本和角色,将在各种环境中使用,包括WAN和LAN。 在我的角色中,我有一个默认凭据yaml文件,其中包含使用Ansible Vault内嵌加密的密码: default_username_for_something: "the_username" default_password_for_something: !vault | $ANSIBLE_VAULT;1.2;AES256;dev 306132336334

我正在写一本Ansible剧本和角色,将在各种环境中使用,包括WAN和LAN。 在我的角色中,我有一个默认凭据yaml文件,其中包含使用Ansible Vault内嵌加密的密码:

default_username_for_something: "the_username"
default_password_for_something: !vault |
          $ANSIBLE_VAULT;1.2;AES256;dev
          30613233633461343837653833666333643061636561303338373661313838333565653635353162
          3263363434623733343538653462613064333634333464660a663633623939393439316636633863
          61636237636537333938306331383339353265363239643939666639386530626330633337633833
          6664656334373166630a363736393262666465663432613932613036303963343263623137386239
          6330
当在我自己的环境中工作时,这种方法非常有效,但当其他人尝试使用我的角色时,情况并非如此-因为他们无权访问我的Ansible Vault,他们没有这些秘密密码值

无需使用Ansible Vault,我可以在此默认凭据文件中加密密码的方法是什么?它不一定是世界上最安全的东西——只是一种简单的机制,可以防止密码在角色运行前后以明文形式出现


提前谢谢

您只是不加密您将要共享的默认角色文件中的密码。您在其中放入一个虚拟值,然后在您自己的清单/剧本中加密您自己的密码。当使用您的角色时,您的用户将在自己的安装中执行相同的操作。如果只是简单的模糊处理,您可以对字符串进行base64编码,然后使用
b64解码
恢复明文;您希望
no\u log:yes
对任何触及该值的任务也将其排除在日志之外