当从 lambda 函数执行
body = await dynamo.query(params);
时,我得到的响应为:
“状态代码”:“400”, "body": "用户: arn:aws:sts::891377999999:assumed-role/microserviceNodejsrole/microserviceNodejs1 无权执行: dynamodb:对资源的查询: arn:aws:dynamodb:us-east-1:891377999999:table /quizmaster 因为没有基于身份的策略允许 dynamodb:Query 操作”, “标题”:{ “内容类型”:“应用程序/json”, “访问控制允许来源”:“本地主机” } }
"statusCode": "400", "body": "用户:arn:aws:sts::891377999999:assumed-role/microserviceNodejsrole/microserviceNodejs1 无权执行:dynamodb:对资源的查询:arn:aws:dynamodb: us-east-1:891377999999:table/quizmaster 因为没有基于身份的策略允许 dynamodb:Query 操作", "headers": { "Content-Type": "application/json", "Access-Control-Allow-Origin “:“本地主机”} }
例外情况是不言自明的,您的 Lambda 函数
arn:aws:sts::891377999999:assumed-role/microserviceNodejsrole/microserviceNodejs1
上的角色没有表 Query
的 quizmaster
权限。将以下策略添加到角色:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "LhnngPolicy",
"Effect": "Allow",
"Action": [
"dynamodb:Query"
],
"Resource": "arn:aws:dynamodb:us-east-1:891377999999:table/quizmaster"
}
]
}