本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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。下列程序是在主控台中建立新的身分集區的一般指南。您也可以直接跳至主控台,
在主控台中建立新的身分集區
-
登入 Amazon Cognito 主控台
,然後選取 身分池。 -
選擇 建立身分池。
-
在 設定身分池信任 中,為您的身分池選擇 已驗證存取、訪客存取 設定,或同時選擇。
-
如果您選擇 已驗證存取,請選取一或多個要設定為身分池中已驗證身分來源的 身分類型。如果您設定 自訂開發人員提供者,則建立身分池後無法修改或刪除。
-
-
在設定許可 中,選擇身分集區中已驗證或訪客使用者的預設IAM角色。
-
如果您希望 Amazon Cognito 為您建立新的IAM角色,並具有基本許可,以及與身分集區的信任關係,請選擇建立新角色。輸入IAM角色名稱以識別您的新角色,例如
myidentitypool_authenticatedrole
。選取檢視政策文件,以檢閱 Amazon Cognito 將指派給新IAM角色的許可。 -
如果您在想要使用IAM的角色中已有角色 AWS 帳戶 ,您可以選擇使用現有角色。您必須將IAM角色信任政策設定為包含
cognito-identity.amazonaws.com
。將您的角色信任政策設定為僅在 Amazon Cognito 提供證據,表明請求來源為特定身分池中已驗證的使用者時,才允許 Amazon Cognito 擔任該角色。如需詳細資訊,請參閱角色信任和許可。
-
-
在 Connect 身分提供者 中,輸入您在設定身分集區信任 中選擇的身分提供者 (IdPs) 的詳細資訊。 您可能需要提供OAuth應用程式用戶端資訊、選擇 Amazon Cognito 使用者集區、選擇 IAM IdP 或輸入開發人員供應商的自訂識別符。
-
為每個 IdP 選擇 角色設定。您可以為該 IdP 使用者指派設定 已驗證角色 時的 預設角色,或您可以 選擇具有規則的角色。使用 Amazon Cognito 使用者集區 IdP,您還可以 選擇權杖中具有 preferred_role 的角色。如需
cognito:preferred_role
宣告的詳細資訊,請參閱 指定優先順序值給群組。-
如果您選擇 使用規則選擇角色,請輸入使用者身分驗證的 宣告 來源、比較宣告的 操作員、導致符合角色選擇的 值,以及當符合 角色指派 時您要指派的 角色。選取 新增另一項 以根據不同的條件建立其他規則。
-
選擇 角色解析。當您的使用者宣告與您的規則不符時,您可以拒絕憑證或向 已驗證角色 發出憑證。
-
-
為每個 IdP 分別設定 存取控制屬性。存取控制屬性會將使用者宣告映射至 Amazon Cognito 套用至其臨時工作階段的委託人標籤。您可以建置IAM政策,根據您套用至其工作階段的標籤來篩選使用者存取權。
-
若不套用主要索引標籤,請選擇 非作用中。
-
若要根據
sub
和aud
宣告套用主要索引標籤,請選擇 使用預設對應。 -
若要建立您自己的自訂屬性結構描述至主要索引標籤,請選擇 使用自訂對應。然後,輸入您要從每個 宣告 中獲取的 標籤金鑰,顯示於索引標籤當中。
-
-
-
在 設定屬性 中,在 身分池名稱 下輸入一個 名稱。
-
在 基本 (傳統) 身分驗證 下,選擇是否要 啟用基本流程。使用基本流程時,您可以略過為 所做的角色選擇, IdPs 並AssumeRoleWithWebIdentity直接呼叫 。如需詳細資訊,請參閱身分集區身分驗證流程。
-
如果您要將 標籤 套用至身分池,請在索引 標籤 底下選擇 新增標籤。
-
在 檢閱和建立 中,確認您為新身分池所做的選擇。選取 編輯 以返回精靈並變更任何設定。當您完成時,請選取 建立身分池。
設定 SDK
若要使用 Amazon Cognito 身分集區,請設定 AWS Amplify、 AWS SDK for Java或 AWS SDK for .NET。如需詳細資訊,請參閱下列主題。
-
在 AWS SDK for JavaScript 開發人員指南 中設定 SDK 的 JavaScript
-
《Amplify 開發人員中心》中的 Amplify 文件
-
《AWS SDK for .NET 開發人員指南》中的 Amazon Cognito 憑證提供者
整合身分提供者
Amazon Cognito 身分集區 (聯合身分) 透過 Amazon Cognito 使用者集區、聯合身分提供者,包括 Amazon、Facebook、Google、Apple 和SAML身分提供者,以及未經驗證的身分,支援使用者身分驗證。此功能也支援開發人員驗證的身分,可讓您透過自己的後端身分驗證程序來註冊及驗證使用者。
若要進一步了解如何使用 Amazon Cognito 使用者集區來建立自己的使用者目錄,請參閱 Amazon Cognito 使用者集區,以及 登入後 AWS 服務 使用身分集區存取。
若要進一步了解如何使用外部身分供應商,請參閱身分集區第三方身分提供者。
若要進一步了解如何整合自己的後端身分驗證程序,請參閱開發人員驗證的身分。
取得憑證
Amazon Cognito 身分集區為訪客 (未經驗證) 的使用者和已驗證並收到權杖的使用者提供臨時 AWS 憑證。透過這些 AWS 憑證,您的應用程式可以透過 Amazon API Gateway AWS 安全地存取後端 AWS 。請參閱取得憑證。