私は "ユーザー"データバンクをchef-vaultで暗号化し、シェフが "ユーザー" cookbookを提供するのと同じものを使用したいと考えています。 "users" cookbookによって提供される "users_manage"リソースは、属性の1つを "databag"(username、group_idおよびsearch_groupプロパティを持つ)として受け入れます。私の知る限りシェフ-Vaultに は、一度にChef-vault with users cookbook(users_manage resource)
vault = chef_vault_item(:mydatabbag, ‘item1’)
を一つのアイテムを復号化することを可能にする理想的に私は、全体の保管庫(暗号化されたdatabag)を復号化するために同様の機能を提供するために、シェフ・ボールトを期待し、私は "同じにする渡すことができますuses_manage」リソース:
decrypted_data_bag = chef_vault(:mydatabbag) #Something similar
users_manage "#{search_group}" do
group_id search_group
action [ :remove, :create ]
data_bag "#{decrypted_data_bag}"
end
シェフ・ボールトは全体databagを復号化する機能を提供していないので、私がコールする唯一の解決策が残っています 『ループでusers_manageを』と(ハッシュなど)の各項目を渡しますか?
mydatabag.each do |myuser|
decrypted_user = vault = chef_vault_item(:mydatabbag, "#{myuser}")
users_manage "#{search_group}" do
group_id search_group
action [ :remove, :create ]
data_bag "#{decrypted_user}"
end
end
もっと良い解決策はありますか?
ありがとうございます。私はsshキーとパスワードをユーザオブジェクトに格納する必要があります。したがって、暗号化が必要です。 –
シェフがシェフを使ってパスワードを配布するのではなく、LDAPのようなものを調べてください。シェフが大部分のユーザーのために置くべき唯一の鍵は、公開鍵、すなわち 'authorized_keys'のものでなければなりません秘密にする。 – coderanger
+1これはLDAPに到達するまでの暫定的な解決策です。 PS:既に公開されているようです。https://github.com/chef-cookbooks/users/pull/91 –