0

我正在嘗試構建一個可以通過任何註冊了facebook的用戶訪問的Web應用程序。 我想使用AWS Cognito加速用戶管理的開發。AWS Cognito的不同訪問級別

它有3個類型的用戶:

  • 普通用戶 - 這與Facebook登錄
  • 編輯任何用戶 - 具有不同的訪問級別(?IAM角色)的用戶,他們可以打電話特定的AWS Lambda函數,即普通用戶無法調用。
  • 管理員 - 可以修改普通用戶的狀態,使它們的編輯或管理員

可有人請點我的方向是正確的用戶?我已經設置了AWS Cognito身份池,但我不確定是否必須設置用戶池,或者如何將不同的角色或策略分配給用戶以使其成爲管理員或編輯者(其他訪問級別不同AWS資源),如果我可以在我的Web應用程序中獲得Cognito的用戶列表(僅限經過身份驗證的管理員),並且如何允許他修改其他用戶角色。

一些教程,文檔或至少簡短的描述,我該如何做到這一點會幫助我很多。

可選:讓用戶不僅可以使用Facebook註冊,還可以使用電子郵件/密碼,並且具有相同的功能。

回答

1

您應該能夠使用Cognito聯合身份驗證的「基於角色的訪問控制」功能。這是該文檔的相關部分: http://docs.aws.amazon.com/cognito/latest/developerguide/role-based-access-control.html

如果您只使用Facebook,則可以使用Facebook sub分配適當的角色。

如果您在用戶池中使用基於用戶名和密碼的登錄,則可以使用組支持並創建編輯組並分配適當的權限。

而不是管理具有聯合身份或用戶池的管理員,可能直接使用IAM用戶將是一個更好的主意。此IAM用戶將具有完全權限來修改/添加身份池規則或用戶池組。

+0

那麼管理員將IAM用戶和編輯以及普通用戶都會成爲Cognito用戶嗎?並且每個管理員都有權更改編輯策略,以便在其中逐一添加cognito用戶ID?因此,添加到編輯策略中的cognito用戶將擁有編輯權限。 –

+1

爲了澄清,如果您的意思是基於Cognito規則的政策,那麼通過「更改編輯者政策」是可以的。 –

+0

好的,所以最後的問題是:1)在策略中保存id(在這種情況下是編輯者)的列表並不斷添加新的策略? 2)我可以限制管理員,以便他只允許用戶成爲編輯者並訪問該lambda函數(因此他們將無法爲超級用戶提供對普通用戶的訪問權限)3)它的工作方式與facebook登錄相同用戶和cognito用戶使用用戶名/密碼登錄? –