Приложение Spring Boot, не прошедшее аутентификацию в AWS Elastic Beanstalk - PullRequest
0 голосов
/ 02 июля 2019

У меня есть приложение REST API Spring Boot для AWS, которое находится в стадии разработки.Он был разработан на локальном компьютере, и благодаря этому локальному компьютеру мы смогли получить живые данные AWS, даже если они были на локальном компьютере, а URL-адрес был localhost.Мы завершили большую часть разработки и готовы перенести ее в облако.Однако теперь, когда мы создали JAR-файл, разместили его на AWS Elastic Beanstalk и вызвали URL-адрес API, AWS теперь выдает ошибку 500 Access Denied.

В настоящее время наше локальное приложение проходит проверку подлинности с помощью переменных в файле application.properties нашего проекта.Те, кажется, не применяются в облачной среде.Мы также попытались установить переменные среды в Elastic Beanstalk на те же значения, что и в нашем application.properties, но они все равно возвращают ошибку 500.

Вот наша точная возвращаемая ошибка от AWS

{
    "timestamp": "2019-07-02T20:23:31.400+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "Access Denied (Service: S3, Status Code: 403, Request ID: 66CA2FE6CEE7A5D4)",
    "path": "/api/s3/buckets/list"
}

А вот файл application.properties, в который я поместил ключи безопасности

cloud.aws.credentials.accessKey=XXXXXXXXXXXXX
cloud.aws.credentials.secretKey=XXXXXXXXXXXXXXX
cloud.aws.region.static=us-east-1

1 Ответ

1 голос
/ 02 июля 2019

Я думаю, что у Elastic Beanstalk может не быть роли чтения / записи, через которую он может получить доступ к S3. Вам не понадобятся учетные данные при работе в AWS, все зависит от ролей (разрешений)

...