Защитите некоторые ключи в application.properties - приложение для весенней загрузки - PullRequest
1 голос
/ 18 апреля 2020

У меня есть приложение весенней загрузки, где я использую некоторые aws сервисы. Код в открытом доступе в Git. Я не хочу фиксировать AWS секрет и ключи доступа, которые являются частью application.properties. Я не могу добавить в .gitignore, так как я хочу зафиксировать другие значения application.properties.

Многие совершают это репо. Мы добавляем эти aws ключи локально и следим за тем, чтобы они не добавлялись как часть любого коммита.

Я хочу убедиться, что ключи aws в application.properties не должны доходить до git любой ценой. Какой лучший способ управлять этими секретными ключами?

Ответы [ 2 ]

3 голосов
/ 18 апреля 2020

Вы вообще не должны помещать AWS ключи API в application.properties. Если приложение работает на AWS, оно должно использовать роль IAM сервера, на котором оно работает. Если он не работает на AWS, вероятно, он должен использовать переменные среды.

Пожалуйста, просмотрите документацию по этому вопросу здесь .

0 голосов
/ 21 апреля 2020

Благодаря @Mark B. Я бы предпочел использовать системные свойства Java, поскольку мы можем поддерживать их на уровне приложения. Переменные env будут на системном уровне, который на самом деле не нужен, и это может привести к конфликтам.

при запуске подпружиненного фляги с mvn это можно сделать следующим образом:

mvn spring-boot:run -Dspring-boot.run.jvmArguments="-Daws.accessKeyId=XXXXXXXXXXX -Daws.secretKey=XXXXXXXXXXX"

, если работает для IDE, например Eclipse или IntelliJ, его следует добавить в качестве параметров виртуальной машины.

-Daws.accessKeyId=XXXXXXXXXXX -Daws.secretKey=XXXXXXXXXXXX

После этого AWS клиентский объект может быть построен как обычно. Например,

  1. Клиент SNS может быть построен с помощью

AmazonSNS snsClient = AmazonSNSClient.builder().withRegion(Regions.US_EAST_1).build();

SES-клиент может быть построен по

AmazonSimpleEmailService emailClient = AmazonSimpleEmailServiceClientBuilder.standard().withRegion(Regions.US_EAST_1).build();

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