1

我打算用chef-vault加密“用户”数据包,并与厨师提供的“用户”食谱一起使用。“users”食谱提供的“users_manage”资源接受属性之一作为“databag”(具有用户名、group_id 和 search_group 属性)。据我所知,chef-vault 允许您一次解密一项

vault = chef_vault_item(:mydatabbag, ‘item1’)

理想情况下,我希望 chef-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

0

data_bag属性是数据包的名称,而不是包本身。您不能users_manage与 chef-vault 一起使用,您必须自己编写类似的内容。

也就是说,除非您尝试设置密码或其他东西(不要那样做),否则用户对象中的任何内容首先都不需要是私有的,因此可能不需要。

于 2017-07-06T16:59:55.770 回答