本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
登入後 AWS 服務 使用身分集區存取
您的使用者使用使用者集區登入後,可以使用從身分集區發出的 AWS 服務 臨時API憑證存取 。
您的 Web 或行動應用程式會從使用者集區接收權杖。當您將使用者集區設定為身分集區的身分提供者時,身分集區會交換權杖做為臨時 AWS 憑證。這些登入資料可以範圍限定於IAM角色及其政策,讓使用者存取有限的 AWS 資源集。如需詳細資訊,請參閱身分集區身分驗證流程。
下圖顯示應用程式如何使用使用者集區登入、擷取身分集區憑證,以及向 請求資產 AWS 服務。
您可以使用身分集區憑證來:
-
使用使用者自己的憑證向 Amazon Verified Permissions 提出精細的授權請求。
-
連線至 Amazon API Gateway RESTAPI或 AWS AppSync GraphQLAPI,以授權與 的連線IAM。
-
連線至授權與 連線的資料庫後端RDS,例如 Amazon DynamoDB 或 AmazonIAM。
-
從 Amazon S3 儲存貯體擷取應用程式資產。
-
使用 Amazon WorkSpaces 虛擬桌面啟動工作階段。
身分集區不會僅在具有使用者集區的已驗證工作階段中運作。他們也直接接受來自第三方身分提供者的身分驗證,並且可以為未經驗證的訪客使用者產生憑證。
如需搭配使用身分集區與使用者集區群組以控制 AWS 資源存取權的詳細資訊,請參閱 新增群組至使用者集區和 使用以角色為基礎的存取控制。此外,如需身分集區和 的詳細資訊 AWS Identity and Access Management,請參閱 身分集區身分驗證流程。
使用 設定使用者集區 AWS Management Console
建立 Amazon Cognito 使用者集區,並記下每個用戶端應用程式的 User Pool ID (使用者集區 ID) 和App Client ID (應用程式用戶端 ID)。如需有關建立使用者集區的詳細資訊,請參閱 使用者集區入門。
使用 設定身分集區 AWS Management Console
下列程序說明如何使用 AWS Management Console 將身分集區與一或多個使用者集區和用戶端應用程式整合。
若要新增 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>
您可以衍生 的值 <region>
從使用者集區 ID 。例如,如果使用者集區 ID 為 us-east-1_EXAMPLE1
,則 <region>
為 us-east-1
。如果使用者集區 ID 為 us-west-2_EXAMPLE2
,則 <region>
為 us-west-2
。