gpt4 book ai didi

amazon-dynamodb - AppSync BatchResolver AssumeRole 错误

转载 作者:行者123 更新时间:2023-12-01 12:13:27 24 4
gpt4 key购买 nike

我正在尝试使用新的 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"TABLE-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 的解析器操作并在我的响应中获取空值 - 更改表的策略访问级别修复了空值:
enter image description here

但是,选中 BatchWriteItem 的框将权限添加到数据源表的策略似乎没有解决问题。

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

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

最佳答案

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

或者如果您在控制台中创建数据源时使用新角色复选框,它应该照顾它。

关于amazon-dynamodb - AppSync BatchResolver AssumeRole 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50052333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com