管理員工身分集區提供者

本指南說明如何使用 Workforce Identity Federation 執行常見作業。如要設定員工身分聯盟,請參閱下列指南:

事前準備

  1. 您必須 Google Cloud 設定機構。

  2. 安裝 Google Cloud CLI。 完成後,執行下列指令來初始化 Google Cloud CLI:

    gcloud init

    若您採用的是外部識別資訊提供者 (IdP),請先使用聯合身分登入 gcloud CLI

管理集區

本節說明如何管理員工身分集區。

建立集區

如要建立工作人員集區,請執行下列指令:

gcloud

如要建立員工身分識別集區,請執行下列指令:

gcloud iam workforce-pools create WORKFORCE_POOL_ID \
    --organization=ORGANIZATION_ID \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --session-duration=SESSION_DURATION \
    --location=global

更改下列內容:

  • WORKFORCE_POOL_ID:您選擇代表 Google Cloud 工作團隊集區的 ID。如要瞭解如何設定 ID 格式,請參閱 API 說明文件中的「查詢參數」一節。
  • ORGANIZATION_ID:員工身分集區的組織數字 ID。 Google Cloud 員工身分集區適用於機構中的所有專案和資料夾。
  • DISPLAY_NAME:選用。工作團隊身分集區的顯示名稱。
  • DESCRIPTION:選用。工作團隊身分集區 說明。
  • SESSION_DURATION:選用。工作階段時間長度,以附加 s 的數字表示,例如 3600s。工作階段時間長度決定了從這個工作團隊集區取得的 Google Cloud 存取權杖、控制台 (聯盟) 登入工作階段,以及 gcloud CLI 登入工作階段的有效時間。工作階段持續時間預設為一小時 (3600 秒)。工作階段持續時間值必須介於 15 分鐘 (900 秒) 和 12 小時 (43,200 秒) 之間。

控制台

如要建立工作團隊身分識別集區,請執行下列操作:

  1. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 選取員工身分集區的機構。機構中的所有專案和資料夾都可使用 Workforce 身分集區。

  3. 按一下「建立集區」,然後執行下列操作:

    1. 在「名稱」欄位中,輸入集區的顯示名稱。系統會在您輸入名稱時自動衍生集區 ID,並顯示在「名稱」欄位下方。如要更新集區 ID,請點選集區 ID 旁的「編輯」

    2. 選用:在「Description」(說明) 中輸入集區說明。

    3. 如要建立員工身分集區,請按「Next」(下一步)

工作團隊身分集區的工作階段持續時間預設為一小時 (3600 秒)。 工作階段時間長度決定了這個工作團隊集區的 Google Cloud 存取權杖、控制台 (已加入聯盟) 和 gcloud CLI 登入工作階段的有效時間。建立集區後,您可以更新集區,設定自訂工作階段時間長度。工作階段持續時間必須介於 15 分鐘 (900 秒) 至 12 小時 (43,200 秒) 之間。

描述集區

gcloud

如要使用 gcloud CLI 說明特定工作人員集區,請執行下列指令:

gcloud iam workforce-pools describe WORKFORCE_POOL_ID \
    --location=global

WORKFORCE_POOL_ID 替換為您在建立集區時選擇的工作團隊集區 ID。

控制台

如要使用 Google Cloud 控制台說明特定工作人員集區,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在「工作團隊集區」中選取集區

列出集區

gcloud

如要列出機構中的工作站集區,請執行下列指令:

gcloud iam workforce-pools list \
    --organization=ORGANIZATION_ID \
    --location=global

請將 ORGANIZATION_ID 替換成組織 ID。

控制台

如要使用 Google Cloud 控制台列出工作人員集區,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在表格中查看集區清單。

更新集區

gcloud

如要更新特定工作人員集區,請執行下列指令:

gcloud iam workforce-pools update WORKFORCE_POOL_ID \
    --description=DESCRIPTION \
    --location=global

更改下列內容:

  • WORKFORCE_POOL_ID:工作團隊集區 ID
  • DESCRIPTION:集區說明

控制台

如要使用 Google Cloud 控制台更新特定工作人員集區,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在表格中選取集區。

  3. 更新集區參數。

  4. 按一下「Save Pool」(儲存集區)

刪除集區

gcloud

如要刪除員工身分識別集區,請執行下列指令:

gcloud iam workforce-pools delete WORKFORCE_POOL_ID \
    --location=global

WORKFORCE_POOL_ID 替換為員工集區 ID。

