

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

# 自訂屬性多租戶最佳實務
<a name="custom-attribute-based-multi-tenancy"></a>

Amazon Cognito 支援具有您選擇的名稱的[自訂屬性](user-pool-settings-attributes.md#user-pool-settings-custom-attributes.title)。當自訂屬性區分共用使用者集區中的使用者租用時，一個很有用的情況是。當您為使用者指派 等屬性的值時`custom:tenantID`，您的應用程式可以相應地指派租戶特定資源的存取權。定義租用戶 ID 的自訂屬性應為不可變或唯讀的應用程式用戶端。

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

![\[many-to-one多租用戶模型的圖表，其中每個使用者在共用使用者集區中都有自己的租用戶使用者屬性。\]](http://docs.aws.amazon.com/zh_tw/cognito/latest/developerguide/images/multi-tenancy-custom-attribute.png)


當自訂屬性決定租用時，您可以分發單一應用程式或登入 URL。使用者登入後，您的應用程式可以處理`custom:tenantID`宣告，決定要載入的資產、要套用的品牌，以及要顯示的功能。對於來自使用者屬性的進階存取控制決策，請在 Amazon Verified Permissions 中將使用者集區設定為身分提供者，並從 ID 或存取字符的內容產生存取決策。

**何時實作自訂屬性多租用戶**  
當租用為表面層級時。租戶屬性可以為品牌和配置結果做出貢獻。當您想要在租用戶之間實現顯著隔離時，自訂屬性不是最佳選擇。必須在使用者集區或應用程式用戶端層級設定的租用戶之間的任何差異，例如 MFA 或託管 UI 品牌，都需要您以自訂屬性不提供的方式建立租用戶之間的區別。使用身分集區，您甚至可以從使用者 ID 字符中的自訂屬性宣告中選擇 IAM 角色。

**努力程度**  
由於自訂屬性多租戶會轉移您應用程式上的租戶型授權決策責任，因此工作量通常很高。如果您已經熟悉剖析 OIDC 宣告的用戶端組態，或在 Amazon Verified Permissions 中，此方法可能需要最低程度的工作量。