2016-09-11 5 views
0

У меня есть рецепт, который требует учетных данных из chef_vault.Как автоматически предоставить узлы chef_vault доступ в рецепт?

Я хотел бы просто применить этот рецепт (или даже роль, если это необходимо) к узлу, и этот узел будет автоматически добавлен в список клиентов элемента хранилища при следующем запуске шеф-повара (когда рецепт выполняется), чтобы он мог получить эти кредиты. Это возможно?

Я думал о том, что у тега рецепта есть узел, а затем запускает обновление хранилища ножей из рецепта, но даже если это работает его немного уродливо.

Есть ли элегантное решение для этого, которое не требует, чтобы я вручную делал что-либо, и у вас есть рецепты, которым нужны ключи хранилища, назначающие их мне?

ответ

1

Вы не можете сделать это (безопасно), это нарушает модель безопасности и целую точку использования асимметричной системы предварительного шифрования, такой как chef-vault.

+0

Как это нарушает систему шифрования, я точно смущен. Потому что любой узел, к которому вы применяете рецепт, имеет доступ, и это риск безопасности? – red888

+1

У меня есть 30 минут, когда я говорю об этих вещах на https://coderanger.net/talks/secrets/, но tl; dw - это то, что вещь, генерирующая асимметричные копии, нуждается в доступе к секрету в ясном , обычно выполняемый внутри диапазона человеком, имеющим доступ к расшифровке через опцию '-A' в хранилище. Из-за модели безопасности Chef использование флага '-S' с хранилищем в это время небезопасно (см. Начало https://coderanger.net/chef-and-vault/, хотя это и есть другой инструмент). Вы можете дать одному серверу доступ к каждому хранилищу и запустить «обновление хранилища ножей» от cron, но делать это очень рискованно. – coderanger