如何將 IAM Identity Center 與 Amazon Cognito 使用者集區整合?

2 分的閱讀內容
0

我想使用第三方身分提供者 (IdP) 為 Amazon Cognito 使用者集區設定 AWS IAM Identity Center(AWS 單一登入的繼承者)。

簡短描述

Amazon Cognito 使用者集區允許透過第三方 IDP 登入。使用者可以使用 IAM Identity Center 透過安全性宣告標記語言版本 2.0 (SAML 2.0) IdP 進行聯合。如需詳細資訊,請參閱 Amazon Cognito 使用者集區中聯合登入的運作方式

與 IAM Identity Center 整合的使用者集區允許使用者從 Amazon Cognito 獲取使用者集區權杖。如需詳細資訊,請參閱搭配使用者集區使用權杖

解決方法

若要將 Amazon Cognito 使用者集區與 IAM Identity Center 整合,請執行下列步驟。

**注意:**如果您已經擁有應用程式用戶端的使用者集區,請跳過下列部分。

使用應用程式用戶端和網域名稱建立 Amazon Cognito 使用者集區

1.    建立使用者集區

2.    新增應用程式用戶端並設定託管的 Web UI

3.    為使用者集區新增網域名稱

**注意:**如果您已經有工作的 IAM Identity Center 環境,請跳過下列部分。

啟動 IAM Identity Center 並新增使用者

1.    在啟用 IAM Identity Center 之前,請檢閱先決條件和注意事項

2.    啟用 IAM 身份中心

3.    選擇您的身分來源並建立使用者。

從 IAM Identity Center 主控台設定 SAML 應用程式

1.    開啟 IAM Identity Center 主控台,然後從導覽窗格中選擇應用程式

2.    選擇新增應用程式新增自訂 SAML 2.0 應用程式,然後選擇下一步

3.    在設定應用程式頁面上,輸入顯示名稱描述

4.    複製 IAM Identity Center SAML 中繼資料檔案的 URL,或選擇下載超連結。您可以在以後步驟中使用這些資源在使用者集區中建立 IdP。

5.    在應用程式中繼資料下,選擇手動輸入中繼資料值。然後提供以下值。

**重要:**請確保將 domain-prefixregionuserpool-id 值替換為您的環境特定的資訊。

應用程式斷言使用者服務 (ACS) URL:https://<domain-prefix>.auth.<region>.amazoncognito.com/saml2/idpresponse
應用程式 SAML 對象:urn:amazon:cognito:sp:<userpool-id>

6.    選擇提交。然後,移至您新增的應用程式的詳細資訊頁面。

7.    選取動作下拉式清單,然後選擇編輯屬性對應。然後,提供下列屬性。

應用程序中的使用者屬性:subject
注意: subject 已預填。
對應至 IAM Identity Center 中的此字串值或使用者屬性:${user:subject}
格式: **持續 **

應用程式中的使用者屬性:email
對應至 IAM Identity Center 中的此字串值或使用者屬性:${user:email}
格式: 基本

登入時,對應的屬性會傳送至 Amazon Cognito。請確定您的所有使用者集區的必要屬性都已在此對應。若要進一步了解可用於對應的屬性,請參閱支援的 IAM Identity Center 屬性

8.    儲存您的變更。

9.    選擇指派使用者按鈕,然後將您的使用者指派給應用程式。

將 IAM Identity Center 設定為使用者集區中的 SAML IdP

1.    在使用者集區中設定 SAML IdP。檢查下列設定:

中繼資料文件下,提供中繼資料 URL 或上傳您在上一節步驟 4 中下載的檔案。如需詳細資訊,請參閱將第三方 SAML 身分提供者與 Amazon Cognito 使用者集區整合

輸入您的 SAML 提供者名稱。如需詳細資訊,請參閱選擇 SAML 身分提供者名稱

(選擇性) 輸入任何 SAML 識別碼

2.    設定 SAML 提供者屬性對應。檢查下列設定:

SAML 屬性欄位中,提供與上一節步驟 7 中提供的使用者屬性值相符的電子郵件值。在使用者集區屬性欄位中,從下拉式清單中選取電子郵件

**注意:**新增上一節步驟 7 在 IAM Identity Center 設定的任何其他屬性。

3.    儲存您的變更。

將 IdP 與使用者集區應用程式客戶端整合

1.    登入新的 Amazon Cognito 主控台

2.    選擇使用者集區,然後選取適當的使用者集區。

3.    選擇應用程式整合標籤,然後選擇應用程式用戶端清單

4.    選取適當的應用程式用戶端。

5.    從託管 UI區段中選擇編輯

6.    選取適當的 IdP。

7.    儲存您的變更。

測試設定

1.    啟動託管的 UI 或使用下列命名模式建構登入端點 URL

https://example_domain_prefix.auth.example_region.amazoncognito.com/login?response_type=token&client_id=example_client_id&redirect_uri=example_redirect_url

例如:https://my-user-pool.auth.us-east-1.amazoncognito.com/login?response_type=code&client_id=a1b2c3d4e5f6g7h8i9j0k1l2m3&redirect_uri=https://example.com

對於 OAuth 2.0 授權類型,請選擇授權代碼授予,以使登入端點在使用者登入時提示 Amazon Cognito 傳回授權代碼。對於 OAuth 2.0 授權類型,為 Amazon Cognito 選擇隱含授權,以便在使用者登入時傳回存取權杖。然後,將 URL 中的 response_type=code 替換為 response_type=token

2.    選擇 IAM IdC

如果您被重新導向到應用程式用戶端的回呼 URL,則表示您已經以使用者身分登入瀏覽器。使用者集區權杖會直接顯示在網頁瀏覽器網址列的 URL 中。

注意:若要跳過此步驟,請使用下列命名模式建立授權端點 URL
https://yourDomainPrefix.auth.region.amazoncognito.com/oauth2/authorize?response_type=token&identity_provider=samlProviderName&client_id=yourClientId&redirect_uri=redirectUrl&scope=allowedOauthScopes

3.    輸入使用者憑證,然後選擇登入

4.    當您重新導向到瀏覽器的地址列中包含來自 Amazon Cognito 的代碼或權杖的回呼 URL 時,設定即告完成。

**注意:**Amazon Cognito 僅支援服務供應商 (SP) 啟動的登入。您必須使用登入端點或授權端點來測試設定。使用 IAM 身分中心的 AWS 存取入口網站啟動 IDP 起始的登入無法運作。

AWS 官方
AWS 官方已更新 1 年前