開始使用 Amazon Cognito 身分集區 - Amazon Cognito

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

開始使用 Amazon Cognito 身分集區

透過 Amazon Cognito 身分集區,您可以為使用者建立唯一身分及指派許可。您的身分集區可以包含:

  • Amazon Cognito 使用者集區中的使用者

  • 使用外部身分提供者 (例如 Facebook、Google、Apple 或 OIDC 或 SAML 身分提供者) 來驗證身分的使用者。

  • 透過您自己現有的驗證程序來驗證身分的使用者

透過身分集區,您可以取得具有定義權限的臨時 AWS 登入資料,以直接存取其他資源 AWS 服務 或透過 Amazon API Gateway 存取資源。

在 Amazon Cognito 中建立身分集區

您可以透過 Amazon Cognito 主控台建立身分集區,或者您可以使用 AWS Command Line Interface (CLI) 或 Amazon Cognito API。

在主控台中建立新的身分集區
  1. 登入 Amazon Cognito 主控台,然後選取 身分池

  2. 選擇 建立身分池

  3. 設定身分池信任 中,為您的身分池選擇 已驗證存取訪客存取 設定,或同時選擇。

    1. 如果您選擇 已驗證存取,請選取一或多個要設定為身分池中已驗證身分來源的 身分類型。如果您設定 自訂開發人員提供者,則建立身分池後無法修改或刪除。

  4. 設定許可 中,為身分池中的身分驗證使用者或訪客使用者選擇預設 IAM 角色。

    1. 如果您希望 Amazon Cognito 為您建立具有基本許可和與身分池具有信任關係的新角色,請選擇 建立新 IAM 角色。輸入 IAM 角色名稱 以識別您的新角色,例如 myidentitypool_authenticatedrole。選取 檢視政策文件 以檢閱 Amazon Cognito 指派給您新 IAM 角色的許可。

    2. 如果您想要使用的角色中已有角色,則可以選擇使用現有的 AWS 帳戶 IAM 角色。您必須設定 IAM 角色信任政策以包含 cognito-identity.amazonaws.com。將您的角色信任政策設定為僅在 Amazon Cognito 提供證據,表明請求來源為特定身分池中已驗證的使用者時,才允許 Amazon Cognito 擔任該角色。如需詳細資訊,請參閱 角色信任和許可

  5. 在 [Connect 身分識別提供者] 中,輸入您在設定身分識別集區信任中選擇的身分識別提供者 (IdPs) 的詳細資料。系統可能會要求您提供 OAuth 應用程式用戶端資訊、選擇 Amazon Cognito 使用者集區、選擇 IAM IdP,或輸入開發人員供應商的自訂識別符。

    1. 為每個 IdP 選擇 角色設定。您可以為該 IdP 使用者指派設定 已驗證角色 時的 預設角色,或您可以 選擇具有規則的角色。使用 Amazon Cognito 使用者集區 IdP,您還可以 選擇權杖中具有 preferred_role 的角色。如需 cognito:preferred_role 宣告的詳細資訊,請參閱 指定優先順序值給群組

      1. 如果您選擇 使用規則選擇角色,請輸入使用者身分驗證的 宣告 來源、比較宣告的 操作員、導致符合角色選擇的 ,以及當符合 角色指派 時您要指派的 角色。選取 新增另一項 以根據不同的條件建立其他規則。

      2. 選擇 角色解析。當您的使用者宣告與您的規則不符時,您可以拒絕憑證或向 已驗證角色 發出憑證。

    2. 為每個 IdP 分別設定 存取控制屬性。存取控制屬性會將使用者宣告映射至 Amazon Cognito 套用至其臨時工作階段的委託人標籤。您可以建立 IAM 政策,根據您套用至其工作階段的索引標籤篩選使用者存取權限。

      1. 若不套用主要索引標籤,請選擇 非作用中

      2. 若要根據 subaud 宣告套用主要索引標籤,請選擇 使用預設對應

      3. 若要建立您自己的自訂屬性結構描述至主要索引標籤,請選擇 使用自訂對應。然後,輸入您要從每個 宣告 中獲取的 標籤金鑰,顯示於索引標籤當中。

  6. 設定屬性 中,在 身分池名稱 下輸入一個 名稱

  7. 基本 (傳統) 身分驗證 下,選擇是否要 啟用基本流程。啟用基本流程後,您可以略過為您所做的角色選擇 IdPs 並AssumeRoleWithWebIdentity直接呼叫。如需詳細資訊,請參閱 身分集區 (聯合身分) 驗證流程

  8. 如果您要將 標籤 套用至身分池,請在索引 標籤 底下選擇 新增標籤

  9. 檢閱和建立 中,確認您為新身分池所做的選擇。選取 編輯 以返回精靈並變更任何設定。當您完成時,請選取 建立身分池

設定 SDK

若要使用 Amazon Cognito 身分識別集區 AWS Amplify,請設定 AWS SDK for Java、或. AWS SDK for .NET如需詳細資訊,請參閱下列主題。

整合身分提供者

Amazon Cognito 身分池 (聯合身分) 支援透過 Amazon Cognito 使用者集區、聯合身分提供者 (包括 Amazon、Facebook、Google、Apple 和 SAML 身分提供者) 以及未驗證的身分,進行使用者身分驗證。此功能也支援開發人員驗證的身分,可讓您透過自己的後端身分驗證程序來註冊及驗證使用者。

若要進一步了解如何使用 Amazon Cognito 使用者集區來建立自己的使用者目錄,請參閱 Amazon Cognito 使用者集區,以及 登入後 AWS 服務 使用身分集區存取

若要進一步了解如何使用外部身分供應商,請參閱外部身分提供者身分集區

若要進一步了解如何整合自己的後端身分驗證程序,請參閱開發人員驗證的身分

取得憑證

Amazon Cognito 身分集區為訪客 (未驗證) 的使用者以及已驗證和接收權杖的使用者提供臨時 AWS 登入資料。使用這些 AWS 登入資料,您的應用程式可以 AWS 透過 Amazon API Gateway 安全地在內 AWS 外存取後端。請參閱取得憑證