SCIM provisioning for Workforce Identity Federation

If your identity provider (IdP) supportsSystem for Cross-domain Identity Management (SCIM),you can configure your IdP to provision and manage groups in Google Cloud.

Important: This feature applies only to Gemini Enterprise.

Capabilities

Workforce Identity Federation SCIM support provides the following capabilities:

Considerations

When you use Workforce Identity Federation SCIM support, the followingconsiderations apply:

  • You must set up a workforce identity pool and provider before configuring aSCIM tenant.
  • Each workforce identity pool supports only one SCIM tenant. To configure anew SCIM tenant in the same workforce identity pool, you must first deletethe existing one. When deleting a SCIM tenant, you have two options:
    • Soft delete (Default): Deleting a SCIM tenant initiates a 30-daysoft-delete period. During this time, the tenant is hidden and cannot beused, and you cannot create a new SCIM tenant in the same workforceidentity pool.
    • Hard delete: To permanently and immediately delete a SCIM tenant,use the--hard-delete flag with the delete command. This action isirreversible and lets you create a new SCIM tenant in the same workforceidentity pool immediately after the deletion completes. Alternatively,you can create a new workforce identity pool and a new SCIM tenant oruse a workforce identity pool that hasn't previously been configuredwith a SCIM tenant.
  • When you use SCIM, you map attributes in both the workforce identity poolprovider and the SCIM tenant. Thegoogle.subject attribute must uniquelyrefer to the same identities. You specify thegoogle.subject in theworkforce identity pool provider by using the--attribute-mapping flag andin the SCIM tenant using the--claim-mapping flag. Mapping non-uniqueidentity values can cause Google Cloud to treat different IdP identitiesas the same identity. As a result, access that's granted to one user or groupidentity can extend to others but revoking access from one might not remove itfrom all.
  • To use SCIM to map groups, set--scim-usage=enabled-for-groups. When youmap groups using SCIM, any group mapping that's defined in the workforceidentity pool provider is ignored. When referring to SCIM-managed groups,the mapped attribute isgoogle.group, notgoogle.groups.google.groupsonly refers to token-mapped groups.
  • When using SCIM, token-based attributes that are mapped with--attribute-mapping can still be used for authentication and in principalidentifiers.
  • For Microsoft Entra ID configuration, you shouldn't use--extended-attributes flags when you create the workforce identity poolprovider.

Mapping OIDC and SAML providers to SCIM configuration

There must be consistency between the attribute mapping in the workforce identitypool provider configuration (--attribute-mapping) and the claimmappings in the SCIM tenant (--claim-mapping). The underlying IdPattribute used to populategoogle.subject (for users) must be the same,whether it's being read from a token claim or a SCIM attribute.

If these mappings are inconsistent, users might be able to sign in but won't berecognized as members of their SCIM-provisioned groups. For example, if theprovider usesassertion.email forgoogle.subject, theSCIM tenant must also use the equivalent SCIM attribute(for example,user.emails[0].value) forgoogle.subject.

The following table provides reference examples for mapping common IdP tokenclaims to SCIM attributes:

Google attributeWorkforce identity pool provider mapping (Token)SCIM tenant mapping (SCIM)
google.subjectassertion.oiduser.externalId
google.subjectassertion.emailuser.emails[0].value
google.subjectassertion.email.lowerAscii()user.emails[0].value.lowerAscii()
google.subjectassertion.preferred_usernameuser.userName
google.subjectassertion.subIncompatible
google.groupN/A (Mapped using SCIM)group.externalId
Note: When you use SCIM for groups, you must update your provider with--scim-usage=enabled-for-groups. Thegoogle.groups attribute in the provider mapping is ignored for group-based authorization; instead, usegoogle.group.

Supported and unsupported endpoints

