Amazon Cognito 身分集區入門 - Amazon Cognito

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

Amazon Cognito 身分集區入門

透過 Amazon Cognito 身分集區,您可以為使用者建立唯一身分及指派許可。您的身分集區可以從下列類型的身分驗證服務引入身分:

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

  • 向外部身分提供者進行身分驗證的使用者,例如 Facebook、Google、Apple 或 OIDC或SAML身分提供者。

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

使用者向提供者進行身分驗證並對身分集區提出授權後,就會取得臨時 AWS 憑證。使用者的憑證具有您為存取其他 定義的許可 AWS 服務。

在 Amazon Cognito 中建立身分集區

您可以透過 Amazon Cognito 主控台建立身分集區,也可以使用 AWS Command Line Interface (CLI) 或 Amazon Cognito APIs。下列程序是在主控台中建立新的身分集區的一般指南。您也可以直接跳至主控台,並遵循引導式體驗和內嵌說明內容。

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

  2. 選擇 建立身分池

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

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

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

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

    2. 如果您在想要使用IAM的角色中已有角色 AWS 帳戶 ,您可以選擇使用現有角色。您必須將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 憑證,您的應用程式可以透過 Amazon API Gateway AWS 安全地存取後端 AWS 。請參閱取得憑證