控制台

如要使用 Google Cloud 控制台刪除特定工作站集區,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在「Workforce pools」(工作人員集區) 中,按一下要刪除集區的 「Delete」(刪除)

  3. 按照其他指示操作。

取消刪除集區

您只能取消刪除過去 30 天內刪除的工作團隊身分集區。

如要取消刪除集區,請執行下列指令:

gcloud iam workforce-pools undelete WORKFORCE_POOL_ID \
    --location=global

WORKFORCE_POOL_ID 替換為工作人員集區 ID。

在工作團隊集區中設定提供者

本節說明如何使用 gcloud 指令設定員工身分集區提供者:

建立 OIDC 提供者

本節說明如何為 OIDC IdP 建立工作團隊身分集區提供者。

gcloud

代碼流程

如要建立使用授權碼流程的 OIDC 提供者,以供網頁登入,請執行下列指令:

gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --issuer-uri="ISSUER_URI" \
    --client-id="OIDC_CLIENT_ID" \
--client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --detailed-audit-logging \ --location=global

取代下列項目:

  • WORKFORCE_PROVIDER_ID:工作團隊身分集區提供者專屬 ID。前置字串「gcp-」為預留字串,不得用於工作團隊身分集區或工作團隊身分集區提供者 ID。
  • WORKFORCE_POOL_ID:要連結 IdP 的員工身分集區 ID。
  • DISPLAY_NAME:供應商的選用易記顯示名稱,例如 idp-eu-employees
  • DESCRIPTION:員工供應商說明 (選填),例如 IdP for Partner Example Organization employees
  • ISSUER_URI:OIDC 核發者 URI,格式必須為有效的 URI,且開頭為 https,例如 https://example.com/oidc。注意:基於安全考量,ISSUER_URI 必須使用 HTTPS 通訊協定。
  • OIDC_CLIENT_ID:向 OIDC IdP 註冊的 OIDC 用戶端 ID;這個 ID 必須與 IdP 發行的 JWT 的 aud 聲明相符。
  • OIDC_CLIENT_SECRET:OIDC 用戶端密鑰。
  • WEB_SSO_ADDITIONAL_SCOPES:要傳送至 OIDC IdP 的選用額外範圍,適用於主控台 (聯合) 或 gcloud CLI 瀏覽器型登入。
  • ATTRIBUTE_MAPPING屬性對應。 以下是屬性對應的範例:
    google.subject=assertion.sub,
    google.groups=assertion.groups,
    attribute.costcenter=assertion.costcenter
    這個範例會將 OIDC 判斷中的 IdP 屬性 subjectgroupscostcenter 分別對應至 google.subjectgoogle.groupsattribute.costcenter 屬性。
  • ATTRIBUTE_CONDITION屬性條件,例如 assertion.role == 'gcp-users'。這個範例條件可確保只有具備 gcp-users 角色的使用者,才能使用這個供應商登入。
  • JWK_JSON_PATH本機上傳的 OIDC JWK 的選用路徑。 如果未提供這個參數, Google Cloud 會改用 IdP 的 /.well-known/openid-configuration 路徑,取得含有公開金鑰的 JWK。如要進一步瞭解本機上傳的 OIDC JWK,請參閱「管理 OIDC JWK」。
  • 員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分集區提供者設定問題。如要瞭解如何透過詳細稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」一文。

    如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,也可以更新供應商

在指令回應中,POOL_RESOURCE_NAME 是集區的名稱,例如 locations/global/workforcePools/enterprise-example-organization-employees

隱含流程

如要建立使用隱含流程的 OIDC 工作團隊身分識別集區提供者,以供網頁登入,請執行下列指令:

gcloud iam workforce-pools providers create-oidc WORKFORCE_PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --issuer-uri="ISSUER_URI" \
    --client-id="OIDC_CLIENT_ID" \
    --web-sso-response-type="id-token" \
    --web-sso-assertion-claims-behavior="only-id-token-claims" \
    --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \
    --attribute-mapping="ATTRIBUTE_MAPPING" \
    --attribute-condition="ATTRIBUTE_CONDITION" \
    --jwk-json-path="JWK_JSON_PATH" \
    --detailed-audit-logging \
    --location=global