The following standard SCIM protocol endpoints are supported:

  • /Users: manage user resources. Supported operations:Create,Get,Update,Delete,Patch, andPut.

  • /Groups: manage group resources. Supported operations:Create,Get,Update,Delete, andPatch. ThePUT method isn't supported for groups.

  • /Schemas: retrieve schema information.

  • /ServiceProviderConfig: retrieve the service provider configuration.

Note: SCIM integration with Okta does not supportImport Users andImport Groupsfeatures from Google Cloud to Okta.

The following SCIM protocol endpoints aren't supported:

  • /Me

  • /Bulk

  • /Search

  • /ResourceTypes

Limitations

The following sections describe the limitations and deviations of the Workforce Identity Federation SCIM implementation from the SCIM specifications (RFC 7643 and 7644).

Protocol feature limitations

  • Filter support: When you list users or groups using the/Users or/Groupsendpoints, filter expressions only support theeq (equals) operator. You cancombine multipleeq filters withand. Other SCIM filter operators, such asco (contains) orsw (starts with), aren't supported.

  • Pagination: The IAM SCIM API does not support standard paginationfor listing users or groups.

    • startIndex: this parameter is always1. The API returns up to 100 resultsregardless of the value that you provide forstartIndex.

    • itemsPerPage: the maximum number of resources that are returned in a singleresponse is 100.

    • totalResults: the API does not return the actual total count of matchingresources. ThetotalResults field in the response is always equal to thenumber of items that are returned in that response, with a maximum of 100.

  • Get Group and list Groups without filter:GetGroup andListGroups APIsreturn an empty member list. To retrieve members for a specific group, use theListGroups API with a member filter.

  • Non-compliant JSON response with invalid tokens: APIs that contain invalidAPI token result in a401 HTTP error from Google Cloud. The response isnot a JSON structure as required by the specifications.

SCIM behavior limitations

  • Immutable identifiers: The values of SCIM attributes that are mapped togoogle.subject orgoogle.group are treated asimmutable identifiers within Google Cloud. If you need to change thesevalues, you must permanently delete the user or group from your IdP and thenrecreate it with the new value.

  • Single email requirement: For successful SCIM synchronization, each usermust have exactly one email address of typework. Provisioning or updateswill fail if your IdP sends multiple emails or if the single email provided isnot typed aswork.

  • Case-insensitive transformations: Limited Common Expression Language(CEL) transformations are supported for SCIM claim mappings.Only.lowerAscii() is supported for case-insensitive comparisons foruser.userName anduser.emails[0].value.

Attribute limitations

The following sections describe the attribute support for users, groups, andthe enterprise user schema extension.

User attributes

The following table details the support for user attributes:

AttributeSub-attributesSupportedLimitations
userNameN/AYesN/A
nameformatted,familyName,givenName,middleName,honorificPrefix,honorificSuffixYesN/A
displayNameN/AYesN/A
nickNameN/AYesN/A
profileUrlN/AYesN/A
titleN/AYesN/A
userTypeN/AYesN/A
preferredLanguageN/AYesN/A
localeN/AYesN/A
timezoneN/AYesN/A
activeN/AYesN/A
passwordN/ANoN/A
emailsdisplay,type,value,primaryYesOnly thework email type is supported.
phoneNumbersdisplay,type,value,primaryYesN/A
imsdisplay,type,valueYesN/A
photosdisplay,type,valueYesN/A
addressesformatted,streetAddress,locality,region,postalCode,countryYesN/A
groupsN/ANoN/A
entitlementsdisplay,type,valueYesN/A
rolestype,valueYesdisplay isn't supported.
x509Certificatestype,valueYesdisplay isn't supported.

Group attributes

The following table details the support for group attributes:

AttributeSupported sub-attributes
displayNameN/A
externalIdN/A
membersvalue,type,$ref,display

Enterprise user schema extension attributes

The following table details the support for the enterprise user schema extension:

AttributeSupported sub-attributes
employeeNumberN/A
costCenterN/A
organizationN/A
divisionN/A
departmentN/A
managervalue,$ref,displayName

What's next

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-18 UTC.