Этот вопрос на самом деле состоит из двух вопросов: 1) Как подключить приложение Java к экземпляру БД AWS Dynamo и 2) Как безопасно управлять учетными данными.
Для 1 это довольно просто, есть JavaAWS SDK, который предоставляет интерфейс для подключения к экземплярам Dynamo.Основной способ - это экспортировать некоторые учетные данные AWS в качестве переменных среды, а затем AWS SDK подберет их и автоматически аутентифицирует:
export AWS_ACCESS_KEY_ID=your_access_key_id
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
Затем вы можете создать клиент Dynamo в своем коде:
AmazonDynamoDB client = AmazonDynamoDBClientBuilder.standard()
.withEndpointConfiguration(new AwsClientBuilder.EndpointConfiguration(
"http://localhost:8000",
"us-west-2"))
.build();
https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/CodeSamples.Java.html
Для 2 нет единого правильного ответа.Я согласен с вами, что размещение учетных данных в виде простого текста в репо не является хорошим способом.Есть несколько лучших способов.Основная идея заключается в том, что вы должны зашифровать текстовый файл, содержащий ваши секреты в репозитории, а затем расшифровать его при развертывании.Это дешифрование может быть сделано вручную или с помощью какого-либо сценария развертывания.Ознакомьтесь с сервисами AWS KMS для управления секретами AWS.К сожалению, ваш вопрос слишком открыт, чтобы ответить более конкретно.