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 вам придется написать что-то подобное самостоятельно.

Тем не менее, ничто в пользовательском объекте не должно быть частным в первую очередь, если вы не пытаетесь установить пароли или что-то (не делайте этого), так что это, вероятно, не нужно.

Другие вопросы по тегам