為單一登入 (SSO) 設定您的身分提供者 - 研究與工程 Studio

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

為單一登入 (SSO) 設定您的身分提供者

Research and Engineering Studio 與任何 SAML 2.0 身分提供者整合,以驗證使用者對 RES 入口網站的存取。這些步驟提供與您選擇的 SAML 2.0 身分提供者整合的指示。如果您想要使用 IAM Identity Center,請參閱 使用 IAM Identity Center 設定單一登入 (SSO)

注意

使用者的電子郵件必須符合 IDP SAML 聲明和 Active Directory。您需要將身分提供者與 Active Directory 連線,並定期同步使用者。

設定您的身分提供者

本節提供使用來自 RES Amazon Cognito 使用者集區的資訊來設定身分提供者的步驟。

  1. RES 假設您有一個 AD (AWS 受管 AD 或自我佈建 AD),其使用者身分允許存取 RES 入口網站和專案。將您的 AD 連接至您的身分服務提供者,並同步使用者身分。檢查身分提供者的文件,以了解如何連接 AD 和同步使用者身分。例如,請參閱AWS IAM Identity Center 《 使用者指南》中的使用 Active Directory 做為身分來源

  2. 在您的身分提供者 (IdP) 中為 RES 設定 SAML 2.0 應用程式。此組態需要下列參數:

    • SAML 重新導向 URL — IdP 用來傳送 SAML 2.0 回應給服務提供者的 URL。

      注意

      根據 IdP,SAML 重新導向 URL 可能有不同的名稱:

      • 應用程式 URL

      • 聲明消費者服務 (ACS) URL

      • ACS POST 繫結 URL

      若要取得 URL
      1. 管理員clusteradmin 身分登入 RES。

      2. 導覽至環境管理一般設定身分提供者

      3. 選擇 SAML 重新導向 URL

       

    • SAML 對象 URI — 服務提供者端 SAML 對象實體的唯一 ID。

      注意

      根據 IdP,SAML 對象 URI 可能會有不同的名稱:

      • ClientID

      • 應用程式 SAML 對象

      • SP 實體 ID

      以下列格式提供輸入。

      urn:amazon:cognito:sp:user-pool-id
      尋找您的 SAML 對象 URI
      1. 管理員clusteradmin 身分登入 RES。

      2. 導覽至環境管理一般設定身分提供者

      3. 選擇使用者集區 ID

  3. 張貼到 RES 的 SAML 聲明必須將下列欄位/宣告設定為使用者的電子郵件地址:

    • SAML 主體或 NameID

    • SAML 電子郵件

  4. 您的 IdP 會根據組態,將欄位/宣告新增至 SAML 聲明。RES 需要這些欄位。根據預設,大多數供應商會自動填入這些欄位。如果您必須設定,請參閱下列欄位輸入和值。

    • AudienceRestriction — 設定為 urn:amazon:cognito:sp:user-pool-id。將 user-pool-id 取代為您的 Amazon Cognito 使用者集區的 ID。

      <saml:AudienceRestriction> <saml:Audience> urn:amazon:cognito:sp:user-pool-id </saml:AudienceRestriction>
    • 回應InResponseTo設定為 https://user-pool-domain/saml2/idpresponse。使用 Amazon Cognito 使用者集區的網域名稱取代 user-pool-domain

      <saml2p:Response Destination="http://user-pool-domain/saml2/idpresponse" ID="id123" InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" IssueInstant="Date-time stamp" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    • SubjectConfirmationDataRecipient設定為您的使用者集區saml2/idpresponse端點和InResponseTo原始 SAML 請求 ID。

      <saml2:SubjectConfirmationData InResponseTo="_dd0a3436-bc64-4679-a0c2-cb4454f04184" NotOnOrAfter="Date-time stamp" Recipient="https://user-pool-domain/saml2/idpresponse"/>
    • AuthnStatement — 將 設定為下列項目:

      <saml2:AuthnStatement AuthnInstant="2016-10-30T13:13:28.152TZ" SessionIndex="32413b2e54db89c764fb96ya2k" SessionNotOnOrAfter="2016-10-30T13:13:28"> <saml2:SubjectLocality /> <saml2:AuthnContext> <saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml2:AuthnContextClassRef> </saml2:AuthnContext> </saml2:AuthnStatement>
  5. 如果您的 SAML 應用程式有登出 URL 欄位,請將其設定為:<domain-url>/saml2/logout

     

    若要取得網域 URL
    1. 管理員clusteradmin 身分登入 RES。

    2. 導覽至環境管理一般設定身分提供者

    3. 選擇網域 URL

  6. 如果您的 IdP 接受簽署憑證以與 Amazon Cognito 建立信任,請下載 Amazon Cognito 簽署憑證並將其上傳到您的 IdP。

     

    若要取得簽署憑證
    1. 開啟 Amazon Cognito 主控台

    2. 選取您的使用者集區。您的使用者集區應該是 res-<environment name>-user-pool

    3. 選取登入體驗索引標籤。

    4. 聯合身分提供者登入區段中,選擇檢視簽署憑證

      在所選使用者集區的聯合身分提供者登入區段中,具有檢視簽署憑證按鈕的 Amazon Cognito 主控台。

      您可以使用此憑證來設定 Active Directory IDP、新增 relying party trust,以及啟用此依賴方的 SAML 支援。

      注意

      這不適用於 Keycloak 和 IDC。

    5. 應用程式設定完成後,請下載 SAML 2.0 應用程式中繼資料 XML 或 URL。您可以在下一節中使用它。

