自訂屬性多租戶最佳做法 - Amazon Cognito

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

自訂屬性多租戶最佳做法

Amazon Cognito 支援具有您選擇的名稱的自訂屬性。自訂屬性很有用的一個案例是當它們區分共用使用者集區中的使用者租用時。當您為用戶分配屬性值(例如)時custom:tenantID,您的應用程序可以相應地為承租人特定資源分配訪問權限。定義租用戶 ID 的自訂屬性對於應用程式用戶端而言,應該是不可變或唯讀的。

下圖顯示共用應用程式用戶端和使用者集區的租用戶,其中包含使用者集區中指出其所屬租用戶的自訂屬性。

many-to-one 多租戶模型的圖表,其中每個使用者在共用使用者集區中都有自己的租用戶使用者屬性。

當自訂屬性決定租用時,您可以散發單一應用程式或登入 URL。用戶登錄後,您的應用程序可以處理custom:tenantID聲明確定要加載的資產,應用的品牌以及要顯示的功能。如需根據使用者屬性進行進階存取控制決策,請在 Amazon 驗證許可中將您的使用者集區設定為身分提供者,並根據 ID 或存取權杖的內容產生存取決策。

何時實作自訂屬性多租戶

當租賃是表面水平的。承租人屬性可以有助於品牌和版面配置的結果。當您想要在租用戶之間實現顯著隔離時,自訂屬性並不是最佳選擇。必須在使用者集區或應用程式用戶端層級 (例如 MFA 或託管 UI 品牌) 設定的租用戶之間的任何差異,都需要您以不提供自訂屬性的方式在租用戶之間建立區別。透過身分集區,您甚至可以從使用者的 ID 權杖中的自訂屬性宣告中選擇 IAM 角色。

努力程度

由於自定義屬性多租戶轉移了應用程序上基於租戶的授權決策的責任,因此工作水平往往很高。如果您已經熟悉剖析 OIDC 宣告的用戶端組態,或在 Amazon 驗證許可中,此方法可能需要最低的工作量。