2017-06-20 81 views
0

我正在寫一本處理私鑰的食譜。如果出現任何問題,Chef會轉儲整個資源以記錄最終用戶的情況。但是,這也會打印私鑰以便登錄,這是不可接受的。有沒有辦法採用sensitive資源功能來防止敏感數據記錄?廚師:使用敏感屬性

+0

不知道是什麼你的意思是..你知道所有廚師資源通用的名爲['sensitive'](https://docs.chef.io/resource_common.html#properties)的屬性? – StephenKing

+0

@StephenKing是的,但我需要強制禁止我的自定義資源的輸出(敏感只適用於三種資源,必須由用戶打開)。我找到了答案,我會在一秒之內發佈。 – Etki

回答

3

它總是一個谷歌查詢遠:

由於廚師客戶端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*"