Se il tuo provider di identità (IdP) supporta il System for Cross-domain Identity Management (SCIM), puoi configurare l'IdP per eseguire il provisioning e gestire i gruppi in Google Cloud.
Funzionalità
Il supporto SCIM per la federazione delle identità per la forza lavoro offre le seguenti funzionalità:
Sincronizzazione delle identità: sincronizza le copie di sola lettura dei dati utente dal tuo IdP per ottenere una visione olistica delle proprietà e delle appartenenze degli utenti in Google Cloud.
Appiattimento dei gruppi: SCIM elabora i gruppi dal tuo IdP in modo che tutte le appartenenze dirette e indirette (nidificate) di un utente vengano appiattite e sincronizzate con il Google Cloud servizio di appartenenza ai gruppi (GMS). IAM utilizza quindi questi gruppi appiattiti per i controlli dei criteri, superando i vincoli di dimensione spesso presenti nei token IdP.
Integrazione di Gemini Enterprise: i tenant SCIM supportano la condivisione in Gemini Enterprise. Il tenant SCIM abilita due funzionalità correlate alla condivisione dei notebook in NotebookLM Enterprise:
Completamento automatico per indirizzi email e gruppi
L'utilizzo del nome del gruppo anziché del relativo ID oggetto (UUID)
Per saperne di più, vedi Condividere un notebook con un gruppo.
Considerazioni
Quando utilizzi il supporto SCIM per la federazione delle identità per la forza lavoro, tieni presente quanto segue:
- Prima di configurare un tenant SCIM, devi configurare un provider e un pool di identità per la forza lavoro.
- Ogni pool di identità per la forza lavoro supporta un solo tenant SCIM. Poiché un tenant SCIM viene creato in un provider di pool di identità per la forza lavoro specifico, solo questo provider può utilizzare SCIM per i gruppi. Non puoi attivare l'utilizzo di SCIM (
--scim-usage=enabled-for-groupso--scim-usage=enabled-for-users-groups) su nessun altro provider nello stesso pool. Per configurare un nuovo tenant SCIM nello stesso pool di identità per la forza lavoro, devi prima eliminare quello esistente. Per eliminare un tenant SCIM, utilizza uno dei seguenti metodi:- Eliminazione temporanea (impostazione predefinita): l'eliminazione di un tenant SCIM avvia un periodo di eliminazione temporanea di 30 giorni. Durante questo periodo, il tenant è nascosto e non può essere utilizzato e non puoi creare un nuovo tenant SCIM nello stesso pool di identità per la forza lavoro.
- Eliminazione definitiva: per eliminare in modo permanente e immediato un tenant SCIM, utilizza il flag
--hard-deletecon il comando delete. Questa azione è irreversibile e ti consente di creare immediatamente un nuovo tenant SCIM nello stesso pool di identità per la forza lavoro dopo il completamento dell'eliminazione. In alternativa, puoi creare un nuovo pool di identità per la forza lavoro e un nuovo tenant SCIM oppure utilizzare un pool di identità per la forza lavoro che non è stato configurato in precedenza con un tenant SCIM.
- Quando utilizzi SCIM, esegui il mapping degli attributi sia nel provider del pool di identità per la forza lavoro sia nel tenant SCIM. L'attributo
google.subjectdeve fare riferimento in modo univoco alle stesse identità. Specifichigoogle.subjectnel provider del pool di identità per la forza lavoro utilizzando il flag--attribute-mappinge nel tenant SCIM utilizzando il flag--claim-mapping. Il mapping di valori di identità non univoci può far sì che vengano trattate identità IdP diverse Google Cloud come la stessa identità. Di conseguenza, l'accesso concesso a un'identità utente o di gruppo può estendersi ad altre, ma la revoca dell'accesso da una potrebbe non rimuoverlo da tutte. - Per utilizzare SCIM per mappare i gruppi, imposta
--scim-usage=enabled-for-groups(o--scim-usage=enabled-for-users-groups) sul provider del pool di identità per la forza lavoro a cui è collegato il tenant SCIM. Quando esegui il mapping dei gruppi utilizzando SCIM, qualsiasi mappatura dei gruppi definita in quel provider viene ignorata a favore dei gruppi gestiti da SCIM. Quando fai riferimento ai gruppi gestiti da SCIM, l'attributo mappato ègoogle.group, nongoogle.groups.google.groupssi riferisce solo ai gruppi mappati con i token. Se attivi l'utilizzo di SCIM su un provider che non ha un tenant SCIM collegato, i tentativi di accesso tramite quel provider non vanno a buon fine in fase di runtime perché Google Cloud non riesce a trovare un tenant SCIM nel percorso del provider. - Applicazione dell'unicità: Google Cloud convalida e applica
l'unicità degli attributi mappati a
google.subject(utenti) egoogle.group(gruppi) in un tenant SCIM. Se gli attributi mappati di cui è stato eseguito il provisioning dall'IdP generano valori duplicati pergoogle.subjectogoogle.groupdurante la sincronizzazione, il provisioning non va a buon fine e viene restituito un errore HTTP409 Conflict. Se un attributo mappato restituisce un valore nullo o vuoto, il provisioning non va a buon fine e viene restituito un errore HTTP400 Bad Request. - Quando utilizzi SCIM, gli attributi basati su token mappati con
--attribute-mappingpossono comunque essere utilizzati per l'autenticazione e negli identificatori principali. - Per la configurazione di Microsoft Entra ID, utilizza SCIM per attivare i nomi dei gruppi leggibili in Gemini Enterprise.
- L'API SCIM (
iamscim.googleapis.com) è soggetta a quote di frequenza diverse dalle quote API delle risorse IAM standard. Per impostazione predefinita, le richieste di scrittura e lettura sono limitate a 3000 richieste al minuto per tenant SCIM per organizzazione. Per saperne di più, consulta Quote e limiti.
Mapping dei provider OIDC e SAML alla configurazione SCIM
Deve esserci coerenza tra la mappatura degli attributi nella configurazione del provider del pool di identità per la forza lavoro (--attribute-mapping) e i mapping delle attestazioni nel tenant SCIM (--claim-mapping). L'attributo IdP sottostante utilizzato per popolare google.subject (per gli utenti) deve essere lo stesso, sia che venga letto da un'attestazione del token sia da un attributo SCIM.
Se questi mapping non sono coerenti, gli utenti potrebbero essere in grado di accedere, ma non verranno riconosciuti come membri dei gruppi di cui è stato eseguito il provisioning SCIM. Ad esempio, se il provider utilizza assertion.email per google.subject, anche il tenant SCIM deve utilizzare l'attributo SCIM equivalente (ad esempio, user.emails[0].value) per google.subject.
La seguente tabella mostra i mapping tra gli attributi delle attestazioni dei token e gli attributi SCIM:
| Attributo Google | Mapping del provider del pool di identità per la forza lavoro | Mapping del tenant 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/D (mappato utilizzando SCIM) | group.externalId |
Endpoint supportati e non supportati
Sono supportati i seguenti endpoint del protocollo SCIM standard:
/Users: gestisci le risorse utente. Operazioni supportate:Create,Get,Update,Delete,PatchePut./Groups: gestisci le risorse di gruppo. Operazioni supportate:Create,Get,Update,DeleteePatch. Il metodoPUTnon è supportato per i gruppi./Schemas: recupera le informazioni sullo schema./ServiceProviderConfig: recupera la configurazione del fornitore di servizi.
I seguenti endpoint del protocollo SCIM non sono supportati:
/Me/Bulk/Search/ResourceTypes
Limitazioni
Le seguenti sezioni descrivono le limitazioni e le deviazioni dell'implementazione SCIM della federazione delle identità per la forza lavoro rispetto alle specifiche SCIM (RFC 7643 e 7644).
Limitazioni delle funzionalità del protocollo
Supporto dei filtri: quando elenchi utenti o gruppi utilizzando gli endpoint
/Userso/Groups, le espressioni di filtro supportano solo l'operatoreeq(uguale a). Puoi combinare più filtrieqconand. Altri operatori di filtro SCIM, comeco(contiene) osw(inizia con), non sono supportati.Paginazione: l'API SCIM IAM non supporta la paginazione standard per l'elenco di utenti o gruppi.
startIndex: questo parametro è sempre1. L'API restituisce fino a 100 risultati indipendentemente dal valore fornito perstartIndex.itemsPerPage: il numero massimo di risorse restituite in una singola risposta è 100.totalResults: l'API non restituisce il conteggio totale effettivo delle risorse corrispondenti. Il campototalResultsnella risposta è sempre uguale al numero di elementi restituiti nella risposta, con un massimo di 100.
Get Group e List Groups senza filtro: le API
GetGroupeListGroupsrestituiscono un elenco di membri vuoto. Per recuperare i membri di un gruppo specifico, utilizza l'APIListGroupscon un filtro dei membri.Risposta JSON non conforme con token non validi: le API che contengono un token API non valido generano un
401 HTTP errorda Google Cloud. La risposta non è una struttura JSON come richiesto dalle specifiche.
Limitazioni del comportamento SCIM
Identificatori immutabili: i valori degli attributi SCIM mappati a
google.subjectogoogle.groupvengono trattati come identificatori immutabili all'interno di Google Cloud. Se devi modificare questi valori, devi eliminare definitivamente l'utente o il gruppo dall'IdP e poi ricrearli con il nuovo valore.Identificatori univoci e non vuoti: Google Cloud applica l'unicità ai valori mappati a
google.subjectegoogle.groupin un tenant SCIM. La sincronizzazione degli attributi mappati che generano valori duplicati pergoogle.subjectogoogle.groupnon va a buon fine e viene restituito un errore HTTP409 Conflict. Gli attributi mappati che restituiscono un valore nullo o vuoto non vanno a buon fine e viene restituito un errore HTTP400 Bad Request.Requisito di una singola email: per una sincronizzazione SCIM riuscita, ogni utente deve avere esattamente un indirizzo email di tipo
work. Il provisioning o gli aggiornamenti non andranno a buon fine se l'IdP invia più email o se la singola email fornita non è di tipowork.Trasformazioni senza distinzione tra maiuscole e minuscole: per i mapping delle attestazioni SCIM sono supportate trasformazioni Common Expression Language (CEL) limitate. Per i confronti senza distinzione tra maiuscole e minuscole per
user.userNameeuser.emails[0].valueè supportato solo.lowerAscii().
Limitazioni degli attributi
Le seguenti sezioni descrivono il supporto degli attributi per utenti, gruppi ed estensione dello schema utente aziendale.
Attributi utente
La seguente tabella descrive in dettaglio il supporto per gli attributi utente:
| Attributo | Attributi secondari | Supportato | Limitazioni |
|---|---|---|---|
userName |
N/D | Sì | N/D |
name |
formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix |
Sì | N/A |
displayName |
N/D | Sì | N/A |
nickName |
N/D | Sì | N/A |
profileUrl |
N/D | Sì | N/A |
title |
N/D | Sì | N/A |
userType |
N/D | Sì | N/A |
preferredLanguage |
N/D | Sì | N/A |
locale |
N/D | Sì | N/A |
timezone |
N/D | Sì | N/A |
active |
N/D | Sì | N/A |
password |
N/D | No | N/D |
emails |
display, type, value, primary |
Sì | È supportato solo il tipo di email work. |
phoneNumbers |
display, type, value, primary |
Sì | N/D |
ims |
display, type, value |
Sì | N/D |
photos |
display, type, value |
Sì | N/D |
addresses |
formatted, streetAddress, locality, region, postalCode, country |
Sì | N/A |
groups |
N/D | No | N/D |
entitlements |
display, type, value |
Sì | N/D |
roles |
type, value |
Sì | display non è supportato. |
x509Certificates |
type, value |
Sì | display non è supportato. |
Attributi del gruppo
La seguente tabella descrive in dettaglio il supporto per gli attributi del gruppo:
| Attributo | Attributi secondari supportati |
|---|---|
displayName |
N/D |
externalId |
N/D |
members |
value, type, $ref, display |
Attributi dell'estensione dello schema utente aziendale
La seguente tabella descrive in dettaglio il supporto per l'estensione dello schema utente aziendale:
| Attributo | Attributi secondari supportati |
|---|---|
employeeNumber |
N/D |
costCenter |
N/D |
organization |
N/D |
division |
N/D |
department |
N/D |
manager |
value, $ref, displayName |
Passaggi successivi
- Configurare il supporto SCIM per la federazione delle identità per la forza lavoro
- Log di controllo SCIM IAM