Se il tuo provider di identità (IdP) supporta il System for Cross-domain Identity Management (SCIM), puoi configurarlo 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 delle policy, 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à della forza lavoro.
- Ogni pool di identità della forza lavoro supporta un solo tenant SCIM. Per configurare un nuovo tenant SCIM nello stesso pool di identità della forza lavoro, devi prima eliminare quello esistente. Quando elimini un tenant SCIM, hai due opzioni:
- 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à della 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à della forza lavoro al termine dell'eliminazione. In alternativa, puoi creare un nuovo pool di identità della forza lavoro e un nuovo tenant SCIM oppure utilizzare un pool di identità della forza lavoro che non è stato configurato in precedenza con un tenant SCIM.
- Quando utilizzi SCIM, esegui la mappatura degli attributi sia nel provider del pool di identità della 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à della forza lavoro utilizzando il flag--attribute-mappinge nel tenant SCIM utilizzando il flag--claim-mapping. La mappatura di valori di identità non univoci può far sì che venga trattato come la stessa identità. Google Cloud 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. Quando esegui la mappatura dei gruppi utilizzando SCIM, qualsiasi mappatura dei gruppi definita nel provider del pool di identità della forza lavoro viene ignorata. Quando fai riferimento a gruppi gestiti da SCIM, l'attributo mappato ègoogle.group, nongoogle.groups.google.groupssi riferisce solo ai gruppi mappati con i token. - 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 dal tuo IdP generano valori duplicati pergoogle.subjectogoogle.groupdurante la sincronizzazione, il provisioning non riesce e viene restituito un errore HTTP409 Conflict. Se un attributo mappato restituisce un valore nullo o vuoto, il provisioning non riesce 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, per abilitare i nomi dei gruppi leggibili in Gemini Enterprise, utilizza SCIM.
Mappare i provider OIDC e SAML alla configurazione SCIM
Deve esserci coerenza tra la mappatura degli attributi nella configurazione del provider del pool di identità della forza lavoro (--attribute-mapping) e le mappature delle attestazioni nel tenant SCIM (--claim-mapping). L'attributo IdP sottostante utilizzato per popolare google.subject (per gli utenti) deve essere lo stesso, indipendentemente dal fatto che venga letto da un'attestazione del token o da un attributo SCIM.
Se queste mappature 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 le mappature tra gli attributi delle attestazioni dei token e gli attributi SCIM:
| Attributo Google | Mappatura del provider del pool di identità della forza lavoro | Mappatura 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 dal tuo 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 riesce e viene restituito un errore HTTP409 Conflict. Gli attributi mappati che restituiscono un valore nullo o vuoto non riescono 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 riusciranno se il tuo IdP invia più email o se la singola email fornita non è di tipowork.Trasformazioni senza distinzione tra maiuscole e minuscole: per le mappature 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