Si tu proveedor de identidad (IdP) admite el Sistema para la administración de identidades entre dominios (SCIM), puedes configurarlo para aprovisionar y administrar grupos en Google Cloud.
Funciones
La compatibilidad con SCIM de la federación de identidades de personal proporciona las siguientes funciones:
Sincronización de identidades: Sincroniza copias de solo lectura de los datos del usuario desde tu IdP para obtener una vista integral de las propiedades y las membresías del usuario en Google Cloud.
Aplanamiento de grupos: SCIM procesa grupos de tu IdP para que todas las membresías directas e indirectas (anidadas) de un usuario se aplanen y se sincronicen con el Google Cloud servicio de membresía de grupos (GMS). Luego, IAM usa estos grupos aplanados para las verificaciones de políticas, lo que supera las restricciones de tamaño que suelen encontrarse en los tokens de IdP.
Integración de Gemini Enterprise: Los tenants de SCIM admiten el uso compartido en Gemini Enterprise. El tenant de SCIM habilita dos funciones relacionadas con el uso compartido de notebooks en Gemini Notebook Enterprise:
Autocompletar para direcciones de correo electrónico y grupos
El uso del nombre del grupo en lugar de su ID de objeto (UUID)
Para obtener más información, consulta Cómo compartir un notebook con un grupo.
Consideraciones
Cuando usas la compatibilidad con SCIM de la federación de identidades de personal, se aplican las siguientes consideraciones:
- Debes configurar un grupo de identidades de personal y un proveedor antes de configurar un tenant de SCIM.
- Cada grupo de identidades de personal admite solo un tenant de SCIM, vinculado a un solo proveedor. No puedes habilitar el uso de SCIM (--scim-usage=enabled-for-groups) en ningún otro proveedor del mismo grupo.
Para configurar un tenant de SCIM nuevo en el mismo grupo de identidades de personal, primero debes borrar el existente. Para borrar un tenant de SCIM, usa uno de los siguientes métodos:
- Borrado no definitivo (predeterminado): Borrar un tenant de SCIM inicia un período de borrado no definitivo de 30 días. Durante este tiempo, el tenant está oculto y no se puede usar, y no puedes crear un tenant de SCIM nuevo en el mismo grupo de identidades de personal.
- Borrado definitivo: Para borrar un tenant de SCIM de forma permanente y de inmediato, usa la marca
--hard-deletecon el comando delete. Esta acción es irreversible y te permite crear un tenant de SCIM nuevo en el mismo grupo de identidades de personal de inmediato sin esperar el período de retención de 30 días. Como alternativa, puedes crear un grupo de identidades de personal nuevo y un tenant de SCIM nuevo, o usar un grupo de identidades de personal que no se haya configurado previamente con un tenant de SCIM.
- Cuando usas SCIM, asignas atributos en el proveedor de grupos de identidades de personal y en el tenant de SCIM. El atributo
google.subjectdebe hacer referencia de forma única a las mismas identidades. Especificasgoogle.subjecten el proveedor de grupos de identidades de personal con la marca--attribute-mappingy en el tenant de SCIM con la marca--claim-mapping. La asignación de valores de identidad no únicos puede hacer que trate diferentes identidades de IdP como la misma identidad. Google Cloud Como resultado, el acceso que se otorga a una identidad de usuario o de grupo se puede extender a otras, pero revocar el acceso de una podría no quitarlo de todas. - Para usar SCIM para asignar grupos, establece
--scim-usage=enabled-for-groupsen el proveedor de grupos de identidades de personal que tiene el tenant de SCIM adjunto. Cuando asignas grupos con SCIM, se ignora cualquier asignación de grupos que se defina en ese proveedor en favor de los grupos administrados por SCIM. Cuando se hace referencia a grupos administrados por SCIM, el atributo asignado esgoogle.group, nogoogle.groups.google.groupssolo hace referencia a los grupos asignados a tokens. Si habilitas el uso de SCIM en un proveedor que no tiene un tenant de SCIM adjunto, los intentos de acceso a través de ese proveedor fallan en el tiempo de ejecución porque Google Cloud no puede encontrar un tenant de SCIM en la ruta de acceso de ese proveedor. - Aplicación de la exclusividad: Google Cloud valida y aplica la
exclusividad en los atributos asignados a
google.subject(usuarios) ygoogle.group(grupos) en un tenant de SCIM. Si los atributos asignados que aprovisiona tu IdP generan valores duplicados paragoogle.subjectogoogle.groupdurante la sincronización, el aprovisionamiento falla con un error HTTP409 Conflict. Si un atributo asignado se evalúa como nulo o vacío, el aprovisionamiento falla con un error HTTP400 Bad Request. - Cuando se usa SCIM, los atributos basados en tokens que se asignan con
--attribute-mappingse pueden usar para la autenticación y en los identificadores principales. - Para la configuración de Microsoft Entra ID, usa SCIM para habilitar nombres de grupos legibles en Gemini Enterprise.
- Límite de tokens de SCIM: Cada tenant de SCIM admite un máximo de dos tokens de SCIM (por ejemplo, para admitir la rotación de tokens sin tiempo de inactividad). Si ya tienes dos tokens y necesitas crear uno nuevo, debes borrar un token existente antes de crear uno nuevo.
- La API de SCIM (
iamscim.googleapis.com) está sujeta a cuotas de frecuencia que difieren de las cuotas de la API de recursos de IAM estándar. De forma predeterminada, las solicitudes de lectura y escritura se limitan a 3,000 solicitudes por tenant de SCIM, por organización y por minuto. Para obtener más información, consulta Cuotas y límites.
Asigna proveedores de OIDC y SAML a la configuración de SCIM
Debe haber coherencia entre la asignación de atributos en la configuración del proveedor de grupos de identidades de personal (--attribute-mapping) y las asignaciones de reclamaciones en el tenant de SCIM (--claim-mapping). El atributo de IdP subyacente que se usa para propagar google.subject (para los usuarios) debe ser el mismo, ya sea que se lea de una reclamación de token o de un atributo de SCIM.
Debido a que --claim-mapping es inmutable una vez que se crea el tenant de SCIM, si necesitas actualizar las asignaciones de reclamaciones (por ejemplo, para agregar la transformación .lowerAscii()), debes borrar de forma definitiva el tenant de SCIM y volver a crearlo con la asignación nueva.
Si estas asignaciones no son coherentes, es posible que los usuarios puedan acceder, pero no se los reconocerá como miembros de sus grupos aprovisionados por SCIM. Por ejemplo, si el proveedor usa assertion.email para google.subject, el tenant de SCIM también debe usar el atributo de SCIM equivalente (por ejemplo, user.emails[0].value) para google.subject.
En la siguiente tabla, se muestran las asignaciones entre los atributos de reclamación de tokens y los atributos de SCIM:
| Atributo de Google | Asignación del proveedor de grupos de identidades de personal | Asignación del tenant de SCIM (SCIM) |
|---|---|---|
google.subject |
assertion.oid (EntraId) |
user.externalId |
google.subject |
assertion.sub (Okta) |
user.externalId |
google.subject |
assertion.preferred_username |
user.userName |
google.subject |
assertion.preferred_username.lowerAscii() |
user.userName.lowerAscii() |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.group |
N/A (asignado con SCIM) | group.externalId |
Extremos compatibles y no compatibles
Se admiten los siguientes extremos del protocolo SCIM estándar:
/Users: Administra los recursos del usuario. Operaciones admitidas:Create,Get,Update,Delete,PatchyPut./Groups: Administra los recursos del grupo. Operaciones admitidas:Create,Get,Update,DeleteyPatch. No se admite el métodoPUTpara los grupos./Schemas: Recupera la información del esquema./ServiceProviderConfig: Recupera la configuración del proveedor de servicios.
No se admiten los siguientes extremos del protocolo SCIM:
/Me/Bulk/Search/ResourceTypes
Limitaciones
En las siguientes secciones, se describen las limitaciones y las desviaciones de la implementación de SCIM de la federación de identidades de personal de las especificaciones de SCIM (RFC 7643 y 7644).
Limitaciones de las funciones del protocolo
Compatibilidad con filtros: Cuando enumeras usuarios o grupos con los extremos
/Userso/Groups, las expresiones de filtro solo admiten el operadoreq(igual a). Puedes combinar varios filtroseqconand. No se admiten otros operadores de filtro de SCIM, comoco(contiene) osw(comienza con).Paginación: La API de IAM SCIM no admite la paginación estándar para enumerar usuarios o grupos.
startIndex: Este parámetro siempre es1. La API devuelve hasta 100 resultados, independientemente del valor que proporciones parastartIndex.itemsPerPage: La cantidad máxima de recursos que se muestran en una sola respuesta es 100.totalResults: La API no devuelve el recuento total real de los recursos coincidentes. El campototalResultsen la respuesta siempre es igual a la cantidad de elementos que se muestran en esa respuesta, con un máximo de 100.
Obtener grupo y enumerar grupos sin filtro: Las APIs de
GetGroupyListGroupsmuestran una lista de miembros vacía. Para recuperar miembros de un grupo específico, usa la API deListGroupscon un filtro de miembros.Respuesta JSON no conforme con tokens no válidos: Las APIs que contienen un token de API no válido generan un
401 HTTP errorde Google Cloud. La respuesta no es una estructura JSON como lo requieren las especificaciones.
Limitaciones del comportamiento de SCIM
Identificadores inmutables: Los valores de los atributos de SCIM que se asignan a
google.subjectogoogle.groupse tratan como identificadores inmutables dentro de Google Cloud. Si necesitas cambiar estos valores, debes borrar de forma permanente el usuario o el grupo de tu IdP y, luego, volver a crearlo con el valor nuevo.Identificadores únicos y no vacíos: Google Cloud aplica la exclusividad en los valores asignados a
google.subjectygoogle.groupen un tenant de SCIM. La sincronización de atributos asignados que generan valores duplicados paragoogle.subjectogoogle.groupfalla con un error HTTP409 Conflict. Los atributos asignados que se evalúan como nulos o vacíos fallan con un error HTTP400 Bad Request.Requisito de correo electrónico único: Para que la sincronización de SCIM se realice correctamente, cada usuario debe tener exactamente una dirección de correo electrónico de tipo
work. El aprovisionamiento o las actualizaciones fallarán si tu IdP envía varios correos electrónicos o si el correo electrónico único proporcionado no es de tipowork.Transformaciones que no distinguen mayúsculas de minúsculas: Se admiten transformaciones limitadas de Common Expression Language (CEL) para las asignaciones de reclamaciones de SCIM. Solo se admite
.lowerAscii()para las comparaciones que no distinguen mayúsculas de minúsculas parauser.userNameyuser.emails[0].value.
Limitaciones de atributos
En las siguientes secciones, se describe la compatibilidad con atributos para usuarios, grupos y la extensión del esquema de usuario empresarial.
Atributos de usuario
En la siguiente tabla, se detalla la compatibilidad con los atributos de usuario:
| Atributo | Atributos secundarios | Admitido | Limitaciones |
|---|---|---|---|
userName |
N/A | Sí | N/A |
name |
formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix |
Sí | N/A |
displayName |
N/A | Sí | N/A |
nickName |
N/A | Sí | N/A |
profileUrl |
N/A | Sí | N/A |
title |
N/A | Sí | N/A |
userType |
N/A | Sí | N/A |
preferredLanguage |
N/A | Sí | N/A |
locale |
N/A | Sí | N/A |
timezone |
N/A | Sí | N/A |
active |
N/A | Sí | N/A |
password |
N/A | No | N/A |
emails |
display, type, value, primary |
Sí | Solo se admite el tipo de correo electrónico work. |
phoneNumbers |
display, type, value, primary |
Sí | N/A |
ims |
display, type, value |
Sí | N/A |
photos |
display, type, value |
Sí | N/A |
addresses |
formatted, streetAddress, locality, region, postalCode, country |
Sí | N/A |
groups |
N/A | No | N/A |
entitlements |
display, type, value |
Sí | N/A |
roles |
type, value |
Sí | No se admite display. |
x509Certificates |
type, value |
Sí | No se admite display. |
Atributos del grupo
En la siguiente tabla, se detalla la compatibilidad con los atributos del grupo:
| Atributo | Atributos secundarios admitidos |
|---|---|
displayName |
N/A |
externalId |
N/A |
members |
value, type, $ref, display |
Atributos de extensión del esquema de usuario empresarial
En la siguiente tabla, se detalla la compatibilidad con la extensión del esquema de usuario empresarial:
| Atributo | Atributos secundarios admitidos |
|---|---|
employeeNumber |
N/A |
costCenter |
N/A |
organization |
N/A |
division |
N/A |
department |
N/A |
manager |
value, $ref, displayName |
¿Qué sigue?
- Configura la compatibilidad con SCIM para la federación de identidades de personal
- Soluciona problemas del aprovisionamiento de SCIM
- Registro de auditoría de IAM SCIM