管理員工身分集區提供者

Workforce Identity Federation 可讓您將外部身分識別提供者 (IdP) 連結至Google Cloud ,以便驗證員工身分及授予資源存取權。隨著目錄演進,您可以更新集區和供應商,修改 IdP 設定、調整屬性對應和條件,以及管理本機上傳的 OpenID Connect (OIDC) JSON Web Key (JWK)。

如要先設定聯盟,再管理集區和提供者,請使用 Microsoft Entra ID、Okta 或支援 OIDC 或 SAML 的 IdP 設定員工身分聯盟。

事前準備

  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 在 Google Cloud的所有員工身分集區中不得重複。如要瞭解如何設定 ID 格式,請參閱 API 說明文件的「查詢參數」一節。
  • ORGANIZATION_ID:員工身分集區所屬 Google Cloud 組織的數字 ID。員工身分集區適用於組織中的所有專案和資料夾。
  • 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. 選取員工身分集區所屬的組織。員工身分集區適用於組織中的所有專案和資料夾。

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

    1. 在「Name」(名稱) 欄位中,輸入集區的顯示名稱。系統會根據您輸入的名稱自動衍生集區 ID,並顯示在「Name」(名稱) 欄位下方。如要更新集區 ID,請按一下集區 ID 旁的「Edit」(編輯)。

    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. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

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

  2. 在「Workforce pools」(工作團隊集區) 中選取集區。

    Google Cloud 控制台會顯示集區的詳細資料,包括 ID、說明、狀態、Identity and Access Management (IAM) 主體、記錄和設定的提供者。

列出集區

gcloud

如要列出組織中的工作團隊集區,請執行下列指令:

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

請將 ORGANIZATION_ID 替換成組織 ID。

控制台

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

  1. 前往 Google Cloud 控制台的「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. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

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

  2. 在表格中選取集區。

  3. 按一下「Edit」(編輯) 圖示 ,更新集區參數,然後按一下「Save」(儲存)。

刪除集區

gcloud

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

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

將 WORKFORCE_POOL_ID 替換為工作團隊集區 ID。

控制台

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

  1. 前往 Google Cloud 控制台的「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 CLI 和 Google Cloud 控制台,設定員工身分集區提供者。

建立 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,格式須有效且開頭為 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.oid
    google.groups=assertion.groups,
    attribute.costcenter=assertion.costcenter
    這個範例會將 OIDC 聲明中的 IdP 屬性 assertion.oid、assertion.groups 和 assertion.costcenter,分別對應至 Google Cloud 屬性 google.subject、google.groups 和 attribute.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 收到的資訊記錄到 Logging。詳細的稽核記錄可協助您排解員工身分集區提供者設定問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。

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

--web-sso-assertion-claims-behavior 旗標可控管 OIDC 宣告如何納入用於屬性對應和屬性條件的 assertion 物件。如果是授權碼流程 (--web-sso-response-type="code"),您可以將這個旗標設為下列其中一個值:

  • merge-user-info-over-id-token-claims:將 OIDC UserInfo 端點的憑證資訊與 ID 權杖的憑證資訊合併。如果兩者包含相同的憑證資訊名稱,系統會優先採用 UserInfo 憑證資訊值。如果 IdP 從 UserInfo 端點傳回額外的使用者屬性或群組權杖附加資訊,請使用這個值。
  • only-id-token-claims:僅包含 ID 權杖中的要求。 如果 ID 權杖中已包含屬性對應和條件所需的所有要求,請使用這個值。
在指令回應中,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,格式須有效且開頭為 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.oid
    google.groups=assertion.groups,
    attribute.costcenter=assertion.costcenter
    這個範例會將 OIDC 聲明中的 IdP 屬性 assertion.oid、assertion.groups 和 assertion.costcenter 分別對應至 Google Cloud 屬性 google.subject、google.groups 和 attribute.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 收到的資訊記錄到 Logging。詳細的稽核記錄可協助您排解員工身分集區提供者設定問題。如要瞭解如何透過詳細的稽核記錄排解屬性對應錯誤,請參閱「一般屬性對應錯誤」。如要瞭解 Logging 定價,請參閱「Google Cloud Observability 定價」。

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

如果是隱含流程 (--web-sso-response-type="id-token"),您必須將 --web-sso-assertion-claims-behavior 旗標設為 only-id-token-claims,這只會包含 assertion 物件中 ID 權杖的聲明。隱含流程不支援 merge-user-info-over-id-token-claims 值。

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

控制台

