1

比方说,我有这个用户允许用户从S3读取特定的dynamodb表和getObject和putObject特权的用例。如何使用自定义授权者lambda函数生成的策略文档?

以下项目我已经能够establish-: 1.用户对cognito用户池 2.在成功的权威性,发送到API网关访问令牌 3.自定义的身份验证蓝图用于验证和产生的政策认证doc

现在我无法理解的是我在哪里以及如何提及表/ S3权限细节。

我通过下列文件去/博客

https://aws.amazon.com/blogs/compute/introducing-custom-authorizers-in-amazon-api-gateway/

http://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html

https://mobile.awsblog.com/post/Tx3JK25U7Z9EUIU/Integrating-Amazon-Cognito-User-Pools-with-API-Gateway

不过,我为仍然感到困惑如何以及何时将政策文件,由创建自定义auth lambda,被使用?并对流量进行澄清将受到高度赞赏。

回答

0

我们实际上刚刚为Cognito用户池启动了本机支持,它将验证Cognito出售的JWT。然而,这只会做一个简单的ALLOW/DENY决定(如果令牌有效,允许),所以没有细粒度权限的概念。

对于自定义的授权人,您生成的缓存,并且可以适用于整个RESTAPI(或使用相同授权的所有方法)的政策。该策略允许您像使用IAM用户/角色一样设置精细的权限。

一个用例是基于组的权限设置,其中自定义授权人确定调用者是谁,并在对第一个API调用的响应中分配组策略(例如admin,readonly,blocked等)该令牌。这些策略将为API中的特定资源/方法设置精细的权限。然后,在后续的API调用中,共享相同授权者的任何其他资源/方法将应用组策略。

所以好处是:

  1. 细粒度的权限的政策与相关联的用户,如IAM用户/角色。
  2. 缓存整个RESTAPI政策降低LAMBDA调用(成本和延迟好处)。
相关问题