2017-06-20 5 views
0

私は秘密鍵を扱う料理本を書いています。何かがうまくいかない場合、シェフはリソース全体をログにダンプして、何が起こったかをエンドユーザに示します。しかし、これもログに秘密鍵を印刷することになり、これは容認できません。機密データのロギングを防ぐために、sensitiveリソース機能を採用する方法はありますか?シェフ:機密属性を使って作業する

+0

わかりませんあなたは、すべてのシェフリソースに共通の['sensitive'](https://docs.chef.io/resource_common.html#properties)というプロパティを認識していますか? – StephenKing

+0

@StephenKingはい、しかし、私は強制的に私のカスタムリソースの出力を抑制する必要があります(3つのリソースのための敏感な作品は、ユーザーによって有効にする必要があります)。私は答えを見つけた、私はそれを2番目に投稿します。 – Etki

答えて

3

それは離れて、常に1つのGoogleのクエリです:シェフクライアント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*" 
関連する問題