java - Spring Boot 应用程序未在 AWS Elastic Beanstalk 中进行身份验证

标签 java spring amazon-web-services spring-boot aws-sdk

我有一个正在开发的 AWS REST API Spring Boot 应用程序。它是在本地计算机上开发的,通过该本地计算机,我们能够拉取实时 AWS 数据,即使它位于本地计算机上并且 URL 是 localhost。我们已经完成了大部分开发,并准备将其迁移到云端。然而,既然我们创建了一个 JAR,将其托管在 AWS Elastic Beanstalk 上,并调用 API URL,AWS 现在会向我们显示 500 访问被拒绝错误。

目前,我们的本地应用程序正在通过项目的 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"
}

这是我放置安全 key 的 application.properties 文件

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

最佳答案

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

关于java - Spring Boot 应用程序未在 AWS Elastic Beanstalk 中进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56859714/

相关文章:

java - 序列化/反序列化 SIPDIalog

java - 查找字符串匹配位置?

java - 如何在 SpEL 中转义值?

java - JSON 性能

java - smartsheet cell.getFormat() 返回 null

java - 如何在 Java 中将类显示为 JSON 响应?

java - 通过 Spring @RequestParam 表示多重排序

amazon-web-services - AWS AppSync 更新架构

amazon-web-services - AWS EBS 卷 "in-use - optimizing"

java - 在 Amazon AWS 上托管 Jar 文件