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