Eri*_*ins 4 amazon-dynamodb amazon-iam aws-appsync
我正在尝试使用新的 DynamoDB BatchResolvers 写入 AppSync 解析器中的两个 DynamoDB 表(当前使用 Lambda 函数来执行此操作)。但是,在查看 CloudWatch 日志时,我收到以下权限错误:
“User: arn:aws:sts::111111111111:assumed-role/appsync-datasource-ddb-xxxxxx-TABLE-ONE/APPSYNC_ASSUME_ROLE is not authorized to perform: dynamodb:BatchWriteItem on resource: arn:aws:dynamodb:us-east-1:111111111111:table/TABLE-TWO (Service: AmazonDynamoDBv2; Status Code: 400; Error Code: AccessDeniedException;
我TABLE-ONE在解析器中用作数据源。
我添加了"dynamodb:BatchWriteItem"和"dynamodb:BatchGetItem"toTABLE-ONE的权限:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "VisualEditor0",
"Effect": "Allow",
"Action": [
"dynamodb:BatchGetItem",
"dynamodb:BatchWriteItem",
"dynamodb:PutItem",
"dynamodb:DeleteItem",
"dynamodb:GetItem",
"dynamodb:Scan",
"dynamodb:Query",
"dynamodb:UpdateItem"
],
"Resource": [
"arn:aws:dynamodb:us-east-1:111111111111:table/TABLE-ONE",
"arn:aws:dynamodb:us-east-1:111111111111:table/TABLE-ONE/*",
"arn:aws:dynamodb:us-east-1:111111111111:table/TABLE-TWO",
"arn:aws:dynamodb:us-east-1:111111111111:table/TABLE-TWO/*"
]
}
]
}
我有另一个使用该BatchGetItem操作的解析器,并在我的响应中获取空值 - 更改表的策略访问级别修复了空值:

但是,选中该框BatchWriteItem似乎并不能解决将权限添加到数据源表的策略的问题。
我还在 AppSync 中测试了我的解析器测试功能,评估的请求和响应按预期工作。
我还能在哪里为两个表之间的 BatchWriteItem 操作设置权限?似乎它正在调用用户assumed-role而不是表的角色 - 我可以“强制”它使用表的角色吗?
| 归档时间: |
|
| 查看次数: |
1647 次 |
| 最近记录: |