amazon-web-services - API 网关 : how to grant permis

这是我的问题:我有不同的用户可以使用 IAM 身份验证访问 API。 每个用户发送一些数据,这些数据必须放在运动流中。 每个用户都有自己的运动流。 网关根据请求中存在的“streamName”字段将数据放在正确的流中。 流消费者丢弃所有最终放入错误流中的数据(例如,在“用户 A”指定了“流 B”的情况下)。

这个系统运行良好,但效率不高。

我想使用 IAM 角色/策略将流的正确使用强制执行到 api 网关级别。 如果每个用户都有一个只授予他对其运动流的访问权限的策略,是否有一种方法可以将系统配置为在不执行流的情况下拒绝错误请求?

换句话说,我希望根据调用方用户的策略授予 API 网关对特定运动流的访问权限。

感谢您的帮助。 加布里埃尔

编辑:

我想我找到了解决方案的提示。这里:https://docs.aws.amazon.com/apigateway/latest/developerguide/permissions.html

在 的浅蓝色框中,它声明: 要对 AWS 服务实现访问控制,您可以使用基于调用者的权限模型,其中权限策略直接附加到调用者的 IAM 用户或组,或基于角色的权限模型,其中权限策略附加到 API 网关可以担任的 IAM 角色。

我认为“基于调用者的权限模型”可能是正确的方法。

最佳答案

您可以在 API 网关上设置一个 lambda 授权方,它将 IAM 角色分配给调用方。我附上了 lambda 授权方文档和蓝图存储库供您引用,这会给您一个更好的主意!

Lambda Authorizer Docs

Sample Lambda authorizers

关于amazon-web-services - API 网关 : how to grant permissions based on the policy of the caller,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64441994/

相关文章:

python - 无法找到具有前瞻/后视功能的正则表达式

react-native - 在 React Native 中的数组或对象内部时,i18n 无法正确

python - 在 pylint 和 mypy 中处理 Python 类重新定义警告

reactjs - 无法查询类型 "x"上的字段 "y"

ios - 带有 iOS 14 设备的 Xcode 10 - 尝试与此设备通信时遇到错误。 (该服务

python - 来自代码编辑器的 common.py 文件的断言错误

python - 为什么 patch.contains_point() 在检查点是否在多边形内时与

json - 如何在 Django 中使用多对多关系加载 fixtures.json

python-3.x - python 中的 sys.exit 给出一个 SystemExit 错误

apache-spark - 无法使用 Apache Hudi 编写非分区表