設定 RES 以使用您的身分提供者

完成 RES 的單一登入設定
  1. 管理員clusteradmin 身分登入 RES。

  2. 導覽至環境管理一般設定身分提供者

    RES 中的環境設定使用者介面,包括單一登入的 區段。
  3. 單一登入下,選擇狀態指示燈旁的編輯圖示,以開啟單一登入組態頁面。

    RES 中的單一登入組態使用者介面。
    1. 針對身分提供者,選擇 SAML

    2. 提供者名稱中,輸入身分提供者的唯一名稱。

      注意

      不允許使用下列名稱:

      • Cognito

      • IdentityCenter

    3. 中繼資料文件來源下,選擇適當的選項並上傳中繼資料 XML 文件,或從身分提供者提供 URL。

    4. 提供者電子郵件屬性中,輸入文字值 email

    5. 選擇提交

  4. 重新載入環境設定頁面。如果組態正確,則會啟用單一登入。

在非生產環境中設定您的身分提供者

如果您使用提供的外部資源來建立非生產 RES 環境,並將 IAM Identity Center 設定為您的身分提供者,您可能想要設定不同的身分提供者,例如 Okta。RES SSO 啟用表單會要求三個組態參數:

  1. 供應商名稱 — 無法修改

  2. 中繼資料文件或 URL — 可以修改

  3. 供應商電子郵件屬性 — 可以修改

若要修改中繼資料文件和提供者電子郵件屬性,請執行下列動作:
  1. 前往 Amazon Cognito 主控台。

  2. 在導覽中,選擇使用者集區

  3. 選取您的使用者集區以檢視使用者集區概觀

  4. 登入體驗索引標籤,前往聯合身分提供者登入並開啟您設定的身分提供者。

  5. 一般而言,您只需要變更中繼資料,並讓屬性映射保持不變。若要更新屬性映射,請選擇編輯。若要更新中繼資料文件,請選擇取代中繼資料

    Amazon CognitoUser 集區概觀。
  6. 如果您編輯屬性映射,則需要更新 DynamoDB 中的<environment name>.cluster-settings資料表。

    1. 開啟 DynamoDB 主控台,然後從導覽中選擇資料表

    2. 尋找並選取<environment name>.cluster-settings資料表,然後從動作功能表中選取探索項目

    3. 掃描或查詢項目下,移至篩選條件,然後輸入下列參數:

      • 屬性名稱key

      • identity-provider.cognito.sso_idp_provider_email_attribute

    4. 選擇執行

  7. 傳回的項目下,尋找identity-provider.cognito.sso_idp_provider_email_attribute字串,然後選擇編輯來修改字串,以符合您在 Amazon Cognito 中的變更。

    Amazon CognitoUpdate DynamoDB 中傳回的篩選條件和項目。

偵錯 SAML IdP 問題

SAML 追蹤器 — 您可以將此擴充功能用於 Chrome 瀏覽器,以追蹤 SAML 請求並檢查 SAML 聲明值。如需詳細資訊,請參閱 Chrome Web Store 中的 SAML 追蹤器

SAML 開發人員工具 — OneLogin 提供可用於解碼 SAML 編碼值的工具,並檢查 SAML 聲明中的必要欄位。如需詳細資訊,請參閱 OneLogin 網站上的 Base 64 Decode + Inflate

Amazon CloudWatch Logs — 您可以在 CloudWatch Logs 中檢查 RES 日誌是否有錯誤或警告。您的日誌位於名稱格式為 的日誌群組中/res-environment-name/cluster-manager

Amazon Cognito 文件 — 如需 SAML 與 Amazon Cognito 整合的詳細資訊,請參閱《Amazon Cognito 開發人員指南》中的將 SAML 身分提供者新增至使用者集區。