取代下列項目:

  • WORKFORCE_PROVIDER_ID:工作團隊身分集區提供者專屬 ID。前置字串「gcp-」為預留字串,不得用於工作團隊身分集區或工作團隊身分集區提供者 ID。
  • WORKFORCE_POOL_ID:要連結 IdP 的員工身分集區 ID。
  • DISPLAY_NAME:供應商的選用易記顯示名稱,例如 idp-eu-employees
  • DESCRIPTION:員工供應商說明 (選填),例如 IdP for Partner Example Organization employees
  • ISSUER_URI:OIDC 核發者 URI,格式必須為有效的 URI,且開頭為 https,例如 https://example.com/oidc。注意:基於安全考量,ISSUER_URI 必須使用 HTTPS 通訊協定。
  • OIDC_CLIENT_ID:向 OIDC IdP 註冊的 OIDC 用戶端 ID;這個 ID 必須與 IdP 發行的 JWT 的 aud 聲明相符。
  • WEB_SSO_ADDITIONAL_SCOPES:要傳送至 OIDC IdP 的選用額外範圍,適用於主控台 (聯合) 或 gcloud CLI 瀏覽器型登入。
  • ATTRIBUTE_MAPPING屬性對應。 以下是屬性對應的範例:
    google.subject=assertion.sub,
    google.groups=assertion.groups,
    attribute.costcenter=assertion.costcenter
    這個範例會將 OIDC 判斷中的 IdP 屬性 subjectgroupscostcenter 分別對應至 google.subjectgoogle.groupsattribute.costcenter 屬性。
  • ATTRIBUTE_CONDITION屬性條件,例如 assertion.role == 'gcp-users'。這個範例條件可確保只有具備 gcp-users 角色的使用者,才能使用這個供應商登入。
  • JWK_JSON_PATH本機上傳的 OIDC JWK 的選用路徑。 如果未提供這個參數, Google Cloud 會改用 IdP 的 /.well-known/openid-configuration 路徑,取得含有公開金鑰的 JWK。如要進一步瞭解本機上傳的 OIDC JWK,請參閱「管理 OIDC JWK」。
  • 員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分集區提供者設定問題。如要瞭解如何透過詳細稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」一文。

    如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,也可以更新供應商

在指令回應中,POOL_RESOURCE_NAME 是集區的名稱,例如 locations/global/workforcePools/enterprise-example-organization-employees

控制台

代碼流程

  1. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。

  3. 在「供應商」部分中,按一下「新增供應商」

  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

    如果您的 IdP 未列在清單中,請選取「一般身分識別提供者」

  5. 在「選取驗證通訊協定」中,選取「OpenID Connect (OIDC)」

  6. 在「建立供應商」部分中,執行下列操作:

    1. 在「名稱」中,輸入供應商的名稱。
    2. 在「說明」中,輸入提供者的說明。
    3. 在「核發者 (網址)」中輸入核發者 URI。OIDC 核發者 URI 必須採用有效的 URI 格式,且開頭為 https,例如 https://example.com/oidc
    4. 在「用戶端 ID」中,輸入向 OIDC IdP 註冊的 OIDC 用戶端 ID;這個 ID 必須與 IdP 發行的 JWT 的 aud 聲明相符。
    5. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。

    6. 按一下「繼續」
  7. 在「Share your provider information with IdP」(與 IdP 分享提供者資訊) 部分,複製網址。 在 IdP 中,將這個網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。

  8. 按一下「繼續」

  9. 在「設定 OIDC 網頁登入功能」部分,完成下列步驟:

    1. 在「流程類型」清單中,選取「程式碼」
    2. 在「Assertion claims behavior」(聲明主張行為) 清單中,選取下列任一選項:

      • 使用者資訊和 ID 權杖
      • 僅限 ID 權杖
    3. 在「用戶端密鑰」欄位中,輸入 IdP 的用戶端密鑰。

    4. 選用:如果您選取 Okta 做為 IdP,請在「openid、profile 和 email 以外的額外範圍」欄位中,新增任何額外 OIDC 範圍。

  10. 按一下「繼續」

  11. 在「設定供應商」中,您可以設定屬性對應和屬性條件。如要建立屬性對應,請按照下列步驟操作。您可以提供 IdP 欄位名稱,也可以提供傳回字串的 CEL 格式運算式。

    1. 必要:在「OIDC 1」中,輸入 IdP 的主體,例如 assertion.sub

    2. 選用:如要新增其他屬性對應,請按照下列步驟操作:

      1. 按一下 [新增對應]
      2. 在「Google n」(其中 n 是數字) 中,輸入其中一個Google Cloud支援的按鍵
      3. 在對應的「OIDC n欄位中,以 CEL 格式輸入要對應的 IdP 特定欄位名稱。
    3. 如果您選取 Microsoft Entra ID 做為 IdP,可以增加群組數量。

      1. 選取「使用額外的屬性」
      2. 在「額外屬性核發者 URI」欄位中,輸入核發者網址。
      3. 在「Extra Attributes Client ID」(額外屬性用戶端 ID) 欄位中,輸入用戶端 ID。
      4. 在「Extra Attributes Client Secret」(額外屬性用戶端密鑰) 欄位中,輸入用戶端密鑰。
      5. 在「額外屬性類型」清單中,選取額外屬性的屬性類型。
      6. 在「額外屬性篩選器」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
    4. 如要建立屬性條件,請按照下列步驟操作:

      1. 按一下「新增條件」
      2. 在「屬性條件」欄位中,以 CEL 格式輸入條件,例如 assertion.role == 'gcp-users'。這個範例條件可確保只有具備 gcp-users 角色的使用者,才能透過這個供應商登入。
    5. 如要啟用詳細稽核記錄,請在「詳細記錄」中,點選「啟用屬性值稽核記錄」切換鈕。

      員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分集區提供者設定問題。如要瞭解如何透過詳細稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」一文。

      如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,也可以更新供應商

  12. 如要建立提供者,請按一下「提交」

