Chef-vault с кулинарной книгой Users (ресурс users_manage)
Я намерен зашифровать пакет данных "users" с помощью chef-vault и использовать его с поваренной книгой"users", предоставленной шеф-поваром. Ресурс "users_manage", предоставленный поваренной книгой "users", принимает один из атрибутов как "пакет данных" (со свойствами username, group_id и search_group). Насколько мне известно, Chef-Vault позволяет вам расшифровывать один элемент за раз
vault = chef_vault_item(:mydatabbag, ‘item1’)
в идеале я ожидал бы, что chef-vault предоставит аналогичную функцию для дешифрования всего хранилища (зашифрованного пакета данных), и я мог бы передать то же самое ресурсу "used_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
Есть ли лучшее решение?
1 ответ
data_bag
Свойство - это имя пакета данных, а не самого пакета. Вы не можете использовать users_manage
С Chef-Vault вам придется написать что-то подобное самостоятельно.
Тем не менее, ничто в пользовательском объекте не должно быть частным в первую очередь, если вы не пытаетесь установить пароли или что-то (не делайте этого), так что это, вероятно, не нужно.