Создание секретов AWS с помощью Ansible

#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.