首页 文章

向DynamoDB发布绑定API网关

提问于
浏览
0

我正在尝试在DynamoDB上创建一个简单的ApiGateway,为用户添加一个 endpoints ,以便通过它访问数据 .

集成类型 AWS Service

AWS Region eu-west-1

AWS服务 DynamoDB

AWS子域

HTTP方法 GET

行动 ListResources

执行角色 [iam arn]

凭据缓存 Do not add caller credentials to cache key

内容处理 Passthrough

当我点击测试按钮时,我得到:

由于配置错误导致执行失败:API Gateway无权承担提供的角色

在这里和那里检查,但没有任何线索的问题 . 我尝试更改IAM用户的权限并向他授予所有Dynamo和APIGateway权限,但没有任何更改 .

2 回答

  • 0

    首先,更新执行角色以使用角色而不是IAM用户 . 然后,确保该角色具有您要访问的所有DynamoDB操作和资源的权限 . 最后,通过添加IAM信任策略授予API网关权限以承担该角色,如下所示 .

    来自"API Gateway Permissions Model for Invoking an API" on documentation page here

    当API与后端的AWS服务(例如,AWS Lambda)集成时,API Gateway还必须具有代表API调用方访问集成AWS资源(例如,调用Lambda函数)的权限 . 要授予这些权限,请创建Amazon API Gateway类型的IAM角色 . 此角色包含以下IAM信任策略,该策略将API网关声明为允许承担该角色的可信实体:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "apigateway.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

  • 1

    似乎问题与我使用IAM用户而不是IAM角色这一事实有关 . 我会把它留在这里,也许这会有所帮助 .

相关问题