代碼流程

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

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

  2. 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。
  3. 在「Providers」部分,按一下「 Add Provider」。
  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

    如果清單中沒有您的 IdP,請選取「Generic Identity Provider」。

  5. 在「選取驗證通訊協定」部分,選取「OpenID Connect (OIDC)」。
  6. 在「Create a provider」(建立提供者) 部分,執行下列操作:
    1. 在「Name」中輸入供應商名稱。
    2. 在「Description」(說明) 中,輸入提供者的說明。
    3. 在「Issuer (URL)」中輸入核發者 URI。OIDC 核發者 URI 必須採用有效的 URI 格式,並以 https 開頭,例如 https://example.com/oidc。
    4. 在「Client ID」(用戶端 ID) 中,輸入向 OIDC IdP 註冊的 OIDC 用戶端 ID;該 ID 必須與 IdP 核發的 JWT aud 宣告相符。
    5. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。
    6. 按一下「繼續」。
  7. 在「與 IdP 分享提供者資訊」部分,複製網址。在 IdP 中,將這個網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。
  8. 按一下「繼續」。
  9. 在「Configure OIDC Web Sign-in」(設定 OIDC 網頁登入功能) 部分,執行下列操作:
    1. 在「Flow type」(流程類型) 清單中,選取「Code」(程式碼)。
    2. 在「Assertion claims behavior」(斷言宣告行為) 清單中,選取下列其中一個選項:
      • 使用者資訊和 ID 權杖:合併 UserInfo 端點和 ID 權杖的聲明,並優先採用相同聲明名稱的 UserInfo 聲明值。如果 IdP 從 UserInfo 端點傳回額外使用者屬性或群組憑證附加資訊,請選取這個選項。
      • 僅限 ID 權杖:僅包含 ID 權杖中的要求。如果屬性對應和條件所需的所有要求都已存在於 ID 權杖中,請選取這個選項。
    3. 在「Client secret」(用戶端密鑰) 欄位中,輸入 IdP 的用戶端密鑰。
    4. 選用:如果您選取「Okta」做為 IdP,請在「openid、profile 和 email 以外的額外範圍」欄位中新增任何額外的 OIDC 範圍。
  10. 按一下「繼續」。
  11. 在「Configure provider」(設定供應商) 部分,按一下「Detailed logging」(詳細記錄) 下方的「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕。

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

    如要停用工作團隊身分集區提供者的詳細稽核記錄,請在建立提供者時,將「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕設為關閉。如要停用詳細稽核記錄,您也可以更新供應商。

  12. 按一下「Submit」(提交),建立提供者。

建立供應商後,系統會將您重新導向至供應商屬性頁面。

如要設定屬性對應和條件,請按照下列步驟操作:

  1. 系統提示時,請登入外部 IdP,驗證預設屬性對應。
  2. 在提供者屬性頁面,查看及編輯屬性對應和條件:
    1. 如要新增或編輯屬性對應,請按照下列步驟操作:
      1. 按一下「Add mapping」(新增對應) 新增對應,或編輯現有對應。
      2. 在「Google n」欄位中 (n 為數字), 選取 Google Cloud支援的金鑰。
      3. 在對應的「OIDC n」欄位中,輸入 IdP 屬性名稱或 CEL 運算式。
    2. 如要新增屬性條件,請按照下列步驟操作:
      1. 按一下「新增條件」。
      2. 在「Attribute Conditions」(屬性條件) 欄位中,以 CEL 格式輸入條件,例如 assertion.role == 'gcp-users'。這個範例條件可確保只有具備 gcp-users 角色的使用者,才能透過這個提供者登入。
  3. 如要驗證對應,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
  4. 按一下「儲存並結束」,完成設定。