隱含流程

  1. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。

  3. 在「供應商」部分中,按一下「 新增供應商」

  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

    如果您的 IdP 未列在清單中,請選取「一般身分識別提供者」

  5. 在「選取驗證通訊協定」中,選取「OpenID Connect (OIDC)」

  6. 在「建立供應商」部分中,執行下列操作:

    1. 在「名稱」中,輸入供應商的名稱。
    2. 在「說明」中,輸入提供者的說明。
    3. 在「核發者 (網址)」中輸入核發者 URI。OIDC 核發者 URI 必須採用有效的 URI 格式,且開頭為 https,例如 https://example.com/oidc
    4. 在「用戶端 ID」中,輸入向 OIDC IdP 註冊的 OIDC 用戶端 ID;這個 ID 必須與 IdP 發行的 JWT 的 aud 聲明相符。
    5. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。
    6. 按一下「繼續」
  7. 在「Share your provider information with IdP」(與 IdP 分享提供者資訊) 部分,複製網址。 在 IdP 中,將這個網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。

  8. 按一下「繼續」

  9. 在「設定 OIDC 網頁登入功能」部分,完成下列步驟:

    1. 在「Flow type」(流程類型) 清單中,選取「ID Token」(ID 權杖)

    2. 在「Assertion claims behavior」(斷言聲明行為) 清單中,選取「ID token」(ID 權杖)

    3. 選用:如果您選取 Okta 做為 IdP,請在「openid、profile 和 email 以外的額外範圍」欄位中,新增任何額外 OIDC 範圍。

  10. 按一下「繼續」

  11. 在「設定供應商」中,您可以設定屬性對應和屬性條件。如要建立屬性對應,請按照下列步驟操作。您可以提供 IdP 欄位名稱,也可以提供傳回字串的 CEL 格式運算式。

    1. 必要:在「OIDC 1」中,輸入 IdP 的主體,例如 assertion.sub

    2. 選用:如要新增其他屬性對應,請按照下列步驟操作:

      1. 按一下 [新增對應]
      2. 在「Google n」(其中 n 是數字) 中,輸入其中一個Google Cloud支援的按鍵
      3. 在對應的「OIDC n欄位中,以 CEL 格式輸入要對應的 IdP 特定欄位名稱。
    3. 如果您選取 Microsoft Entra ID 做為 IdP,可以增加群組數量。

      1. 選取「使用額外的屬性」
      2. 在「額外屬性核發者 URI」欄位中,輸入核發者網址。
      3. 在「Extra Attributes Client ID」(額外屬性用戶端 ID) 欄位中,輸入用戶端 ID。
      4. 在「Extra Attributes Client Secret」(額外屬性用戶端密鑰) 欄位中,輸入用戶端密鑰。
      5. 在「額外屬性類型」清單中,選取額外屬性的屬性類型。
      6. 在「額外屬性篩選器」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
    4. 如要建立屬性條件,請按照下列步驟操作:

      1. 按一下「新增條件」
      2. 在「屬性條件」欄位中,以 CEL 格式輸入條件,例如 assertion.role == 'gcp-users'。這個範例條件可確保只有具備 gcp-users 角色的使用者,才能透過這個供應商登入。
    5. 如要啟用詳細稽核記錄,請在「詳細記錄」中,點選「啟用屬性值稽核記錄」切換鈕。

      員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分集區提供者設定問題。如要瞭解如何透過詳細稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」一文。

      如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,也可以更新供應商

  12. 如要建立提供者,請按一下「提交」

