1

「ユーザー」データバッグをchef-vaultで暗号化し、シェフが提供する「users」クックブックで同じものを使用するつもりです。「users」クックブックによって提供される「users_manage」リソースは、属性の 1 つを「databag」として受け入れます (username、group_id、および search_group プロパティを使用)。私の知る限り、chef-vault を使用すると、一度に 1 つのアイテムを復号化できます

vault = chef_vault_item(:mydatabbag, ‘item1’)

理想的には、chef-vault が同様の機能を提供して、vault 全体 (暗号化されたデータバッグ) を復号​​化することを期待し、それを「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

Chef-vault はデータバッグ全体を復号化する機能を提供しないため、ループ内で「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

より良い解決策はありますか?

4

1 に答える 1