Api网关:如何根据呼叫者的策略授予权限

时间:2020-10-20 09:08:18

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

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

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

我想使用IAM角色/策略将流正确地利用到api网关级别。 如果每个用户都有一个仅允许他访问其运动学流的策略,是否可以将系统配置为在执行不放入流的情况下拒绝不良请求?

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

感谢您的帮助。 加布里埃

编辑:

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

在的淡蓝色框中,其内容为: 要实施对AWS服务的访问控制,可以使用基于调用者的权限模型(在该模型中,权限策略直接附加到调用者的IAM用户或组),或者使用基于角色的权限模型(在该模型中,权限策略)附加到API网关可以承担的IAM角色。

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

1 个答案:

答案 0 :(得分:0)

您可以在API网关上设置lambda授权方,该授权方会将IAM角色分配给调用方。我随附了lambda授权者文档和蓝图回购供您参考,这将为您提供一个更好的主意!

Lambda Authorizer Docs

Sample Lambda authorizers