#java #spring #amazon-web-services #spring-boot #aws-secrets-manager
#java #spring #amazon-веб-сервисы #spring-boot #aws-secrets-manager
Вопрос:
Я пытаюсь сделать свое приложение безопасным, поэтому вместо того, чтобы хранить все мои учетные данные AWS IAM для разных пользователей сервиса, я начал использовать AWS secrets manager. Часть, которая меня смущает, заключается в том, что для получения соединения с AWS secrets manager для получения всех секретов для других моих подключений к службе IAM, мне нужен ключ доступа и секретный ключ. Сохранение их в application.properties в приложении в экземпляре EC2 похоже на обратную обработку слов, поскольку, если кто-то получит доступ к этим двум ключам, он может получить доступ ко всем секретам, а затем secrets manager на самом деле не представляет никакой ценности. Как я могу создать соединение с secrets manager, не сохраняя ключи вообще в своем коде? Заранее спасибо.
Комментарии:
1. Я заметил, что почти на все ваши вопросы были даны ответы, но ни один ответ не был принят . Принятие полезных ответов — это не только хорошая практика, но и уменьшает количество дубликатов и повышает вероятность того, что на ваши вопросы действительно будут даны ответы.
2. извиняюсь, сделаю это в будущем
Ответ №1:
Обычно вы должны использовать роль экземпляра EC2 с разрешениями для доступа к вашему секретному менеджеру. Таким образом, нет необходимости жестко кодировать какие-либо ключи доступа и секретные ключи в вашем приложении или сохранять их в экземпляре.
Комментарии:
1. Спасибо, что я должен делать, когда я кодирую / тестирую локально?
2. @DavisWard AWS SDK автоматически получит учетные данные от роли EC2. Так что вам действительно не нужно делать ничего особенного.
3. @DavisWard Вы вводите их
~/.aws/credentials
(или переменные среды, если вам нужно, чтобы они были настроены для разных приложений).