員工身分聯盟的 SCIM 佈建

如果您的識別資訊提供者 (IdP) 支援跨網域身分管理系統 (SCIM), 您可以設定 IdP,在 Google Cloud中佈建及管理群組。

功能

員工身分聯盟 SCIM 支援提供下列功能:

  • 身分同步:從 IdP 同步處理使用者資料的唯讀副本,全面掌握 Google Cloud中的使用者屬性和成員資格。

  • 群組扁平化:SCIM 會處理 IdP 中的群組,將使用者的所有直接和間接 (巢狀) 成員資格扁平化,並同步至Google Cloud 群組成員資格服務 (GMS)。IAM 接著會使用這些扁平化群組進行政策檢查,克服 IdP 權杖中常見的大小限制。

  • Gemini Enterprise 整合:SCIM 租戶支援在 Gemini Enterprise 中分享內容。使用者可以透過群組名稱 (而非物件 ID (UUID)) 與群組共用 NotebookLM 筆記本。詳情請參閱「與群組共用記事本」。

注意事項

使用員工身分聯盟 SCIM 支援時,請注意下列事項:

  • 設定 SCIM 租戶前,請務必先設定工作團隊身分集區和提供者。
  • 每個員工身分集區僅支援一個 SCIM 租戶。如要在同一個員工身分集區中設定新的 SCIM 租戶,請先刪除現有租戶。刪除 SCIM 租戶時,有兩種做法:
    • 虛刪除 (預設):刪除 SCIM 租戶後,系統會啟動 30 天的虛刪除期。在這段期間,系統會隱藏租戶,且無法使用,您也無法在相同的工作團隊身分識別集區中建立新的 SCIM 租戶。
    • 強制刪除:如要永久刪除 SCIM 租戶,請在 delete 指令中使用 --hard-delete 旗標。這項動作無法復原,且刪除作業完成後,您就能在同一個員工身分集區中建立新的 SCIM 租戶。或者,您也可以建立新的工作團隊身分集區和新的 SCIM 租戶,或使用先前未設定 SCIM 租戶的工作團隊身分集區。
  • 使用 SCIM 時,您需要對應員工身分集區供應商和 SCIM 租用戶中的屬性。google.subject 屬性必須專指相同身分。您可以使用 --attribute-mapping 旗標,在工作團隊身分識別集區提供者中指定 google.subject,並使用 --claim-mapping 旗標在 SCIM 租戶中指定 google.subject。對應非專屬身分識別值可能會導致 Google Cloud 將不同的 IdP 身分識別視為相同身分識別。因此,授予某位使用者或群組身分的存取權可能會擴及其他使用者,但撤銷其中一項存取權可能無法移除所有存取權。
  • 如要使用 SCIM 對應群組,請設定 --scim-usage=enabled-for-groups。使用 SCIM 對應群組時,系統會忽略工作團隊身分集區提供者中定義的任何群組對應。如要參照 SCIM 管理的群組,對應屬性為 google.group,而非 google.groupsgoogle.groups 僅指代碼對應群組。
  • 使用 SCIM 時,對應 --attribute-mapping 的權杖式屬性仍可用於驗證和主體 ID。
  • 設定 Microsoft Entra ID 時,建立工作團隊身分集區提供者時,請勿使用 --extended-attributes 旗標。

將 OIDC 和 SAML 供應商對應至 SCIM 設定

工作團隊身分集區供應商設定 (--attribute-mapping) 中的屬性對應,必須與 SCIM 租戶 (--claim-mapping) 中的聲明對應保持一致。用來填入 google.subject (適用於使用者) 的基礎 IdP 屬性必須相同,無論是從權杖聲明或 SCIM 屬性讀取都一樣。

如果這些對應不一致,使用者可能可以登入,但系統不會將他們視為 SCIM 佈建群組的成員。舉例來說,如果供應商使用 assertion.email 代表 google.subject,SCIM 租戶也必須使用對應的 SCIM 屬性 (例如 user.emails[0].value) 代表 google.subject

下表提供參考範例,說明如何將常見的 IdP 權杖宣告對應至 SCIM 屬性:

Google 屬性 工作團隊身分集區提供者對應 (權杖) SCIM 租戶對應 (SCIM)
google.subject assertion.oid user.externalId
google.subject assertion.email user.emails[0].value
google.subject assertion.email.lowerAscii() user.emails[0].value.lowerAscii()
google.subject assertion.preferred_username user.userName
google.subject assertion.sub 不相容
google.group 不適用 (使用 SCIM 對應) group.externalId

支援及不支援的端點

系統支援下列標準 SCIM 協定端點:

  • /Users:管理使用者資源。支援的作業:CreateGetUpdateDeletePatchPut

  • /Groups:管理群組資源。支援的作業:CreateGetUpdateDeletePatch。群組不支援 PUT 方法。

  • /Schemas:擷取結構定義資訊。

  • /ServiceProviderConfig:擷取服務供應商設定。

系統不支援下列 SCIM 通訊協定端點:

  • /Me

  • /Bulk

  • /Search

  • /ResourceTypes

限制

以下各節說明 Workforce Identity Federation SCIM 實作項目與 SCIM 規格 (RFC 7643 和 7644) 的限制和差異。

通訊協定功能限制

  • 篩選器支援:使用 /Users/Groups 端點列出使用者或群組時,篩選器運算式僅支援 eq (等於) 運算子。你可以組合多個 eq 篩選器與 and。系統不支援其他 SCIM 篩選運算子,例如 co (包含) 或 sw (開頭為)。

  • 分頁:IAM SCIM API 不支援列出使用者或群組的標準分頁功能。

    • startIndex:這個參數一律為 1。無論您為 startIndex 提供的值為何,API 最多都會傳回 100 個結果。

    • itemsPerPage:單一回應中傳回的資源數量上限為 100。

    • totalResults:API 不會傳回相符資源的實際總數。回應中的 totalResults 欄位一律等於該回應中傳回的項目數量,最多為 100 個。

SCIM 行為限制

  • 不可變更的 ID:對應至 google.subjectgoogle.group 的 SCIM 屬性值會視為 Google Cloud內不可變更的 ID。如要變更這些值,您必須從 IdP 永久刪除使用者或群組,然後使用新值重新建立。

  • 單一電子郵件地址規定:如要順利進行 SCIM 同步,每位使用者都必須有且只有一個 work 類型的電子郵件地址。如果 IdP 傳送多封電子郵件,或提供的單一電子郵件未輸入為 work,系統就會無法佈建或更新。

  • 不區分大小寫的轉換:SCIM 宣告對應支援有限的一般運算語言 (CEL) 轉換。對於 user.userNameuser.emails[0].value,系統僅支援 .lowerAscii(),用於不區分大小寫的比較。

屬性限制

以下各節說明使用者、群組和企業使用者結構定義擴充功能的屬性支援。

使用者屬性

下表詳細列出使用者屬性的支援情形:

屬性 子屬性 支援 限制
userName 不適用 不適用
name formattedfamilyNamegivenNamemiddleNamehonorificPrefixhonorificSuffix 不適用
displayName 不適用 不適用
nickName 不適用 不適用
profileUrl 不適用 不適用
title 不適用 不適用
userType 不適用 不適用
preferredLanguage 不適用 不適用
locale 不適用 不適用
timezone 不適用 不適用
active 不適用 不適用
password 不適用 不適用
emails displaytypevalueprimary 僅支援 work 電子郵件類型。
phoneNumbers displaytypevalueprimary 不適用
ims displaytypevalue 不適用
photos displaytypevalue 不適用
addresses formattedstreetAddresslocalityregionpostalCodecountry 不適用
groups 不適用 不適用
entitlements displaytypevalue 不適用
roles typevalue 系統並不支援 display
x509Certificates typevalue 系統並不支援 display

群組屬性

下表詳細說明群組屬性的支援情形:

屬性 支援的子屬性
displayName 不適用
externalId 不適用
members valuetype$refdisplay

企業使用者結構定義擴充屬性

下表詳細說明企業使用者結構定義擴充功能的支援情形:

屬性 支援的子屬性
employeeNumber 不適用
costCenter 不適用
organization 不適用
division 不適用
department 不適用
manager value$refdisplayName

後續步驟