Spring 启动应用程序未在 AWS Elastic Beanstalk 中进行一次身份验证

Spring Boot Application not authenticating once in AWS Elastic Beanstalk

我有一个正在开发的 AWS REST API Spring 启动应用程序。它是在本地机器上开发的,通过这台本地机器,我们已经能够提取实时 AWS 数据,即使它在本地机器上并且 URL 是本地主机。我们已经完成了大部分开发工作,并准备将其迁移到云端。但是,现在我们创建了一个 JAR,将其托管在 AWS Elastic Beanstalk 上,并调用 API URL,AWS 现在给我们一个 500 访问被拒绝错误。

目前,我们的本地应用程序正在通过我们项目的 application.properties 文件中的变量进行身份验证。这些似乎不适用于云环境。我们还尝试将 Elastic Beanstalk 中的环境变量设置为我们在 application.properties 中的相同值,但仍然 returns 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

我认为 Elastic Beanstalk 可能没有可以访问 S3 的 read/write 角色。在 AWS 中 运行 时不需要凭据,一切都取决于角色(权限)