如何修复arn:aws:sts Appsync角色?

时间:2019-10-13 23:12:19

标签: amazon-web-services aws-appsync

我试图替换Appsync API中的表之一,现在出现此错误:

User: arn:aws:sts::164370900240:assumed-role/User-role-likbfqoe4zd3zd7bz5bl2y4z6i-test/APPSYNC_ASSUME_ROLE is not authorized to perform: dynamodb:PutItem on resource: arn:aws:dynamodb:us-east-1:164370900240:table/User-site-test (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: AccessDeniedException; Request ID: ...)

我不知道该如何解决。我没有看到具有该ID的IAM角色。我该怎么办?

1 个答案:

答案 0 :(得分:1)

似乎您分配给AppSync数据源的IAM角色(由AppSync代表您调用DynamoDB表)具有旧的策略,该策略授予它对旧表的权限,但不授予新表的权限。要确定是否是这种情况,您可以转到AppSync控制台的数据源页面,选择有问题的数据源,并记下分配给该数据源的角色的名称。获得IAM角色的名称后,请转到IAM控制台,选择角色,然后编辑策略。如果策略中表的名称与新表的名称不匹配,请对其进行更新。

另一种选择是从AppSync删除数据源,然后在告诉控制台为您扮演新角色的同时重新创建数据源。通过AppSync控制台创建新角色后,新角色将自动正确地划分到新表中。