隱含流程

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

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

  2. 在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。
  3. 在「Providers」(提供者) 專區,按一下「 Add Provider」(新增提供者)。
  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

    如果清單中沒有您的 IdP,請選取「Generic Identity Provider」。

  5. 在「選取驗證通訊協定」部分,選取「OpenID Connect (OIDC)」。
  6. 在「Create a provider」(建立提供者) 部分,執行下列操作:
    1. 在「Name」中輸入供應商名稱。
    2. 在「Description」(說明) 中,輸入提供者的說明。
    3. 在「Issuer (URL)」中輸入核發者 URI。OIDC 核發者 URI 必須採用有效的 URI 格式,並以 https 開頭,例如 https://example.com/oidc。
    4. 在「Client ID」(用戶端 ID) 中,輸入向 OIDC IdP 註冊的 OIDC 用戶端 ID;該 ID 必須與 IdP 核發的 JWT aud 宣告相符。
    5. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。
    6. 按一下「繼續」。
  7. 在「與 IdP 分享提供者資訊」部分,複製網址。在 IdP 中,將這個網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。
  8. 按一下「繼續」。
  9. 在「Configure OIDC Web Sign-in」(設定 OIDC 網頁登入功能) 部分,執行下列操作:
    1. 在「Flow type」(流程類型) 清單中,選取「ID Token」(ID 權杖)。
    2. 在「Assertion claims behavior」(斷言宣告行為) 清單中,選取「ID token」(ID 權杖)。
    3. 選用:如果您選取「Okta」做為 IdP,請在「Additional scopes beyond openid, profile, and email」(openid、profile 和 email 以外的額外範圍) 欄位中新增任何額外的 OIDC 範圍。
  10. 按一下「繼續」。
  11. 在「Configure provider」(設定供應商) 部分,按一下「Detailed logging」(詳細記錄) 中的「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕。

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

    如要停用工作團隊身分集區提供者的詳細稽核記錄,請在建立提供者時,將「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕設為關閉。如要停用詳細稽核記錄,您也可以更新供應商。

  12. 按一下「Submit」(提交),建立提供者。

建立供應商後,系統會將您重新導向至供應商屬性頁面。

如要設定屬性對應和條件,請按照下列步驟操作:

  1. 系統提示時,請登入外部 IdP,驗證預設屬性對應。
  2. 在提供者屬性頁面,查看及編輯屬性對應和條件:
    1. 如要新增或編輯屬性對應,請按照下列步驟操作:
      1. 按一下「Add mapping」(新增對應) 新增對應,或編輯現有對應。
      2. 在「Google n」欄位中 (n 為數字), 選取 Google Cloud支援的金鑰。
      3. 在對應的「OIDC n」欄位中,輸入 IdP 屬性名稱或 CEL 運算式。
    2. 如要新增屬性條件,請按照下列步驟操作:
      1. 按一下「新增條件」。
      2. 在「Attribute Conditions」(屬性條件) 欄位中,以 CEL 格式輸入條件,例如 assertion.role == 'gcp-users'。這個範例條件可確保只有具備 gcp-users 角色的使用者,才能透過這個提供者登入。
  3. 如要驗證對應,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
  4. 按一下「儲存並結束」,完成設定。

建立 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.subject 和 attribute.department 屬性。此外,屬性條件可確保只有主體結尾為 @example.com 的使用者,才能透過這個工作團隊提供者登入。

員工身分聯盟詳細稽核記錄會將從 IdP 收到的資訊記錄到 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. 在「Providers」部分,按一下「 Add Provider」。
  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

    如果清單中沒有您的 IdP,請選取「Generic Identity Provider」。

  5. 在「選取驗證通訊協定」中,選取「SAML」。
  6. 在「Create a provider」(建立提供者) 部分,執行下列操作:
    1. 在「Name」部分,輸入供應商名稱。
    2. 選用:在「Description」(說明) 中輸入供應商說明。
    3. 在「IdP metadata file (XML)」中,選取您先前按照本指南產生的中繼資料 XML 檔案。
    4. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。
    5. 按一下「繼續」。
  7. 在「Share your provider information」(分享供應商資訊) 部分,複製網址。在 IdP 中,將第一個網址設為實體 ID,用於向 IdP 識別應用程式。將另一個網址設為重新導向 URI,讓 IdP 知道登入後要將斷言權杖傳送至何處。
  8. 按一下「繼續」。
  9. 在「Configure provider」(設定供應商) 部分的「Detailed logging」(詳細記錄) 中,按一下「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕。

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

    如要停用工作團隊身分集區提供者的詳細稽核記錄,請在建立提供者時,將「Enable attribute value audit logging」(啟用屬性值稽核記錄) 切換鈕設為關閉。如要停用詳細稽核記錄,您也可以更新供應商。

  10. 按一下「Submit」(提交),建立提供者。

建立供應商後,系統會將您重新導向至供應商屬性頁面。

