【发布时间】:2018-09-02 22:06:03
【问题描述】:
我正在尝试将数据从 AWS API Gateway 流式传输到 AWS 中的 DynamoDB(直接,没有类似 lambda 的东西)。我已经寻找了几个教程,例如 [1] 和 [2],它们准确地描述了这种情况。所有这些都假设正确的政策和角色已经到位。通常情况下,我会玩和破解,直到我得到一个工作的概念证明,然后我重建一个合适的模型,但是我想确保我理解我在做什么。对于 [2],我还在 [3] 处发现了一个堆栈溢出问题,该问题来自与解决相同问题的人,但不确定如何解决。我还查看了 [4],用 Lambda 描述 API 网关。
这是我的猜测:
- 创建允许从 API 网关调用的策略。
“AmazonAPIGatewayInvokeFullAccess”符合名称,但可能不符合 是必要的 + 过多的访问权限过大 - 创建允许访问 dynamoDB 的策略。
在这里,“AmazonDynamoDBFullAccess”可能是合适的,甚至 虽然它可能是矫枉过正(太多的访问),并且可能只工作 从管理控制台 - 创建一个附加了这两个策略的角色。
在这里,我遇到了当我单击创建角色时的问题,并且 选择 AWS 服务,我找不到正确的“将使用的服务” 这个角色”,它背后有我上面描述的策略。对于 例如,当单击 dynamoDB 时,我得到以下“用例”,它们似乎都与 dynamoDB 完全访问策略无关:- Amazon DynamoDB 加速器 (DAX) - DynamoDB 访问
- DynamoDB - 全局表
- DynamoDB 加速器 (DAX) - 集群管理
我的主要问题是:如何设置正确的最小角色和策略集以将 AWS API Gateway 连接到 DynamoDB(读取和写入),如 [1] 中所述?
[1]https://sanderknape.com/2017/10/creating-a-serverless-api-using-aws-api-gateway-and-dynamodb/
[2]https://aws.amazon.com/blogs/compute/using-amazon-api-gateway-as-a-proxy-for-dynamodb/
[3]API Gateway does not have permission to assume the provided role DynamoDB
[4]https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html
【问题讨论】:
标签: amazon-dynamodb aws-api-gateway