本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
登入後 AWS 服務 使用身分集區存取
在您的使用者使用使用者集區登入後,他們可以 AWS 服務 使用從身分集區發出的暫時 API 登入資料來存取 。
您的 Web 或行動應用程式會從使用者集區接收字符。當您將使用者集區設定為身分集區的身分提供者時,身分集區會交換臨時 AWS 登入資料的字符。這些登入資料的範圍可以限定為 IAM 角色及其政策,以讓使用者存取一組有限的 AWS 資源。如需詳細資訊,請參閱身分集區身分驗證流程。
下圖顯示應用程式如何使用使用者集區登入、擷取身分集區登入資料,以及向 請求資產 AWS 服務。
您可以使用身分集區登入資料來:
-
使用使用者自己的登入資料,向 Amazon Verified Permissions 提出精細的授權請求。
-
連線至授權與 IAM 連線的 Amazon API Gateway REST API 或 AWS AppSync GraphQL API。
-
連線到授權與 IAM 連線的資料庫後端,例如 Amazon DynamoDB 或 Amazon RDS。
-
從 Amazon S3 儲存貯體擷取應用程式資產。
-
使用 Amazon WorkSpaces 虛擬桌面啟動工作階段。
身分集區不會僅在具有使用者集區的已驗證工作階段中運作。他們也直接接受來自第三方身分提供者的身分驗證,並且可以為未驗證的訪客使用者產生登入資料。
如需使用身分集區與使用者集區群組來控制 AWS 資源存取的詳細資訊,請參閱 新增群組至使用者集區和 使用以角色為基礎的存取控制。此外,如需身分集區和 的詳細資訊 AWS Identity and Access Management,請參閱 身分集區身分驗證流程。
使用 設定使用者集區 AWS 管理主控台
建立 Amazon Cognito 使用者集區,並記下每個用戶端應用程式的 User Pool ID (使用者集區 ID) 和App Client ID (應用程式用戶端 ID)。如需有關建立使用者集區的詳細資訊,請參閱 在 Amazon Cognito 主控台中建立新的應用程式。
使用 設定身分集區 AWS 管理主控台
下列程序說明如何使用 AWS 管理主控台 將身分集區與一或多個使用者集區和用戶端應用程式整合。
若要新增 Amazon Cognito 使用者集區身分提供者 (IdP)
-
從 Amazon Cognito 主控台
選擇 身分池。選取身分池。 -
選擇 使用者存取權 索引標籤。
-
選取 新增身分供應商。
-
選擇 Amazon Cognito 使用者集區。
-
輸入使用者集區 ID 和應用程式用戶端 ID。
-
若要設定 Amazon Cognito 向已通過此提供者進行身分驗證的使用者發布憑證時的角色,請設定 角色設定。
-
您可以為來自該 IdP 的使用者提供您在設定已驗證角色時設定的預設角色,也可以選擇具有規則的角色。 使用 Amazon Cognito 使用者集區 IdP,您還可以選擇權杖中具有 preferred_role 的角色。如需
cognito:preferred_role宣告的詳細資訊,請參閱 指定優先順序值給群組。-
如果您選擇使用規則選擇角色,請輸入來自使用者身分驗證的來源宣告、您要用來比較宣告與規則的運算子、導致與此角色選擇相符的值,以及當角色指派相符時您要指派的角色。選取 新增另一項 以根據不同的條件建立其他規則。
-
如果您選擇在權杖中使用 preferred_role 宣告選擇角色,Amazon Cognito 會為您使用者
cognito:preferred_role宣告中的角色發出登入資料。如果沒有偏好的角色宣告存在,Amazon Cognito 會根據您的角色解析發出憑證。
-
-
選擇 角色解析。當您的使用者宣告與您的規則不符時,您可以拒絕憑證或向 已驗證角色 發出憑證。
-
-
若要變更透過此提供者驗證使用者,Amazon Cognito 發布憑證時指派的主要索引標籤,請設定 存取控制的屬性。
-
若不套用主要索引標籤,請選擇 非作用中。
-
若要根據
sub和aud宣告套用主要索引標籤,請選擇 使用預設對應。 -
若要建立您自己的自訂屬性結構描述至主要索引標籤,請選擇 使用自訂對應。然後,輸入您要從每個 宣告 中獲取的 標籤金鑰,顯示於索引標籤當中。
-
-
選取儲存變更。
使用身分集區來整合使用者集區
驗證您的應用程式使用者之後,將該使用者的身分權杖新增至登入資料供應商中的登入對應。供應商名稱取決於您的 Amazon Cognito 使用者集區 ID。其結構如下:
cognito-idp.<region>.amazonaws.com/<YOUR_USER_POOL_ID>
您可以從使用者集區 ID 衍生 <region> 的值。例如,如果使用者集區 ID 為 us-east-1_EXAMPLE1,則 <region> 為 us-east-1。如果使用者集區 ID 為 us-west-2_EXAMPLE2,則 <region> 為 us-west-2。