Provisionnement SCIM pour la fédération d'identité de personnel

Si votre fournisseur d'identité (IdP) est compatible avec le System for Cross-domain Identity Management (SCIM), vous pouvez le configurer pour provisionner et gérer des groupes dans Google Cloud.

Capacités

La compatibilité SCIM de la fédération d'identité de personnel offre les fonctionnalités suivantes :

  • Synchronisation des identités : synchronisez des copies en lecture seule des données utilisateur de votre IdP pour obtenir une vue globale des propriétés et des appartenances des utilisateurs dans Google Cloud.

  • Aplatissement des groupes : SCIM traite les groupes de votre IdP de sorte que toutes les appartenances directes et indirectes (imbriquées) d'un utilisateur soient aplaties et synchronisées avec le service d'appartenance aux groupesGoogle Cloud . IAM utilise ensuite ces groupes aplatis pour vérifier les règles, ce qui permet de surmonter les contraintes de taille souvent rencontrées dans les jetons IdP.

  • Intégration de Gemini Enterprise : les locataires SCIM sont compatibles avec le partage dans Gemini Enterprise. Les utilisateurs peuvent partager des notebooks NotebookLM avec un groupe en utilisant le nom du groupe au lieu de son ID d'objet (UUID). Pour en savoir plus, consultez Partager un notebook avec un groupe.

Remarques

Lorsque vous utilisez la compatibilité SCIM avec la fédération d'identité de personnel, les points suivants doivent être pris en compte :

  • Vous devez configurer un pool et un fournisseur d'identités de personnel avant de configurer un locataire SCIM.
  • Chaque pool d'identités de personnel n'est compatible qu'avec un seul locataire SCIM. Pour configurer un locataire SCIM dans le même pool d'identités de personnel, vous devez d'abord supprimer celui qui existe déjà. Lorsque vous supprimez un locataire SCIM, vous avez deux options :
    • Suppression réversible (par défaut) : la suppression d'un locataire SCIM lance une période de suppression réversible de 30 jours. Pendant cette période, le locataire est masqué et ne peut pas être utilisé. Vous ne pouvez pas non plus créer de locataire SCIM dans le même pool d'identité de personnel.
    • Suppression définitive : pour supprimer définitivement et immédiatement un locataire SCIM, utilisez l'option --hard-delete avec la commande de suppression. Cette action est irréversible et vous permet de créer un locataire SCIM dans le même pool d'identités de personnel immédiatement après la suppression. Vous pouvez également créer un pool d'identités de personnel et un locataire SCIM, ou utiliser un pool d'identités de personnel qui n'a pas encore été configuré avec un locataire SCIM.
  • Lorsque vous utilisez SCIM, vous mappez les attributs dans le fournisseur de pool d'identités des employés et dans le locataire SCIM. L'attribut google.subject doit faire référence de manière unique aux mêmes identités. Vous spécifiez le google.subject dans le fournisseur de pool d'identités du personnel à l'aide du flag --attribute-mapping et dans le locataire SCIM à l'aide du flag --claim-mapping. Le mappage de valeurs d'identité non uniques peut entraîner le traitement de différentes identités de fournisseur d'identité comme une seule et même identité par Google Cloud . Par conséquent, l'accès accordé à une identité d'utilisateur ou de groupe peut s'étendre à d'autres, mais la révocation de l'accès à l'une d'elles ne le supprime pas forcément pour toutes.
  • Pour utiliser SCIM afin de mapper des groupes, définissez --scim-usage=enabled-for-groups. Lorsque vous mappez des groupes à l'aide de SCIM, tout mappage de groupe défini dans le fournisseur de pool d'identités de personnel est ignoré. Lorsque vous faites référence à des groupes gérés par SCIM, l'attribut mappé est google.group, et non google.groups. google.groups ne fait référence qu'aux groupes mappés par jeton.
  • Lorsque vous utilisez SCIM, les attributs basés sur des jetons mappés avec --attribute-mapping peuvent toujours être utilisés pour l'authentification et dans les identifiants principaux.
  • Pour la configuration de Microsoft Entra ID, vous ne devez pas utiliser les indicateurs --extended-attributes lorsque vous créez le fournisseur de pools d'identités des employés.

Mapper les fournisseurs OIDC et SAML à la configuration SCIM

Le mappage des attributs dans la configuration du fournisseur du pool d'identités du personnel (--attribute-mapping) doit être cohérent avec le mappage des revendications dans le locataire SCIM (--claim-mapping). L'attribut du fournisseur d'identité sous-jacent utilisé pour remplir google.subject (pour les utilisateurs) doit être le même, qu'il soit lu à partir d'une revendication de jeton ou d'un attribut SCIM.

Si ces mappages sont incohérents, les utilisateurs pourront peut-être se connecter, mais ne seront pas reconnus comme membres de leurs groupes provisionnés par SCIM. Par exemple, si le fournisseur utilise assertion.email pour google.subject, le locataire SCIM doit également utiliser l'attribut SCIM équivalent (par exemple, user.emails[0].value) pour google.subject.

