Шифрование пароля для использования автоматизированным процессом aws
У меня есть приложение, которое автоматически создает несколько экземпляров AWS и запускает на них скрипт.
Каждый сценарий пытается подключиться к удаленной БД, для которой мне нужно указать публичное имя хоста DNS, пароль БД, имя пользователя БД и т. Д.
Какой самый безопасный способ сделать это без необходимости хранить простой пароль?
И не рискуя, чтобы кто-то другой, выполняющий тот же сценарий, смог получить эти учетные данные?
большое спасибо
1 ответ
Вы можете использовать хранилище параметров службы AWS SSM:
Хранилище параметров централизует управление данными конфигурации - такими как пароли, лицензионные ключи или строки подключения к базе данных - которые вы обычно упоминаете в сценариях, командах или других рабочих процессах автоматизации и конфигурации. Благодаря детальному контролю безопасности для управления доступом пользователей и надежному шифрованию конфиденциальных данных, таких как пароли, хранилище параметров улучшает общее состояние безопасности управляемых экземпляров. Шифрование параметров с помощью хранилища параметров поддерживается не во всех регионах.
Вы должны создать роль IAM, которая имеет доступ к значениям хранилища параметров, и назначить эту роль экземплярам EC2, которые вы динамически создаете. Затем сценарий сможет использовать AWS SDK/CLI для получения этих значений из хранилища параметров.
В качестве альтернативы, если база данных является базой данных RDS, которая поддерживает аутентификацию IAM (в настоящее время только MySQL и Aurora), вы можете создать роль IAM, которая имеет прямой доступ к базе данных, и назначить эту роль экземплярам EC2.