建立 SAML 提供者

本節說明如何為 SAML IdP 建立工作團隊身分集區供應商。

gcloud

如要建立供應商,請執行下列指令:

gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
    --workforce-pool="WORKFORCE_POOL_ID" \
    --attribute-mapping="ATTRIBUTE_MAPPING" \
    --attribute-condition="ATTRIBUTE_CONDITION" \
    --idp-metadata-path="XML_METADATA_PATH" \
    --detailed-audit-logging \
    --location="global"

更改下列內容:

  • WORKFORCE_PROVIDER_ID:工作團隊提供者 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID
  • ATTRIBUTE_MAPPING屬性對應; 舉例來說,如要對應主旨,屬性對應如下:

    
    google.subject=assertion.subject,
    google.groups=assertion.attributes['https://example.com/aliases'],
    attribute.department=assertion.attributes.department[0]
    
  • ATTRIBUTE_CONDITION:選用的屬性條件,例如 assertion.subject.endsWith("@example.com")

  • XML_METADATA_PATH:IdP 的 XML 格式中繼資料檔案路徑

前置字串「gcp-」為預留字串,不得用於工作團隊身分集區或工作團隊身分集區提供者 ID。

這項指令會將 SAML 判斷中的主體和部門分別指派給 google.subjectattribute.department 屬性。此外,屬性條件可確保只有主體結尾為 @example.com 的使用者,才能使用這個員工身分提供者登入。

員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分集區提供者設定問題。如要瞭解如何透過詳細稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」一文。

如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,也可以更新供應商

控制台

如要使用 Google Cloud 控制台設定 SAML 提供者,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

    前往「Workforce Identity Pools」(員工身分集區) 頁面

  2. 在「Workforce Identity Pools」(工作團隊身分集區) 表格中,選取要建立提供者的集區。

  3. 在「供應商」部分中,按一下「新增供應商」

  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

    如果清單中沒有您的 IdP,請選取「Generic Identity Provider」(一般身分識別提供者)

  5. 在「選取驗證通訊協定」中,選取「SAML」

  6. 在「建立供應商」部分中,執行下列操作:

    1. 在「名稱」部分,輸入供應商名稱。

    2. 選用:在「Description」(說明) 中輸入供應商說明。

    3. 在「IdP 中繼資料檔案 (XML)」中,選取您在本指南稍早產生的中繼資料 XML 檔案。

    4. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。

    5. 按一下「繼續」

  7. 在「Share your provider information」部分,複製網址。 在 IdP 中,將第一個網址設為實體 ID,向 IdP 識別您的應用程式。 將其他網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。

  8. 按一下「繼續」

  9. 在「設定供應商」部分,完成下列步驟:

    1. 在「屬性對應」中,輸入 google.subject 的 CEL 運算式。

    2. 選用:如要輸入其他對應,請按一下「新增對應」,然後輸入其他對應,例如:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      這個範例會將 IdP 屬性 assertion.subjectassertion.attributes['https://example.com/aliases']assertion.attributes.costcenter[0] 分別對應至 Google Cloud屬性 google.subjectgoogle.groupsgoogle.costcenter

    3. 如果您選取 Microsoft Entra ID 做為 IdP,可以透過下列方式增加群組數量:

      1. 選取「使用額外的屬性」
      2. 在「額外屬性核發者 URI」欄位中,輸入核發者網址。
      3. 在「Extra Attributes Client ID」(額外屬性用戶端 ID) 欄位中,輸入用戶端 ID。
      4. 在「Extra Attributes Client Secret」(額外屬性用戶端密鑰) 欄位中,輸入用戶端密鑰。
      5. 在「額外屬性類型」清單中,選取額外屬性的屬性類型。
      6. 在「額外屬性篩選器」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
    4. 選用:如要新增屬性條件,請按一下「新增條件」,然後輸入代表屬性條件的 CEL 運算式。舉例來說,如要將 ipaddr 屬性限制在特定 IP 範圍內,可以設定 assertion.attributes.ipaddr.startsWith('98.11.12.') 條件。這個範例條件可確保只有 IP 位址開頭為 98.11.12. 的使用者,才能使用這個員工身分提供者登入。

    5. 按一下「繼續」

    6. 如要啟用詳細稽核記錄,請在「詳細記錄」中,點選「啟用屬性值稽核記錄」切換鈕。

      員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 Cloud Logging。詳細稽核記錄有助於排解工作團隊身分集區提供者設定問題。如要瞭解如何透過詳細稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」一文。

      如要停用工作團隊身分集區提供者的詳細稽核記錄功能,請在執行 gcloud iam workforce-pools providers create 時省略 --detailed-audit-logging 旗標。如要停用詳細稽核記錄,也可以更新供應商

  10. 如要建立提供者,請按一下「提交」

