使用者群組多租戶最佳實務 - Amazon Cognito

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用者群組多租戶最佳實務

當您的架構需要具有身分集區的 Amazon Cognito 使用者集區時,群組型多租用戶最有效。

使用者集區 ID 和存取權杖包含cognito:groups宣告。此外,ID 字符包含 cognito:rolescognito:preferred_role宣告。當您應用程式中的身分驗證主要結果是身分集區的臨時 AWS 憑證時,您的使用者群組成員資格可以判斷他們收到的 IAM 角色和許可。

例如,請考慮三個租用戶,每個租用戶都會將應用程式資產存放在自己的 Amazon S3 儲存貯體中。將每個租用戶的使用者指派給相關聯的群組、為群組設定偏好的角色,以及授予該角色對其儲存貯體的讀取存取權。

下圖顯示共用應用程式用戶端和使用者集區的租戶,其中使用者集區中的專用群組可決定其是否符合 IAM 角色的資格。

many-to-one多租用戶模型的圖表,其中每個租用戶在共用使用者集區中都有自己的使用者群組。
何時實作群組多租用戶

當存取 AWS 資源是您的主要考量時。Amazon Cognito 使用者集區中的群組是角色型存取控制 (RBAC) 的機制。您可以在使用者集區中設定許多群組,並以群組優先順序進行複雜的 RBAC 決策。身分集區可以為具有最高優先順序的角色、群組宣告中的任何角色,或使用者字符中的其他宣告指派登入資料。

努力程度

僅維持多租用戶與群組成員資格的努力程度很低。不過,若要將使用者集區群組的角色擴展到 IAM 角色選擇的內建容量之外,您必須建置應用程式邏輯,以處理使用者權杖中的群組成員資格,並決定在用戶端中要執行的動作。您可以將 Amazon Verified Permissions 與您的應用程式整合,以做出用戶端授權決策。Verified Permissions IsAuthorizedWithToken API 操作中目前未處理群組識別符,但您可以開發自訂程式碼來剖析字符的內容,包括群組成員宣告。