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調用(成本和延遲好處)。
相關問題