我正在使用DSC和Ansible的组合。除了琐碎的资源之外,通常还需要PSCredentials,它们被分成两行,例如以下示例:
PsDscRunAsCredential_username: '{{ansible_user}}'
PsDscRunAsCredentual_password: '{{ansible_password}}'
为避免将敏感信息写入Ansible日志(例如,以详细模式运行或出错时),建议使用'nolog'标志。
不幸的是,这会隐藏所有信息-因此,如果出现错误,您只需返回'CENSORED'。
我希望可以对win_dsc进行一些修改,并且想知道是否有人可以指出另一个模块中的类似示例(假设这是一个普遍的要求),我可以从中学习/借鉴。
如果参数以“ _password”结尾,我基本上希望避免记录数据。
答案 0 :(得分:1)
不幸的是,我认为您不能在模块级别更改它。从理论上讲,模块知道它要求的内容应该是秘密的(例如密码或API密钥),但实际上问题的核心在于任务之外。
在详细模式和日志中,ansible将显示模块的调用,包括机密信息。 no_log
是他们提供的唯一解决方案,并且鉴于no_log
位于模块之外,因此您在模块中无法做任何不同的事情。
即使可以,日志记录和详细的输出都在事物的引擎方面,因此,修复和based on this issue it doesn't look like there's any interest in doing more than providing no_log
取决于它们。
I have an answer on another question that goes into how you can more easily directly test a DSC invocation;它着重于调试DSC的独特挑战,并且可以使您逐步了解代码,因此在故障排除方面应有所帮助。