【问题标题】:Api gateway: how to grant permissions based on the policy of the callerApi网关:如何根据调用者的策略授予权限
【发布时间】:2020-10-20 23:42:48
【问题描述】:

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

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

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

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

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

编辑:

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

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

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

【问题讨论】:

    标签: amazon-web-services aws-api-gateway amazon-iam


    【解决方案1】:

    您可以在 API 网关上设置一个 lambda 授权方,该授权方将为调用方分配一个 IAM 角色。我已附上 lambda 授权文档和蓝图 repo 供您参考,这将为您提供更好的想法!

    Lambda Authorizer Docs

    Sample Lambda authorizers

    【讨论】:

    • 是的,我理解你的意思,但是我的 API 使用的是 IAM 身份验证,所以没有授权人。我无法更改它,它必须保持 IAM。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 2014-04-08
    • 1970-01-01
    • 2023-03-08
    • 2020-02-05
    相关资源
    最近更新 更多