Как интегрировать AWS Secret Manager с приложением Spring Boot - PullRequest
2 голосов
/ 18 мая 2019

У меня есть требование получить учетные данные из AWS Secret Manager, и я обнаружил, что мне нужно добавить зависимость gradle для следующего стартера

spring-cloud-starter-aws-secrets-manager-config

Кроме того, я обнаружил, что мне нужно добавить следующеенастройки в Bootstrap.yml

Конфигурации свойств

Мне неясно, как можно получить доступ к секретному ключу в моем приложении Spring Boot Application, если кто-то может услышать очень высоко.

1 Ответ

0 голосов
/ 05 июня 2019

Я хотел бы поделиться своими выводами об интеграции SecretManager с приложением Spring Boot.

Шаг 1. Добавьте spring-cloud-starter-aws-secrets-manager-config зависимость в Spring Boot Application (способы добавления зависимости Gradle и Maven различны).

Шаг 2. Добавьте следующую конфигурацию в файл bootstrap.yml.

aws:
  secretsmanager:
    prefix: /secret
    defaultContext: application
    profileSeparator: _
    failFast: true
    name: <service_name>
    enabled: true

Шаг 3. создайте секреты в консоли управления AWS для требуемого региона.

Есть два секретных контекста

  1. Контекст приложения - общие секреты для всех служб.
  2. Контекст службы - секреты, специфичные для службы.

Заключительная записка о создании секретов, секреты могут быть созданы для каждой среды.

Например,

/secret/service_name_dev/username

/secret/service_name_prod/username

Секреты контекста приложения могут быть созданы в следующем формате.

/secret/application/username

После запуска приложения Spring Boot с указанными выше настройками приложение загружает секреты из AWS Secret Manager на основе активного профиля.

Например, для профиля разработчика он загрузит secret / secret / service_name_dev / username, и к значению можно получить доступ как в конфигурации, так и в классах, используя отображение $ {username}.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...