#amazon-web-services #ansible #aws-secrets-manager
#amazon-веб-сервисы #ansible #aws-секреты-менеджер
Вопрос:
Я играю с ansible playbooks, и мне интересно, может ли кто-нибудь посоветовать, как действовать дальше. Я хотел бы создать секреты AWS, но я немного запутался.
Я не хочу помещать пароль в playbook, и я не хочу хранить его в переменной окружения.
Можно ли было бы создать их с помощью ansible playbook? И можно ли ввести случайный пароль, который был бы виден только в том случае, если мы получим доступ к секретному менеджеру?
Я знаю, как получить их с помощью поиска.
Любой совет приветствуется
Комментарии:
1. Вы хотите вызвать скрипт ansible из EC2 или Lambda? Я бы попытался установить роль IAM для экземпляра, чтобы разрешить службы SecretManager (я не уверен, что это будет работать с Ansible, но на основе используемых библиотек это должно быть)
Ответ №1:
ansible-vault
был разработан для хранения зашифрованных секретов. Либо в зашифрованном файле, либо встроенном (зашифрованный блок в открытом текстовом документе).
Проверьте, как docs.ansible.com для получения дополнительной информации. А также найдите учебные пособия по ansible vault.
Я использую их для учетных данных (пароль sudoers), чтобы мне не приходилось рисковать блокировкой своей учетной записи, когда я неправильно ввожу свой пароль, и ansible повторяет его 300 раз. (Да здравствует автоматизация!)
Редактировать: Для части случайного пароля вы можете использовать утилиту, такую как pwgen. Затем я бы поместил его в хранилище или AWS secrets manager.
Комментарии:
1. Ансибл-хранилище — это одно… Но я хотел бы, чтобы они хранились в AWS, чтобы иметь возможность извлекать их и использовать, например, при подготовке экземпляра RDS.
2. @amir, что вы также должны указать в вопросе, что вы подразумеваете под
password that would be visible only if we access the secret manager?
3. @amir вы можете поместить зашифрованный секрет куда угодно, в текстовый файл или куда угодно. Что касается генерации случайных паролей, pwgen полезен… И вы можете вызывать команды (cmd:) или скрипты (shell:) из ansible.