設定第三方身分
本指南適用於 Google Security Operations 管理員,他們想使用第三方身分識別提供者 (IdP),在 Google SecOps 上驗證員工 (使用者和群組) 身分。您可以運用Google Cloud 員工身分聯盟完成這項程序。
員工身分聯盟支援使用安全宣告標記語言 (SAML 2.0) 或 OpenID Connect (OIDC) 的任何 IdP,例如 Okta、Microsoft Entra ID 和 Microsoft Active Directory Federation Services (AD FS)。
本文說明如何使用員工身分聯盟,透過以 SAML 為基礎的 IdP 設定驗證機制。
- 規劃所需資源。決定工作團隊身分集區和供應商詳細資料,並找出設定 Google SecOps 功能存取權所需的使用者屬性和群組。
- 設定第三方 IdP 應用程式。建立 IdP SAML 應用程式,與員工身分聯盟和 Google SecOps 整合。
- 設定員工身分聯盟。設定員工身分集區和供應商,並將 Google Cloud 身分與存取權管理 (IAM) 角色授予 IdP 群組和使用者。
- 使用新建立的供應商設定單一登入 (SSO)。
完成這些步驟後,您就能透過身分提供者登入 Google SecOps,並使用 IAM 透過功能角色式存取控管 (RBAC) 管理使用者存取權。
常見用途
Google SecOps 必須使用 Workforce Identity Federation 做為單一登入 (SSO) 中介服務,才能支援各種用途。
遵守嚴格的安全標準
- 目標:符合系統和雲端存取權的嚴格法規標準。
- 價值:安全地中介處理 SSO,協助符合 FedRAMP 高等風險 (或更高) 法規遵循要求。
管理企業存取控管
- 目標:集中控管整個機構的功能和資料存取權。
- 價值:透過 IAM 在 Google SecOps 中啟用企業級 RBAC。
自動執行 API 程式輔助存取
- 目標:提供自助式方法,安全地與 Chronicle API 互動。
- 價值:讓客戶以程式輔助方式管理憑證,減少手動管理負擔。
重要術語
- 員工集區:在機構層級定義的全域專屬 Google Cloud 資源,可授予員工 Google SecOps 的存取權。
- 工作團隊提供者:工作團隊身分集區的子資源,用於儲存單一外部 IdP 的設定詳細資料。
- 屬性對應:使用一般運算式語言 (CEL),將 IdP 提供的聲明屬性轉換為 Google Cloud 屬性的程序。
- 聲明消費者服務 (ACS) 網址:用於設定 SAML 應用程式與 Google SecOps 通訊的特定網址 (有時會視供應商而定,稱為單一登入網址)。
- 實體 ID:全域專屬 ID 網址,可識別特定應用程式或服務 (例如 Google SecOps),並在 IdP 中設定 SAML 應用程式。
流程總覽
Google SecOps 支援服務供應商啟動 (SP 啟動) 的 SAML 單一登入服務。使用者可透過這項功能直接前往 Google SecOps。 Google SecOps 會透過 IAM 員工身分聯盟向第三方 IdP 發出要求。
IdP 驗證使用者身分後,使用者會連回 Google SecOps,並提供驗證聲明。 Google Cloud 員工身分聯盟會在驗證流程中擔任中介角色。
Google SecOps、IAM 員工身分聯盟和 IdP 之間的通訊
大致來說,通訊方式如下:
- 使用者前往 Google SecOps。
- Google SecOps 會在工作團隊身分集區中查詢 IdP 資訊。 Google Cloud
- 系統會將要求傳送至 IdP。
- SAML 聲明會傳送至 Google Cloud 工作團隊身分集區。
- 如果驗證成功,Google SecOps 只會收到您在工作團隊身分集區中設定工作團隊提供者時定義的 SAML 屬性。
Google SecOps 管理員會在身分識別提供者中建立群組,設定 SAML 應用程式以在聲明中傳遞群組成員資訊,並將使用者和群組與 Google SecOps IAM 中的預先定義角色或他們建立的自訂角色建立關聯。
事前準備
- 熟悉 Cloud Shell、
gcloud指令和 Google Cloud 控制台。 - 設定 Google SecOps 專案 Google Cloud :設定要繫結至 Google SecOps 的專案。
- 查看 Google Cloud 員工身分聯盟。
- 請確認您具備執行本文步驟的權限。 如要瞭解加入程序各階段的必要權限,請參閱「必要角色」。
規劃實作程序
本節說明您必須做出的決定,以及在執行本文步驟前定義的資訊。
定義工作團隊身分集區和工作團隊提供者
如要透過 IdP 設定驗證,您必須在驗證流程中,將員工身分聯盟設定為中介服務。設定員工身分聯盟前,請先定義下列Google Cloud 資源:
員工身分集區、員工提供者和 Google SecOps 執行個體之間的關係 (以單一客戶子網域識別) 如下:
- 員工身分集區是在組織層級定義。
- 每個 Google SecOps 執行個體都已設定工作團隊身分集區,並與該集區建立關聯。
- 一個工作團隊身分集區可以有多個工作團隊提供者。
每個工作團隊提供者都會將第三方 IdP 與工作團隊身分集區整合。
員工身分集區必須專供 Google SecOps 使用。 您無法將為 Google SecOps 建立的集區用於其他用途。
您必須在同一個Google Cloud 機構中建立員工身分集區,該機構包含繫結至 Google SecOps 的專案。
以下是定義工作團隊集區和工作團隊提供者金鑰 ID 值的指南:
- 工作團隊集區 ID (
WORKFORCE_POOL_ID):定義表示工作團隊身分集區範圍或用途的值。這個值必須符合下列規定:- 必須是全域不重複名稱。
- 只能使用小寫字元 [a-z]、數字 [0-9] 和破折號 [-]。
- 開頭須為小寫字元 [a-z]。
- 結尾須為小寫字元 [a-z] 或數字 [0-9]。
- 長度介於 4 到 61 個半形字元之間。
- 工作團隊集區顯示名稱 (
WORKFORCE_POOL_DISPLAY_NAME):定義員工身分集區的易記名稱。 - 工作團隊集區說明 (
WORKFORCE_POOL_DESCRIPTION):定義工作團隊身分集區的詳細說明。 - 員工提供者 ID (
WORKFORCE_PROVIDER_ID):定義表示 IdP 的值。這個值必須符合下列規定:- 只能使用小寫字元 [a-z]、數字 [0-9] 和破折號 [-]。
- 長度介於 4 到 32 個半形字元。
- 工作團隊提供者顯示名稱 (
WORKFORCE_PROVIDER_DISPLAY_NAME):為工作團隊提供者定義易記的名稱。長度必須少於 32 個字元。 - 工作團隊識別資訊提供者說明 (
WORKFORCE_PROVIDER_DESCRIPTION):定義工作團隊識別資訊提供者的詳細說明。
在 IdP 中定義使用者屬性和群組
在 IdP 中建立 SAML 應用程式前,請先找出設定 Google SecOps 功能存取權所需的使用者屬性和群組。常見的使用者屬性包括:
- 主旨
- 電子郵件
- 名字
- 姓氏
- 顯示名稱
您需要在下列階段取得使用者群組和屬性的相關資訊:
設定 SAML 應用程式時,請建立規劃期間定義的群組。 設定 IdP SAML 應用程式,在聲明中傳遞群組成員資格。
建立工作團隊提供者時,請將聲明屬性和群組對應至Google Cloud 屬性。這項資訊會以聲明聲明形式傳送,做為使用者身分的一部分。
設定 IdP 應用程式
本節僅說明在 IdP SAML 應用程式中,與 Google Cloud 員工身分聯盟和 Google SecOps 整合時所需的特定設定。如需詳細步驟,請參閱 IdP 說明文件。
在 IdP 中建立群組 (如果尚未建立)。
最佳做法是使用群組,而非個別使用者帳戶,管理 Google SecOps 執行個體的存取權。Google 建議在 IdP 中建立群組,直接對應至預設的 Google SecOps 角色。
請參閱以下範例:
Google SecOps 角色 IdP 群組 (建議) Chronicle API 管理員 chronicle_secops_admins Chronicle API 編輯者 chronicle_secops_editor Chronicle API 檢視者 chronicle_secops_viewer 在 IdP 中建立新的 SAML 應用程式。
請使用下列項目設定應用程式:
指定聲明消費者服務 (ACS) 網址,這也稱為單一登入網址 (視服務供應商而定)。
https://auth.backstory.chronicle.security/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID更改下列內容:
WORKFORCE_POOL_ID:您為員工身分集區定義的 ID。WORKFORCE_PROVIDER_ID:您為員工供應商定義的 ID。
如需值說明,請參閱「定義工作團隊身分集區和工作團隊提供者」。
指定下列實體 ID (也稱為 SP 實體 ID)。
https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID在 IdP 中設定名稱 ID,確保 SAML 回應會傳回
NameID欄位。您可以將這個值設為支援貴機構政策的值,例如電子郵件地址或使用者名稱。如要瞭解如何設定這個值,請參閱 IdP 說明文件。如要進一步瞭解這項規定,請參閱「排解員工身分聯盟問題」。
新增屬性陳述,以便將使用者資訊從 IdP 傳遞至應用程式整合服務。您在規劃 IdP 實作時定義了屬性。
舉例來說,下表列出您可以在常用 IdP (例如 Okta、Microsoft AD FS 或 Entra ID) 中新增的使用者屬性陳述式:
屬性名稱 Okta 值 (運算式) AD FS / Entra ID (來源屬性) subjectuser.emailuser.mail或user.userprincipalnameemailaddressuser.emailuser.mailfirst_nameuser.firstNameuser.givennamelast_nameuser.lastNameuser.surnamedisplay_nameuser.displayNameuser.displayname如果您要設定 Okta IdP 應用程式,請務必在新增屬性時選取「未指定」做為格式。使用 Microsoft AD FS 或 Entra ID 做為 IdP 時,請將命名空間留空。
視需要,在 IdP 應用程式中新增群組屬性,例如
groups。在 IdP 中,將適當的群組和使用者指派給應用程式。
這些群組和使用者將獲授權存取 Google SecOps。
下載應用程式中繼資料 XML 檔案。
在下一節中,您會使用這個中繼資料檔案設定員工身分識別提供者。如果您使用 Google Cloud CLI,則需要使用 Cloud Shell,將這個檔案從本機系統上傳至 Google Cloud 主目錄 。
設定員工身分聯盟
本節僅說明設定員工身分聯盟的具體步驟,您將使用上一節建立的 IdP SAML 應用程式。如要進一步瞭解如何管理員工身分集區,請參閱「管理員工身分集區提供者」。
設定帳單和配額專案
以在 Google SecOps 繫結專案中具備必要權限的使用者身分,開啟 Google Cloud 控制台。您先前已識別或建立這個使用者。 請參閱「事前準備」一節。
啟動 Cloud Shell 工作階段。
設定 Google Cloud 專案,該專案會針對使用 gcloud CLI 執行的作業計費並收取配額費用。請使用下列
gcloud指令做為範例:gcloud config set billing/quota_project PROJECT_ID將
PROJECT_ID替換為您在「設定 Google Cloud Google SecOps 專案」中建立的 Google SecOps 繫結專案 ID。如要瞭解可識別專案的欄位說明,請參閱「建立及管理專案」。如要瞭解配額,請參閱下列文件:
如果發生錯誤,請參閱「排解配額錯誤」。
建立及設定工作團隊身分集區
您可以設定工作團隊身分集區,與外部識別資訊提供者 (IdP) 或 Google Workspace/Cloud Identity 整合。
控制台
如要建立工作團隊身分集區,請執行下列操作:
前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
選取員工身分集區的機構。工作人員身分識別集區適用於機構中的所有專案和資料夾。
點選「建立集區」,然後執行下列操作:
在「名稱」欄位中,輸入集區的顯示名稱。系統會在您輸入名稱時自動衍生集區 ID,並顯示在「名稱」欄位下方。如要更新集區 ID,請按一下集區 ID 旁的「編輯」。
選用:在「Description」(說明) 中,輸入集區的說明。
點選「下一步」。
員工身分集區的工作階段持續時間預設為一小時。這段時間決定了 Google Cloud 存取權杖、Google Cloud 員工身分聯盟控制台和 gcloud CLI 登入工作階段的有效時間。您可以更新集區,將自訂工作階段持續時間設為 15 分鐘到 12 小時。
gcloud
建立工作團隊身分集區。
請使用下列
gcloud指令做為範例:gcloud iam workforce-pools create WORKFORCE_POOL_ID\ --location="global" \ --organization=ORGANIZATION_ID \ --description="WORKFORCE_POOL_DESCRIPTION" \ --display-name="WORKFORCE_POOL_DISPLAY_NAME" \ --session-duration=SESSION_DURATION更改下列內容:
WORKFORCE_POOL_ID:您為員工身分集區 ID 定義的值。ORGANIZATION_ID:組織 ID。WORKFORCE_POOL_DESCRIPTION:員工身分集區的選用說明。WORKFORCE_POOL_DISPLAY_NAME:員工身分集區的選用易記名稱。SESSION_DURATION:工作階段持續時間的選用值,以附加s的數字表示,例如3600s。這段時間決定 Google Cloud存取權杖、Google Cloud 員工身分聯盟控制台和 gcloud CLI 登入工作階段的有效時間。您可以更新集區,將自訂工作階段持續時間設為 15 分鐘到 12 小時。
如要使用 Google Workspace 或 Cloud Identity 登入 Google SecOps,請在指令中加入
--allowed-services domain=backstory.chronicle.security和--disable-programmatic-signin旗標。gcloud iam workforce-pools create WORKFORCE_POOL_ID\ --location="global" \ --organization="ORGANIZATION_ID" \ --description="WORKFORCE_POOL_DESCRIPTION" \ --display-name="WORKFORCE_POOL_DISPLAY_NAME" \ --session-duration=SESSION_DURATION \ --allowed-services domain=backstory.chronicle.security \ --disable-programmatic-signin這項指令會建立不支援登入 Google Cloud的工作團隊身分集區。如要啟用登入功能,請針對每個情境使用適當的標記。
如果系統提示您啟用 Chronicle API,請輸入
Yes。
建立工作團隊身分集區提供者
員工身分集區提供者會說明貴機構和 IdP 之間的關係。Google Cloud
控制台
如要設定工作團隊身分集區提供者,請按照下列步驟操作:
前往 Google Cloud 控制台的「Workforce Identity Pools」(員工身分集區) 頁面:
在「Workforce Identity Pools」(員工身分集區) 表格中,選取要建立提供者的集區。
在「供應商」部分,按一下「 新增供應商」。
在「選取提供者」中,選取您的 IdP。
如果清單中沒有您的 IdP,請選取「Generic Identity Provider」。
在「選取驗證通訊協定」中,選取「SAML」。
在「建立供應商」部分,執行下列操作:
在「名稱」部分,輸入供應商名稱。
選用:在「Description」(說明) 中輸入提供者的說明。
在「IdP metadata file (XML)」中,選取您在本指南稍早產生的中繼資料 XML 檔案。
確認「啟用供應器」已開啟。
按一下「繼續」。
在「Share your provider information」部分,複製網址。 在 IdP 中,將第一個網址設為實體 ID,向 IdP 識別您的應用程式。 將其他網址設為重新導向 URI,讓 IdP 瞭解登入後要將斷言權杖傳送至何處。
按一下「繼續」。
在「設定供應商」部分,執行下列操作:
在「屬性對應」中,在相應的方塊中輸入對應。例如:
Google X (X 為數字) SAML X (其中 X 為數字) google.subjectassertion.subjectgoogle.groupsassertion.attributes.groupsgoogle.display_nameassertion.attributes.display_name[0]attribute.first_nameassertion.attributes.first_name[0]attribute.last_nameassertion.attributes.last_name[0]attribute.user_emailassertion.attributes.emailaddress[0]選用:如果您選取 Microsoft Entra ID 做為 IdP,可以按照下列步驟增加群組數量:
- 選取「使用額外的屬性」。
- 在「額外屬性核發者 URI」欄位中,輸入核發者網址。
- 在「Extra Attributes Client ID」欄位中,輸入用戶端 ID。
- 在「額外屬性用戶端密鑰」欄位中輸入用戶端密鑰。
- 在「額外屬性類型」清單中,選取額外屬性的屬性類型。
- 在「Extra Attributes Filter」欄位中,輸入透過 Microsoft Graph API 查詢群組時使用的篩選運算式。
選用:如要新增屬性條件,請按一下「新增條件」,然後輸入代表屬性條件的 CEL 運算式。舉例來說,如要將
ipaddr屬性限制在特定 IP 範圍內,可以設定assertion.attributes.ipaddr.startsWith('98.11.12.')條件。這個範例條件可確保只有 IP 位址開頭為98.11.12.的使用者,才能使用這個員工身分提供者登入。如要啟用詳細稽核記錄功能,請在「詳細記錄」中,點選「啟用屬性值稽核記錄」切換鈕。
如要建立提供者,請按一下「提交」。
gcloud
如要設定工作團隊身分集區提供者,請按照下列步驟操作:
按一下「顯示更多項目」>,將 SAML 應用程式中繼資料檔案上傳至 Cloud Shell 主目錄。檔案只能上傳至主目錄。如要瞭解在 Cloud Shell 和本機工作站之間傳輸檔案的其他選項,請參閱「從 Cloud Shell 上傳及下載檔案和資料夾」。
記下您在 Cloud Shell 中上傳 SAML 應用程式中繼資料 XML 檔案的目錄路徑。下一個步驟會用到這個路徑。
建立工作團隊身分集區提供者,並指定 IdP 詳細資料。
請使用下列
gcloud指令做為範例:gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --location="global" \ --display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \ --description="WORKFORCE_PROVIDER_DESCRIPTION" \ --idp-metadata-path=PATH_TO_METADATA_XML \ --attribute-mapping="ATTRIBUTE_MAPPINGS"如需值說明,請參閱「規劃導入作業」。
更改下列內容:
WORKFORCE_PROVIDER_ID:您為員工供應商 ID 定義的值。WORKFORCE_POOL_ID:您為員工身分集區 ID 定義的值。WORKFORCE_PROVIDER_DISPLAY_NAME:工作團隊識別資訊提供者的選用簡單易懂名稱。長度不得超過 32 個字元。WORKFORCE_PROVIDER_DESCRIPTION:員工提供者的選用說明。PATH_TO_METADATA_XML:您使用 Cloud Shell 上傳的應用程式中繼資料 XML 檔案的 Cloud Shell 目錄位置,例如:/path/to/sso_metadata.xml。ATTRIBUTE_MAPPINGS:如何將聲明屬性對應至 Google Cloud 屬性的定義。系統會使用一般運算語言解讀這些對應關係。例如:google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.groups
上一個範例會對應下列屬性:
- 已將
assertion.subject重新命名為google.subject。這是最低要求。 assertion.attributes.name[0]遷移至「google.display_name」時發生錯誤。assertion.attributes.groupsgoogle.groups屬性。
如果您要為 Google Security Operations (包括 Google Security Operations SIEM 和 Google SecOps SOAR) 執行這項設定,也必須對應 Google SecOps SOAR 要求的下列屬性:
attribute.first_nameattribute.last_nameattribute.user_emailgoogle.groupsgoogle.display_name
因此,完整的對應關係如下:
google.subject=assertion.subject,google.groups=assertion.attributes.groups,attribute.first_name=assertion.attributes.first_name[0],attribute.last_name=assertion.attributes.last_name[0],attribute.user_email=assertion.attributes.emailaddress[0],google.display_name=assertion.attributes.display_name[0]詳情請參閱「為 Google SecOps SOAR 佈建及對應使用者」。
根據預設,Google SecOps 會從下列不區分大小寫的聲明屬性名稱讀取群組資訊:
_assertion.attributes.groups_、_assertion.attributes.idpGroup_和_assertion.attributes.memberOf_。設定 SAML 應用程式,在聲明中傳遞群組成員資訊時,請將群組屬性名稱設為
_group_、_idpGroup_或_memberOf_。在範例指令中,您可以將
assertion.attributes.groups替換為assertion.attributes.idpGroup或assertion.attributes.memberOf,代表您在 IdP SAML 應用程式中設定的群組屬性名稱,且該屬性包含聲明中的群組成員資訊。以下範例會將多個群組對應至
google.groups屬性:google.groups="(has(assertion.attributes.idpGroup) ? assertion.attributes.idpGroup : []) + (has(assertion.attributes.groups) ? assertion.attributes.groups : []) + (has(assertion.attributes.memberof) ? assertion.attributes.memberof : [])"以下範例會將含有特殊字元的群組
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group對應至google.groups:google.groups="assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/group']"如要進一步瞭解如何對應屬性,請參閱「屬性對應」。
授予角色,啟用 Google SecOps 登入功能
下列步驟說明如何使用 IAM 授予特定角色,讓員工身分集區中的群組和使用者登入 Google SecOps。使用您稍早建立的 Google SecOps 繫結專案執行設定。 Google Cloud
控制台
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
選取要綁定 Google SecOps 的 Google Cloud 專案。
在「按照主體查看」分頁中,點選 「授予存取權」。
在「新增主體」部分,於「New principals」(新增主體) 欄位中輸入主體 ID。
例如:
如要新增先前建立的工作團隊身分集區和工作團隊提供者所管理的所有身分,請輸入下列內容:
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID如要將特定群組新增為主體,請輸入下列內容:
principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID
更改下列內容:
WORKFORCE_POOL_ID:您為員工身分集區 ID 定義的值。GROUP_ID:對應的google.groups聲明中的群組。您必須在 IdP 中建立這個群組。
在「指派角色」部分,選取或搜尋適用的 Chronicle API 角色,例如 「Chronicle API 檢視者 (
roles/chronicle.viewer)」。按一下 [儲存]。
針對要授予角色的每個主體,重複執行步驟 3 到 5。
gcloud
將 Chronicle API 檢視者 (
roles/chronicle.viewer) 角色授予應有權存取 Google SecOps 應用程式的使用者或群組。- 在下列範例中,我們將 Chronicle API 檢視者角色授予先前建立的工作團隊身分集區和工作團隊提供者所管理的身分。
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/chronicle.viewer \ --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/*"更改下列內容:
PROJECT_ID:Google SecOps 繫結專案的專案 ID,您已在「為 Google SecOps 設定 Google Cloud 專案」中設定。如要瞭解專案識別欄位的說明,請參閱「建立及管理專案」。WORKFORCE_POOL_ID:您為員工身分集區 ID 定義的值。如要將 Chronicle API 檢視者角色授予特定群組,請執行下列指令:
gcloud projects add-iam-policy-binding PROJECT_ID \ --role roles/chronicle.viewer \ --member "principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"取代
GROUP_ID:對應google.groups權杖附加資訊中的群組。您必須在 IdP 中建立這個群組。設定額外的 IAM 政策,以符合貴機構的需求。
必要條件:如要完成驗證並啟用使用者對 Google SecOps 平台的存取權,您必須從 Google SecOps 的 SOAR 端設定使用者存取權。詳情請參閱「在 Google SecOps 平台對應使用者」一文。
重複上述步驟,授予其他角色。
為 Google SecOps 執行個體設定單一登入
將第三方 IdP 與 Google SecOps 整合的最後一個步驟是設定 SSO。完成這個步驟後,使用者就能使用 IdP 憑證登入 Google SecOps。
以下是設定單一登入 (SSO) 的步驟:
- 在 Google Cloud 控制台中,前往「安全性」> 「Google SecOps」頁面。
- 按一下「單一登入」分頁標籤,然後選取「員工身分聯盟」。
- 從可用提供者清單中,選取您在「建立工作團隊身分集區提供者」中建立的員工身分聯盟提供者。
- 按一下 [儲存]。
管理員工身分聯盟設定
本節說明如何更新供應商設定,並確認使用者存取層級設定正確無誤。
驗證或設定 Google SecOps 功能存取控管
如果您設定員工身分聯盟時,將屬性或群組對應至 google.groups 屬性,這項資訊會傳遞至 Google SecOps,方便您為 Google SecOps 功能設定 RBAC。
如果 Google SecOps 執行個體已有 RBAC 設定,請確認原始設定是否正常運作。
如果您先前未設定存取控管機制,請參閱「使用 IAM 設定功能存取控管機制」,瞭解如何控管功能存取權。
修改員工身分聯盟設定
如要更新工作團隊身分集區或工作團隊提供者,請參閱「管理工作團隊身分集區提供者」,瞭解如何更新設定。
「建立 SAML 工作團隊集區提供者」一文的「金鑰管理」部分,說明如何更新 IdP 簽署金鑰,然後使用最新的應用程式中繼資料 XML 檔案更新工作團隊提供者設定。
控制台
如要更新特定工作團隊集區,請按照下列步驟操作:
前往「Workforce Identity Pools」(員工身分集區) 頁面:
在表格中選取集區。
更新集區參數。
按一下「Save Pool」(儲存集區)。
如要更新供應商,請按照下列步驟操作:
前往「Workforce Identity Pools」(員工身分集區) 頁面:
在表格中,選取要更新供應商的集區。
在「供應商」表格中,按一下「編輯」。
更新供應商詳細資料。
如要儲存更新後的提供者詳細資料,請按一下「儲存」。
gcloud
以下是更新工作團隊供應商設定的 gcloud 指令範例:
gcloud iam workforce-pools providers update-saml WORKFORCE_PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location="global" \
--display-name="WORKFORCE_PROVIDER_DISPLAY_NAME" \
--description="WORKFORCE_PROVIDER_DESCRIPTION" \
--idp-metadata-path=PATH_TO_METADATA_XML \
--attribute-mapping="ATTRIBUTE_MAPPINGS"
更改下列內容:
WORKFORCE_PROVIDER_ID:您為員工供應商 ID 定義的值。WORKFORCE_POOL_ID:您為員工身分集區 ID 定義的值。WORKFORCE_PROVIDER_DISPLAY_NAME:方便使用者辨識的員工供應商名稱。值不得超過 32 個字元。WORKFORCE_PROVIDER_DESCRIPTION:員工供應商的說明。PATH_TO_METADATA_XML:更新後應用程式中繼資料 XML 檔案的位置,例如:/path/to/sso_metadata_updated.xml。ATTRIBUTE_MAPPINGS:對應至 Google Cloud attributes 的已對應斷言屬性。例如:
google.subject=assertion.subject,google.display_name=assertion.attributes.name[0],google.groups=assertion.attributes.memberOf
排解設定問題
如果在這個過程中發生錯誤,請參閱「排解員工身分聯盟問題」,解決常見問題。下一節說明執行本文步驟時,常見的問題。
如果仍有問題,請聯絡 Google SecOps 代表,並提供 Chrome 網路記錄檔。
找不到指令
建立工作團隊身分集區提供者並指定 IdP 詳細資料時,會收到下列錯誤訊息:
Error: bash: --attribute-mapping=google.subject=assertion.subject,
google.display_name=assertion.attributes.name[0],
google.groups=assertion.attributes.groups: command not found
確認 PATH_TO_METADATA_XML 是您將 SAML 應用程式中繼資料 XML 檔案上傳到 Cloud Shell 主目錄的位置。
呼叫者沒有權限
執行 gcloud projects add-iam-policy-binding 指令將角色授予使用者或群組時,會收到下列錯誤訊息:
ERROR: (gcloud.organizations.add-iam-policy-binding) User [ ] does not have
permission to access organizations instance [538073083963:getIamPolicy]
(or it may not exist): The caller does not have permission
請確認您具備必要權限。詳情請參閱「必要的角色」。
驗證失敗:要求中缺少工作階段 ID
嘗試驗證時,瀏覽器會顯示下列錯誤訊息:
Verification failure: missing session ID in request
請檢查 ACS 和實體 ID 基本網址是否正確。詳情請參閱「設定 IdP 應用程式」。
偵錯超過 4 KB 的 JWT
如果無法登入 Google SecOps,請確認 JSON Web Token (JWT) 未超過 Google SecOps 的 4 KB 限制。如果使用者收到「Authentication JWT larger than 4KB. 如要解決這個錯誤,請減少從 IdP 傳送的群組成員資料。請按照下列疑難排解步驟操作:
- 偵錯權杖:您可以在員工身分聯盟的提供者詳細資料頁面中偵錯權杖 (依序前往「員工身分聯盟」>「員工集區」> [您的集區] > [您的提供者],然後按一下「偵錯 IdP 權杖」)。如要使用這項功能,請先將 Google Cloud 網址新增至身分識別提供者的重新導向網址。這項規定適用於 SAML 和 OIDC 通訊協定。詳情請參閱「疑難排解員工身分聯盟」。
篩選群組聲明:如果識別資訊提供者傳送許多與 Google SecOps 無關的群組,請在提供者層級篩選群組聲明。設定外部供應商,只傳送 Google SecOps 必要的最小群組集,可縮減 JWT 大小,避免發生驗證錯誤。
- 範例 (Microsoft Entra ID):您可以透過 Microsoft Entra 群組篩選功能,只傳送最少量的相關群組。在 Entra 企業應用程式的「單一登入」下方,編輯「群組」聲明來套用篩選器 (例如使用「前置字元相符」),只將必要群組傳送至 Google SecOps。詳情請參閱「Microsoft Entra 群組篩選」。
後續步驟
完成本文中的步驟後,請執行下列操作:
如果尚未設定稽核記錄,請繼續啟用 Google SecOps 稽核記錄。
如果您要設定 Google Security Operations,請按照「在 Google Security Operations 中佈建、驗證及對應使用者」一文中的額外步驟操作。
如要設定功能存取權,請按照「使用 IAM 設定功能存取控管機制」和「IAM 中的 Google SecOps 權限」中的額外步驟操作。
還有其他問題嗎?向社群成員和 Google SecOps 專業人員尋求解答。