【问题标题】:Why is AWS Java SDK returning a Role is Invalid; Status Code 400 ValidationError?为什么 AWS Java SDK 返回的 Role is Invalid;状态码 400 验证错误?
【发布时间】:2022-10-10 09:30:55
【问题描述】:

我在私有子网的 ECS 中部署了一个 Java Spring Boot 应用程序,我正在使用来自 AWS Java SDK 的 STSAssumeRoleSessionCredentialsProvider,这是我的 AWS SNS 客户端的基于角色的授权机制,我得到这个非- 描述性错误。

com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException:
 aws:iam::XXXXXXXX:role/ecsTaskExecutionRole is invalid (Service: 
AWSSecurityTokenService; Status Code: 400; Error Code: ValidationError; 
Request ID: XXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX; Proxy: null)

ecsTaskExecutionRole 附加了 AdministratorAccess 策略(仅用于调试目的)。

代码:

 STSAssumeRoleSessionCredentialsProvider stsAssumeRoleSessionCredentialsProvider = new STSAssumeRoleSessionCredentialsProvider
                    .Builder(roleArn, "session").build();

为什么会出现此错误,我该如何解决?

注意:我还尝试使用我创建的用户的编程凭据并收到类似的错误。

【问题讨论】:

    标签: aws-sdk amazon-ecs aws-java-sdk


    【解决方案1】:

    弄清楚了。结果我把角色抄错了。我有

    roleArn: "aws:iam::999999999999:role/ecsTaskExecutionRole"

    代替

    roleArn: "arn:aws:iam::999999999999:role/ecsTaskExecutionRole"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-26
      • 1970-01-01
      • 2017-04-29
      • 1970-01-01
      • 2012-09-17
      • 2016-08-31
      • 2020-10-15
      • 1970-01-01
      相关资源
      最近更新 更多