如要設定屬性對應和條件,請按照下列步驟操作:

  1. 系統提示時,請登入外部 IdP,驗證預設屬性對應。
  2. 在提供者屬性頁面,查看及編輯屬性對應和條件:
    1. 如要新增或編輯屬性對應,請按照下列步驟操作:
      1. 按一下「新增對應」即可新增對應,或編輯現有對應。
      2. 在「Google n」欄位中 (n 為數字), 選取 Google Cloud 支援的金鑰。
      3. 在對應的「SAML n」欄位中, 輸入 IdP 屬性名稱或 CEL 運算式,例如:
        google.subject=assertion.subject
        attribute.costcenter=assertion.attributes.costcenter[0]
        這個範例會將 assertion.subject IdP 屬性對應至 google.subject,並將 assertion.attributes.costcenter[0] IdP 屬性對應至 attribute.costcenter。
    2. 如要新增屬性條件,請按照下列步驟操作:
      1. 按一下「新增條件」。
      2. 在「Attribute Conditions」(屬性條件) 欄位中,以 CEL 格式輸入條件,例如: 舉例來說,如要將 ipaddr 屬性限制在特定 IP 範圍,可以設定 assertion.attributes.ipaddr.startsWith('98.11.12.') 條件。這個範例條件可確保只有 IP 位址開頭為 98.11.12. 的使用者,才能透過這個工作團隊提供者登入。
  3. 如要驗證對應,請按一下「Save and refetch token」(儲存並重新擷取權杖)。
  4. 按一下「儲存並結束」,完成設定。

查看供應商詳細資料

gcloud

如要查看供應商的詳細資料,請執行下列指令:

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

更改下列內容:

  • PROVIDER_ID:提供者 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID

控制台

如要查看提供者的詳細資料,並驗證其權杖屬性對應,請按照下列步驟操作:

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

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

  2. 在表格中,選取要查看提供者的集區。

  3. 在「Providers」(供應商) 表格中,選取供應商。

    「Provider details」(供應商詳細資料) 窗格隨即開啟,並顯示供應商的設定和「Attributes」(屬性) 摘要。

  4. 選用:如要檢查已啟用提供者的評估聲明、屬性對應和 Microsoft Entra ID 的 Entra ID 額外屬性,請按一下「Debug IdP token」(偵錯 IdP 權杖),然後在系統提示時登入外部 IdP。

列出供應商

gcloud

如要列出提供者,請執行下列指令:

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

將 WORKFORCE_POOL_ID 替換為工作團隊集區 ID。

控制台

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

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

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

  2. 在表格中,選取要列出提供者的集區。

  3. 在「Providers」(供應商) 表格中,查看供應商清單。

更新提供者

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. 前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:

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

  2. 在表格中,選取要更新供應商的集區。

  3. 在「Providers」(供應商) 表格中,按一下要更新的供應商旁邊的 「Edit provider」(編輯供應商)。

  4. 更新供應商的顯示名稱、說明、狀態或 OIDC 設定,例如「Issuer (URL)」(核發者 (網址))、「Client ID」(用戶端 ID)、「Response type」(回應類型) 或用戶端密鑰 (按一下「Edit client secret」(編輯用戶端密鑰)),然後按一下「Save」(儲存)。

  5. 選用:如要查看或編輯屬性對應和條件,請按照下列步驟操作:

    1. 在「Provider attributes」(供應商屬性) 部分,按一下「Configure attributes」(設定屬性)。

    2. 系統提示時,請登入外部 IdP。

    3. 在提供者屬性頁面,查看及編輯對應、額外屬性或條件:

      • 如要新增或編輯對應,請按一下「Add mapping」(新增對應),然後輸入鍵和值。詳情請參閱「屬性對應」。

      • 如要新增或編輯條件,請按一下「Add condition」(新增條件),然後輸入 CEL 運算式。詳情請參閱屬性條件。

      如需完整操作說明,請參閱「設定員工身分聯盟」。

    4. 如要驗證對應關係,請按一下「Save and refetch token」(儲存並重新擷取權杖)。

    5. 如要完成更新,請按一下「儲存並結束」。

刪除提供者

gcloud

如要刪除提供者,請執行下列指令:

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

更改下列內容:

  • PROVIDER_ID:提供者 ID
  • WORKFORCE_POOL_ID:工作團隊集區 ID

控制台

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

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

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

  2. 在表格中,選取要刪除的供應商所在的集區。

  3. 在「Providers」(提供者) 表格中,按一下要刪除的提供者旁邊的 「Delete provider」(刪除提供者),然後按照確認提示操作。

取消刪除提供者

如要取消刪除過去 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 替換為 JWK JSON 檔案的路徑。

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

更新 OIDC JWK

如要更新 OIDC JWK,請使用 --jwk-json-path="JWK_JSON_PATH" 執行 gcloud iam workforce-pools providers update-oidc 指令。將 JWK_JSON_PATH 替換為 JWK 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。

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

後續步驟