Fargate跨帐户DynamoDB访问

时间:2020-05-23 08:26:28

标签: amazon-dynamodb amazon-iam aws-fargate sts-securitytokenservice

我在帐户A中具有DynamoDB,在帐户B中具有Fargate服务。我想从Fargate服务访问DynamoDB。为此,
1.在帐户A中创建一个IAM角色,该角色具有附加的DynamoDB访问策略。
2.在帐户B中创建了一个IAM角色,该角色已附加到承担在帐户A中创建的角色的策略。
3.在帐户A的信任关系中添加了帐户B ID。

在用于创建DynamoDBClient的代码中,通过传递在帐户A中创建的角色的ARN来使用STSAssumeRoleSessionCredentialsProvider。运行服务时,出现访问被拒绝错误。

User: <ARN of ECS task> is not authorized to perform: sts:AssumeRole on resource: <ARN of role created in account A> (Service: AWSSecurityTokenService; Status Code: 403; Error Code: AccessDeniedException;

ECS任务的

ARN格式为arn:aws:sts::<accountId of B>:assumed-role/<ECSTaskInstanceID>。 请注意,ecs-tasks.amazonaws.com已通过sts:AssumeRole的动作添加到帐户B的受信任关系中。

  1. Fargate是否支持STSAssumeRoleSessionCredentialsProvider?
  2. 是否需要执行其他步骤,例如创建AWS访问密钥?
  3. 有什么理由要403吗?

0 个答案:

没有答案