Amazon dynamodb AppSync BatchResolver AssumeRole错误

Amazon dynamodb AppSync BatchResolver AssumeRole错误,amazon-dynamodb,amazon-iam,aws-appsync,Amazon Dynamodb,Amazon Iam,Aws Appsync,我正在尝试使用新的DynamoDB批处理解析器来写入AppSync解析器中的两个DynamoDB表(目前使用Lambda函数来完成此操作)。但是,我在查看CloudWatch日志时遇到以下权限错误: “用户:arn:aws:sts::111111111111:假定角色/appsync-datasource-ddb-xxxxxx-TABLE-ONE/appsync\u假定角色无权在资源上执行:dynamodb:BatchWriteItem:arn:aws:dynamodb:us-east-1:11

我正在尝试使用新的DynamoDB批处理解析器来写入AppSync解析器中的两个DynamoDB表(目前使用Lambda函数来完成此操作)。但是,我在查看CloudWatch日志时遇到以下权限错误:

“用户:arn:aws:sts::111111111111:假定角色/appsync-datasource-ddb-xxxxxx-TABLE-ONE/appsync\u假定角色无权在资源上执行:dynamodb:BatchWriteItem:arn:aws:dynamodb:us-east-1:111111111111:TABLE/TABLE-TWO(服务:Amazondynamodv2;状态代码:400;错误代码:AccessDeniedException;

我正在使用
TABLE-ONE
作为解析程序中的数据源

我将
“dynamodb:BatchWriteItem”
“dynamodb:BatchGetItem”
添加到
表一的权限:

{
“版本”:“2012-10-17”,
“声明”:[
{
“Sid”:“VisualEditor0”,
“效果”:“允许”,
“行动”:[
“dynamodb:BatchGetItem”,
“dynamodb:BatchWriteItem”,
“dynamodb:PutItem”,
“dynamodb:DeleteItem”,
“dynamodb:GetItem”,
“dynamodb:扫描”,
“dynamodb:Query”,
“dynamodb:更新项”
],
“资源”:[
“arn:aws:dynamodb:us-east-1:111111:table/table-ONE”,
“arn:aws:dynamodb:us-east-1:111111:table/table-ONE/*”,
“arn:aws:dynamodb:us-east-1:111111:表格/表格二”,
“arn:aws:dynamodb:us-east-1:111111:table/table-TWO/*”
]
}
]
}

我有另一个解析器,它使用
BatchGetItem
操作,并在我的响应中获取空值-更改表的策略访问级别修复了空值:

但是,选中
BatchWriteItem
框似乎无法解决向数据源表的策略添加权限的问题

我还在AppSync中测试了我的解析器测试功能,评估的请求和响应按预期工作


我还可以在哪里为两个表之间的BatchWriteItem操作设置权限?它似乎在调用用户的
假定角色而不是表的角色-我可以“强制”它使用表的角色吗?

它正在使用您在AppSync控制台中为表配置的角色。请注意,该特定角色e、 应将appsync作为受信任的实体

或者,如果在控制台中创建数据源时使用了“新建角色”复选框,则它应该会处理好它