加密或禁用ansible字典和列表输出

问题描述

是否可以对ansible的字典和列表输出进行加密或禁用?

我在字典中使用ansible-vault加密的var,通过在游戏中执行它们,它们将在输出n控制台上以明文形式显示...

changed: [host1] => (item={u'key': u'test',u'value': {u'cgrouptype': u'test',u'nexususer': u'storuser',u'notstartable': u'no',u'nexuspassword': u'passwordinclear',u'nexusport': u'8171',u'nexuspath': u'path/to/image',u'graylogip': u'tcp://10.20.30.40:12345'}})

解决方法

您可以将no_log: true添加到处理敏感数据的任务中,或者想使输出不可见:

- name: "Opening sesame"
  command: "opensesame {{ password }}"
  no_log: true

使用no_log docs

保护敏感数据

如果将Ansible输出保存到日志,则会在Ansible输出中公开任何秘密数据,例如密码和用户名。要使敏感值不进入日志,请使用no_log:True属性标记将其公开的任务。但是,no_log属性不会影响调试输出,因此请注意不要在生产环境中调试剧本。