我打算用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
有更好的解决方案吗?