多重租用戶應用程式最佳實務 - Amazon Cognito

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

多重租用戶應用程式最佳實務

Amazon Cognito 使用者集區使用多租戶應用程式運作,這些應用程式會產生大量請求,這些請求必須保留在 Amazon Cognito 配額內。若要在客戶群成長時擴展此容量,您可以購買額外的配額容量

注意

Amazon Cognito 配額會依 AWS 帳戶 和 套用 AWS 區域。應用程式中的所有租用戶會共用這些配額。檢閱 Amazon Cognito 服務配額,並確保配額符合應用程式中的預期磁碟區和預期租戶數量。

本節說明您可以實作的方法,以在相同 區域和 內的 Amazon Cognito 資源之間分隔租戶 AWS 帳戶。您也可以將租用戶分割到多個 AWS 帳戶 或 區域,並給他們各自配額。多區域多租戶的其他優點包括最高層級的隔離、全球分散式使用者的最短網路傳輸時間,以及組織中現有分佈模型的遵守。

單區域多租戶也可以為您的客戶和管理員帶來優勢。

下列清單涵蓋具有共用資源的多租戶的一些優點。

多租戶的優點
一般使用者目錄

多租戶支援客戶在多個應用程式中擁有帳戶的模型。您可以將第三方供應商的身分連結至單一一致的使用者集區設定檔。如果使用者設定檔對其租用戶而言是唯一的,則具有單一使用者集區的任何多租用戶策略都有一個使用者管理的進入點。

一般安全

在共用使用者集區中,您可以建立單一安全標準,並將相同的進階安全 多重要素身分驗證 (MFA) 和AWS WAF標準套用至所有租戶。由於 AWS WAF Web ACL必須與您所關聯 AWS 區域 的資源位於相同位置,因此多租戶會提供複雜資源的共用存取權。當您想要在多區域 Amazon Cognito 應用程式中維持一致的安全組態時,您必須套用可在資源之間複寫組態的操作標準。

通用自訂

您可以使用 自訂使用者集區和身分集區 AWS Lambda。在使用者集區中設定 Lambda 觸發條件和在身分集區中設定 Amazon Cognito 事件可能會變得複雜。Lambda 函數必須 AWS 區域 與您的使用者集區或身分集區位於相同位置。共用 Lambda 函數可以強制執行自訂身分驗證流程、使用者遷移、權杖產生和區域內其他函數的標準。

一般訊息

Amazon Simple Notification Service (Amazon SNS) 需要 區域中的其他組態,才能傳送訊息SMS給使用者。您可以使用 Amazon Simple Email Service (Amazon SES) 驗證的身分和區域中包含的網域傳送電子郵件訊息

透過多租戶,您可以在所有租戶之間共用此組態和維護開銷。由於 Amazon SNS和 Amazon SES並非在所有 中都可用 AWS 區域,因此在區域之間分割資源需要額外考量。

當您使用自訂訊息提供者 時,您可以取得單一 Lambda 函數的常見自訂,以管理訊息傳遞。

託管 UI 在瀏覽器中設定工作階段 Cookie,以便識別已驗證的使用者。當您在使用者集區中驗證本機使用者時,其工作階段 Cookie 會針對相同使用者集區中的所有應用程式用戶端進行驗證。本機使用者僅存在於您的使用者集區目錄中,不會透過外部 IdP 進行聯合。工作階段 Cookie 的有效期為一小時。您無法變更工作階段 Cookie 持續時間。

有兩種方法可以防止使用託管 UI 工作階段 Cookie 跨應用程式用戶端登入。

  • 將您的使用者分隔為每個租戶的使用者集區。

  • 將託管 UI 登入取代為 Amazon Cognito 使用者集區API登入。