Где хранить учетные данные начального доверия для инструмента управления секретами?

Для нашего продукта мы решили реализовать инструмент управления секретами (диспетчер секретов AWS), который будет безопасно хранить и управлять всеми нашими секретами, такими как учетные данные БД, пароли, ключи API и т. Д.

Таким образом, секреты не хранятся в коде, базе данных или где-либо в приложении. Мы должны предоставить учетные данные AWS - идентификатор ключа доступа и секретный ключ доступа для программного доступа к API-интерфейсам диспетчера секретов.

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

Я прочитал руководство разработчика AWS SDK и понимаю, что существует несколько стандартных способов хранения учетных данных AWS, таких как хранение их в переменных среды, файле учетных данных с разными профилями и с помощью ролей IAM для инстансов Amazon EC2.

Мы не запускаем и не размещаем наше приложение в облаке Amazon, мы просто хотим использовать сервис управления секретами AWS из облака AWS. Следовательно, настройка ролей IAM не может быть для нас решением.

Есть ли какие-либо передовые методы (или) лучшее место для хранения исходных учетных данных Trust?

2 ответа

Если вы получаете доступ к секретам из экземпляра EC2, контейнера докеров ECS, лямбда-функции, вы можете использовать роли с политикой, которая разрешает доступ к Secrets Manager.

Если роль IAM недоступна, вы можете использовать вход в федерацию, чтобы получить временные учетные данные (роль IAM) с политикой, которая разрешает доступ к Secrets Manager.

Как сказал @Tomasz BreÅ ›, вы можете использовать федерацию, если вы уже используете локальную систему аутентификации, такую ​​как Active Directory или Kerberos.

Если у вас еще нет учетных данных какого-либо типа, у вас есть два варианта: сохранить свои кредиты в файле и использовать разрешения файловой системы для их защиты или использовать оборудование, такое как HSM или TPM, для шифрования или хранения ваших кредитов..

В любом случае, когда вы храните кредиты в коробке (даже AD/Kerberos), вы должны убедиться, что только владелец приложения имеет доступ к этому ящику (в случае автономного приложения, а не общего интерфейса командной строки). Вы также должны укрепить бокс, отключив все ненужное программное обеспечение и методы доступа.

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