Le tableau suivant fournit des exemples de référence pour mapper les revendications de jetons IdP courants aux attributs SCIM :

Attribut Google Mappage des fournisseurs de pools d'identités de personnel (jeton) Mappage de locataires 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 Incompatible
google.group N/A (mappé à l'aide de SCIM) group.externalId

Points de terminaison compatibles et non compatibles

Les points de terminaison du protocole SCIM standard suivants sont acceptés :

  • /Users : gérer les ressources utilisateur. Opérations acceptées : Create, Get, Update, Delete, Patch et Put.

  • /Groups : gérez les ressources du groupe. Opérations acceptées : Create, Get, Update, Delete et Patch. La méthode PUT n'est pas acceptée pour les groupes.

  • /Schemas : récupérer les informations du schéma.

  • /ServiceProviderConfig : récupérez la configuration du fournisseur de services.

Les points de terminaison du protocole SCIM suivants ne sont pas acceptés :

  • /Me

  • /Bulk

  • /Search

  • /ResourceTypes

Limites

Les sections suivantes décrivent les limites et les écarts de l'implémentation SCIM de la fédération d'identité du personnel par rapport aux spécifications SCIM (RFC 7643 et 7644).

Limites des fonctionnalités du protocole

  • Compatibilité avec les filtres : lorsque vous listez des utilisateurs ou des groupes à l'aide des points de terminaison /Users ou /Groups, les expressions de filtre ne sont compatibles qu'avec l'opérateur eq (égal à). Vous pouvez combiner plusieurs filtres eq avec and. Les autres opérateurs de filtre SCIM, tels que co (contient) ou sw (commence par), ne sont pas acceptés.

  • Pagination : l'API IAM SCIM n'est pas compatible avec la pagination standard pour lister les utilisateurs ou les groupes.

    • startIndex : ce paramètre est toujours 1. L'API renvoie jusqu'à 100 résultats, quelle que soit la valeur que vous fournissez pour startIndex.

    • itemsPerPage : le nombre maximal de ressources renvoyées dans une même réponse est de 100.

    • totalResults : l'API ne renvoie pas le nombre total réel de ressources correspondantes. Le champ totalResults de la réponse est toujours égal au nombre d'éléments renvoyés dans cette réponse, avec un maximum de 100.

Limites de comportement SCIM

  • Identifiants immuables : les valeurs des attributs SCIM mappés sur google.subject ou google.group sont traitées comme des identifiants immuables dans Google Cloud. Si vous devez modifier ces valeurs, vous devez supprimer définitivement l'utilisateur ou le groupe de votre IdP, puis le recréer avec la nouvelle valeur.

  • Exigence concernant l'adresse e-mail unique : pour que la synchronisation SCIM réussisse, chaque utilisateur doit disposer d'une seule adresse e-mail de type work. Le provisionnement ou les mises à jour échoueront si votre IdP envoie plusieurs e-mails ou si l'adresse e-mail unique fournie n'est pas de type work.

  • Transformations insensibles à la casse : les transformations CEL (Common Expression Language) limitées sont acceptées pour les mappages de revendications SCIM. Seul .lowerAscii() est compatible avec les comparaisons non sensibles à la casse pour user.userName et user.emails[0].value.

Limites des attributs

Les sections suivantes décrivent la compatibilité des attributs pour les utilisateurs, les groupes et l'extension du schéma utilisateur de l'entreprise.

Attributs utilisateur

Le tableau suivant détaille la compatibilité des attributs utilisateur :

Attribut Sous-attributs Compatible Limites
userName N/A Oui N/A
name formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix Oui N/A
displayName N/A Oui N/A
nickName N/A Oui N/A
profileUrl N/A Oui N/A
title N/A Oui N/A
userType N/A Oui N/A
preferredLanguage N/A Oui N/A
locale N/A Oui N/A
timezone N/A Oui N/A
active N/A Oui N/A
password N/A Non N/A
emails display, type, value, primary Oui Seul le type d'adresse e-mail work est accepté.
phoneNumbers display, type, value, primary Oui N/A
ims display, type, value Oui N/A
photos display, type, value Oui N/A
addresses formatted, streetAddress, locality, region, postalCode, country Oui N/A
groups N/A Non N/A
entitlements display, type, value Oui N/A
roles type, value Oui Le caractère display n'est pas accepté.
x509Certificates type, value Oui Le caractère display n'est pas accepté.

Attributs des groupes

Le tableau suivant détaille la compatibilité des attributs de groupe :

Attribut Sous-attributs acceptés
displayName N/A
externalId N/A
members value, type, $ref, display

Attributs d'extension du schéma utilisateur Enterprise

Le tableau suivant détaille la compatibilité avec l'extension du schéma utilisateur Enterprise :

Attribut Sous-attributs acceptés
employeeNumber N/A
costCenter N/A
organization N/A
division N/A
department N/A
manager value, $ref, displayName

Étapes suivantes