管理員工身分集區提供者

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

事前準備

  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、說明、狀態、身分與存取權管理 (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. 按一下「編輯」,更新集區參數,然後按一下「儲存」。

刪除集區

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 的有效 URI,例如 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 收到的資訊記錄到 Cloud 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 的有效 URI,例如 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. 在「建立供應商」部分,執行下列操作:
    1. 在「名稱」中,輸入供應商名稱。
    2. 在「說明」中,輸入提供者的說明。
    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. 在「斷言聲明行為」清單中,選取下列任一選項:
      • 使用者資訊和 ID 權杖:合併 UserInfo 端點的聲明與 ID 權杖的聲明,並優先使用相同聲明名稱的 UserInfo 聲明值。如果 IdP 從 UserInfo 端點傳回額外使用者屬性或群組憑證附加資訊,請選取這個選項。
      • 僅限 ID 權杖:僅包含 ID 權杖中的宣告。如果屬性對應和條件所需的所有要求都已存在於 ID 權杖中,請選取這個選項。
    3. 在「Client secret」(用戶端密鑰) 欄位中,輸入 IdP 的用戶端密鑰。
    4. 選用:如果您選取「Okta」做為 IdP,請在「openid、profile 和 email 以外的額外範圍」欄位中新增任何額外的 OIDC 範圍。
  10. 按一下「繼續」。
  11. 在「設定供應商」部分,針對「詳細記錄」,按一下「啟用屬性值稽核記錄」切換鈕。

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

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

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

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

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

  1. 系統提示時,請登入外部 IdP,驗證預設屬性對應。
  2. 在提供者屬性頁面中,查看及編輯屬性對應和條件:
    1. 如要新增或編輯屬性對應,請按照下列步驟操作:
      1. 按一下「新增對應」新增對應,或編輯現有對應。
      2. 在「Google n」欄位中 (n 為數字),選取支援的按鍵 Google Cloud。
      3. 在對應的「OIDC n」欄位中,輸入 IdP 屬性名稱或 CEL 運算式。
    2. 如要新增屬性條件,請按照下列步驟操作:
      1. 按一下「新增條件」。
      2. 在「屬性條件」欄位中,以 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. 在「供應商」部分,按一下「 新增供應商」。
  4. 在「Select a Provider vendor」(選取提供者) 清單中,選取您的 IdP。

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

  5. 在「選取驗證通訊協定」中,選取「OpenID Connect (OIDC)」。
  6. 在「建立供應商」部分,執行下列操作:
    1. 在「名稱」中,輸入供應商名稱。
    2. 在「說明」中,輸入提供者的說明。
    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」欄位中新增任何額外的 OIDC 範圍。
  10. 按一下「繼續」。
  11. 在「設定供應商」部分的「詳細記錄」中,按一下「啟用屬性值稽核記錄」切換鈕。

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

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

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

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

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

  1. 系統提示時,請登入外部 IdP,驗證預設屬性對應。
  2. 在提供者屬性頁面中,查看及編輯屬性對應和條件:
    1. 如要新增或編輯屬性對應,請按照下列步驟操作:
      1. 按一下「新增對應」新增對應,或編輯現有對應。
      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. 在「建立供應商」部分,執行下列操作:
    1. 在「名稱」部分,輸入供應商名稱。
    2. 選用:在「Description」(說明) 中輸入供應商說明。
    3. 在「IdP metadata file (XML)」中,選取您先前按照本指南產生的中繼資料 XML 檔案。
    4. 如要建立已啟用的供應商,請確認「啟用供應商」已開啟。
    5. 按一下「繼續」。
  7. 在「Share your provider information」部分,複製網址。在 IdP 中,將第一個網址設為實體 ID,向 IdP 識別您的應用程式。將另一個網址設為重新導向 URI,讓 IdP 知道登入後要將斷言權杖傳送至何處。
  8. 按一下「繼續」。
  9. 在「設定供應商」部分的「詳細記錄」中, 按一下「啟用屬性值稽核記錄」切換鈕。

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

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

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

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

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

  1. 系統提示時,請登入外部 IdP,驗證預設屬性對應。
  2. 在提供者屬性頁面,查看及編輯屬性對應和條件:
    1. 如要新增或編輯屬性對應,請按照下列步驟操作:
      1. 按一下「Add mapping」(新增對應) 即可新增對應,或編輯現有對應。
      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. 如要驗證對應項目,請按一下「儲存並重新擷取權杖」。
  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. 在「供應商」表格中,選取供應商。

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

  4. 選用:如要檢查已啟用提供者的評估聲明、屬性對應和 Microsoft Entra ID 的 Entra ID 額外屬性,請按一下「Debug IdP token」,然後在系統提示時登入外部 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 設定,例如「核發者 (網址)」、「用戶端 ID」、「回應類型」或用戶端密鑰 (按一下「編輯用戶端密鑰」),然後按一下「儲存」。

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

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

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

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

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

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

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

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

    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 檔案,請使用 --jwk-json-path="JWK_JSON_PATH" 執行 gcloud iam workforce-pools providers create-oidc 指令。將 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 替換為 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。

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

後續步驟