我正在写一本处理私钥的食谱。如果出现任何问题,Chef会将整个资源转储到日志中,以向最终用户显示发生的情况。但是,这也会打印私钥以进行记录,这是不可接受的。有没有办法采用sensitive
资源功能来阻止敏感数据记录?
答案 0 :(得分:3)
总是一个谷歌查询:
从Chef客户端12.14开始,可以将各个资源属性标记为敏感:true,这会在导出资源状态时抑制该属性的值。
因此,要将自定义资源的特定属性标记为敏感,只需将sensitive: true
添加到属性定义:
resource_name :ssh_private_key
default_action :create
property :private_key, String, required: true, sensitive: true
^^^^^^^^^^^^^^^
之后,该属性的输出将被禁止:
ssh_private_key("invalid_passphrase") do
action [:create]
default_guard_interpreter :default
declared_type :ssh_private_key
cookbook_name "ama-ssh-private-keys-integration"
user "root"
private_key "*sensitive value suppressed*"
public_key "AAAAB3NzaC1yc2EAAAADAQABAAAAYQDCLY+8qnsrW/RrjDgz1b026hg9Lb78KV2c00sA4v6iSHVZoRKdnoIFr3dnWwV5Urt1U9fJJVy0fPLDWnAdYtI7U37k0GLpZhPS3ps/W9j1ZgslEQMQpvAD19yuJG/NXzk="
passphrase "*sensitive value suppressed*"