描述提供者

gcloud

如要描述供應商,請執行下列指令:

gcloud iam workforce-pools providers describe PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global

更改下列內容:

  • PROVIDER_ID:供應商 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID

控制台

如要查看供應商,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

前往「Workforce Identity Pools」(員工身分集區) 頁面

  1. 在表格中,選取要查看供應商的集區。

  2. 在「供應商」表格中選取供應商。

列出供應商

gcloud

如要列出供應商,請執行下列指令:

gcloud iam workforce-pools providers list \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global

WORKFORCE_POOL_ID 替換為員工集區 ID。

控制台

如要查看供應商,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

前往「Workforce Identity Pools」(員工身分集區) 頁面

  1. 在表格中,選取要列出供應商的集區。

  2. 「供應商」表格會列出供應商清單。

更新供應商

gcloud

如要在建立後更新 OIDC 供應商,請執行下列指令:

gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --description="DESCRIPTION" \
    --detailed-audit-logging \
    --location=global

更改下列內容:

  • PROVIDER_ID:供應商 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID
  • DESCRIPTION:說明
  • 如要啟用詳細稽核記錄,請將 --detailed-audit-logging 旗標新增至 gcloud iam workforce-pools providers update。如要停用詳細稽核記錄,請在更新指令中加入 --no-detailed-audit-logging 旗標。

控制台

如要查看供應商,請按照下列步驟操作:

  1. 前往「Workforce Identity Pools」(員工身分集區) 頁面:

前往「Workforce Identity Pools」(員工身分集區) 頁面

  1. 在表格中,選取要查看供應商的集區。

  2. 在「供應商」表格中,按一下「編輯」

  3. 更新供應商。

  4. 如要儲存更新後的供應商,請按一下「儲存」

刪除供應商

如要刪除供應商,請執行下列指令:

gcloud iam workforce-pools providers delete PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global

更改下列內容:

  • PROVIDER_ID:供應商 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID

取消刪除供應商

如要取消刪除過去 30 天內刪除的供應商,請執行下列指令:

gcloud iam workforce-pools providers undelete PROVIDER_ID \
    --workforce-pool=WORKFORCE_POOL_ID \
    --location=global

更改下列內容:

  • PROVIDER_ID:供應商 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID

管理 OIDC JWK

本節說明如何在員工集區供應商中管理 OIDC JWK。

建立供應商並上傳 OIDC JWK

如要建立 OIDC JWK,請參閱 JWT、JWS、JWE、JWK 和 JWA 實作

如要在建立工作團隊集區提供者時上傳 OIDC JWK 檔案,請執行 gcloud iam workforce-pools providers create-oidc 指令,並使用 --jwk-json-path="JWK_JSON_PATH"。將 JWK_JSON_PATH 改成 JWKs JSON 檔案的路徑。

這項作業會上傳檔案中的金鑰。

更新 OIDC JWK

如要更新 OIDC JWK,請執行 gcloud iam workforce-pools providers update-oidc 指令,並使用 --jwk-json-path="JWK_JSON_PATH"。將 JWK_JSON_PATH 替換成 JWKs JSON 檔案的路徑。

這項作業會將所有現有上傳的金鑰,替換為檔案中的金鑰。

刪除所有上傳的 OIDC JWK

如要刪除所有已上傳的 OIDC JWK,並改用簽發者 URI 擷取金鑰,請執行 gcloud iam workforce-pools providers update-oidc 指令,並加上 --jwk-json-path="JWK_JSON_PATH"。將 JWK_JSON_PATH 替換為空白檔案的路徑。 使用 --issuer-uri 旗標設定簽發者 URI。

這項操作會刪除所有現有上傳的金鑰。

後續步驟