Где хранить ключ доступа и секретный ключ для AWS Secrets Manager в Spring Boot

#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 (или переменные среды, если вам нужно, чтобы они были настроены для разных приложений).