Wenn Ihr Identitätsanbieter (IdP) System for Cross-domain Identity Management (SCIM) unterstützt, können Sie ihn so konfigurieren, dass Nutzer und Gruppen in Google Cloudbereitgestellt und verwaltet werden.
Leistungsspektrum
Die SCIM-Unterstützung für die Mitarbeiteridentitätsföderation bietet die folgenden Funktionen:
- Identitätssynchronisierung:Synchronisiert Nutzer und Gruppen von Ihrem externen IdP mit Google Cloud , um eine ganzheitliche Ansicht der Workforce-Identitäten zu erhalten.
- Primäre Quelle für Ansprüche:Wenn SCIM für einen Workforce-Anbieter aktiviert ist,verwendet Google Cloud die synchronisierten SCIM-Nutzer und -Gruppen als Quelle für Nutzerattribute und Gruppenmitgliedschaften für die IAM-Richtlinienauswertung.
- Automatische Vervollständigung von Identitäten:Ermöglicht die automatische Vervollständigung von Nutzern und Gruppen, wenn Sie in Gemini Enterprise Zugriff gewähren und Ressourcen (z. B. Notebooks und Agents) freigeben.
Hinweise
Wenn Sie die SCIM-Unterstützung für die Mitarbeiteridentitätsföderation verwenden, gelten die folgenden Hinweise:
- Sie müssen einen Workforce Identity-Pool und einen Anbieter einrichten, bevor Sie einen SCIM-Mandanten konfigurieren.
- Jeder Workforce Identity-Pool unterstützt nur einen SCIM-Mandanten, der mit einem einzelnen Anbieter verknüpft ist.
Sie können die SCIM-Nutzung (
--scim-usage) für keinen anderen Anbieter im selben Pool aktivieren. Wenn Sie einen neuen SCIM-Mandanten im selben Workforce Identity-Pool konfigurieren möchten, müssen Sie zuerst den vorhandenen löschen. Verwenden Sie eine der folgenden Methoden, um einen SCIM-Mandanten zu löschen:- Vorläufiges Löschen (Standard): Wenn Sie einen SCIM-Mandanten löschen, beginnt ein Zeitraum von 30 Tagen für das vorläufige Löschen. Während dieser Zeit ist der Mandant ausgeblendet und kann nicht verwendet werden. Außerdem können Sie keinen neuen SCIM-Mandanten im selben Personalidentitätspool erstellen.
- Endgültig löschen:Wenn Sie einen SCIM-Mandanten endgültig und sofort löschen möchten, verwenden Sie das Flag
--hard-deletemit dem Befehl „delete“. Diese Aktion ist irreversibel. Sie können sofort einen neuen SCIM-Mandanten im selben Workforce Identity-Pool erstellen, ohne die 30-tägige Aufbewahrungsfrist abwarten zu müssen. Alternativ können Sie einen neuen Workforce Identity-Pool und einen neuen SCIM-Mandanten erstellen oder einen Workforce Identity-Pool verwenden, der noch nicht mit einem SCIM-Mandanten konfiguriert wurde.
- SCIM-Nutzungsmodi (
--scim-usage):enabled-for-groups(Gemini Enterprise): Verwendet SCIM-synchronisierte Gruppen für die IAM-Autorisierung und Richtlinienbewertung. Nutzerattribute werden weiterhin aus Anmeldetokens abgerufen. Nurgoogle.subject- undgoogle.group-Zuweisungen werden ausgewertet.enabled-for-users-groups(Looker) (Vorabversion): Verwendet SCIM-synchronisierte Nutzer- und Gruppendaten als Quelle für Ansprüche für IAM-Autorisierungs- und OAuth-Anmeldeworkflows. Wertetgoogle.subject,google.groupund alle konfigurierten Nutzer-Claims aus, z. B.google.display_name,google.profile_photo,google.email,google.posix_usernameund benutzerdefinierteattribute.KEY.
- Gegenseitiger Ausschluss:Die Einstellung
--scim-usage=enabled-for-users-groups(Vorschau) schließt sich gegenseitig mit „Zusätzliche Attribute“ (extra_attributes_oauth2_client) und „Erweiterte Attribute“ (extended_attributes_oauth2_client) aus. - Wenn Sie SCIM verwenden, ordnen Sie Attribute sowohl im Workforce Identity-Pool-Anbieter als auch im SCIM-Mandanten zu. Das Attribut
google.subjectmuss eindeutig auf dieselben Identitäten verweisen. Sie gebengoogle.subjectim Anbieter des Mitarbeiteridentitätspools mit dem Flag--attribute-mappingund im SCIM-Mandanten mit dem Flag--claim-mappingan. Wenn Sie nicht eindeutige Identitätswerte zuordnen, kann es passieren, dass Google Cloud verschiedene IdP-Identitäten als dieselbe Identität behandelt. Daher kann sich der Zugriff, der einer Nutzer- oder Gruppenidentität gewährt wird, auf andere ausweiten. Wenn Sie den Zugriff für eine Identität widerrufen, wird er möglicherweise nicht für alle entfernt. - Wenn Sie die SCIM-Nutzung bei einem Anbieter ohne zugehörigen SCIM-Mandanten aktivieren, schlagen Anmeldeversuche fehl, weil Google Cloud keinen SCIM-Mandanten für diesen Anbieter finden kann.
- Erzwingen der Eindeutigkeit: Google Cloud validiert und erzwingt die Eindeutigkeit von Attributen, die
google.subject(Nutzer) undgoogle.group(Gruppen) in einem SCIM-Mandanten zugeordnet sind. Wenn die von Ihrem IdP bereitgestellten zugeordneten Attribute während der Synchronisierung zu doppelten Werten fürgoogle.subjectodergoogle.groupführen, schlägt die Bereitstellung mit einem HTTP-Fehler409 Conflictfehl. Wenn ein zugeordnetes Attribut als „null“ oder leer ausgewertet wird, schlägt die Bereitstellung mit einem HTTP-Fehler400 Bad Requestfehl. - Größenbeschränkungen für Attribute:Die maximale Größe für serialisierte zugeordnete Nutzerattribute (ohne
google.group) beträgt 16 KB. Wenn die Anzahl der zugeordneten Attribute dieses Limit überschreitet, schlagen Anmeldeversuche fehl. - SCIM-Tokenlimit:Jeder SCIM-Mandant unterstützt maximal zwei SCIM-Tokens (z. B. zur Unterstützung der Tokenrotation ohne Ausfallzeiten). Wenn Sie zwei Tokens haben, löschen Sie ein vorhandenes Token, bevor Sie ein neues erstellen.
- Für die SCIM API (
iamscim.googleapis.com) gelten Ratenkontingente, die sich von den Standardkontingenten für IAM-Ressourcen-APIs unterscheiden. Standardmäßig sind Schreib- und Leseanfragen auf 3.000 Anfragen pro SCIM-Mandant, Organisation und Minute begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits.
Zuordnung von Ansprüchen
Wenn Sie SCIM konfigurieren, definieren Sie im SCIM-Mandanten Anspruchszuordnungen (--claim-mapping), um SCIM-Nutzer- und ‑Gruppenattribute Google-Attributen zuzuordnen.
Unterstützte Google Cloud Attribute für die Zuordnung von Ansprüchen
In der folgenden Tabelle sind die Google Cloud Attribute aufgeführt, die Sie in Ihrem SCIM-Mandanten (--claim-mapping) mit der Common Expression Language (CEL) zuordnen können:
| Google Cloud -Attribut | Anforderung | Beschreibung | Unterstützte Ausdrücke und Grenzwerte |
|---|---|---|---|
google.subject |
Erforderlich |
Eindeutige Kennung für den authentifizierenden Nutzer. Das zugrunde liegende IdP-Attribut, das zum Ausfüllen von |
Beschränkt auf die folgenden Basis-Ausdrücke (oder mit .lowerAscii()):
Maximale Länge: 127 Bytes. Hinweis:Diese Zuordnung ist nach der Erstellung des SCIM-Mandanten unveränderlich. Wenn Sie sie aktualisieren möchten, müssen Sie den SCIM-Mandanten endgültig löschen und neu erstellen. |
google.group |
Für SCIM-Gruppen erforderlich | Eindeutige Kennung für die Gruppenmitgliedschaft, die mit SCIM synchronisiert wird. | Beschränkt auf die folgenden Basis-Ausdrücke (oder mit .lowerAscii()):
Hinweis:Diese Zuordnung ist nach der Erstellung des SCIM-Mandanten unveränderlich. Wenn Sie sie aktualisieren möchten, müssen Sie den SCIM-Mandanten endgültig löschen und neu erstellen. |
google.display_name |
Optional | Ein Attribut, mit dem der Name des angemeldeten Nutzers in der Google Cloud Console festgelegt wird. Es kann nicht in IAM-Zulassungsrichtlinien verwendet werden. | Wird einem String-Attribut zugeordnet, z. B. user.displayName oder user.name.formatted. Maximale Länge: 100 Bytes. |
google.profile_photo |
Optional | Eine URL des Miniaturbilds des Nutzers, das in der Google Cloud Console als Profilbild angezeigt wird. Es kann nicht in IAM-Zulassungsrichtlinien verwendet werden. | Muss als gültiger URL-String ausgewertet werden (z. B. user.photos.filter(p, p.type == 'thumbnail')[0].value oder user.photos[0].value). |
google.email |
Optional | Ein Attribut, das verwendet wird, um E‑Mail-Adressen vom Identitätsanbieter zu Produkten zuzuordnen, die über die OAuth-Clientintegration der Mitarbeiteridentitätsföderation integriert werden. Es kann nicht in IAM-Zulassungsrichtlinien verwendet werden. | Wird einem E-Mail-Attribut zugeordnet, z. B. user.emails.filter(e, e.type == 'work')[0].value oder user.emails[0].value. |
google.posix_username |
Optional | Ein eindeutiger POSIX-konformer Nutzernamensstring, der für SSH im Browser und OS Login mit der Mitarbeiteridentitätsföderation verwendet wird. Dieses Attribut kann nicht in IAM-Zulassungsrichtlinien verwendet werden. | Die maximale Länge beträgt 32 Zeichen. |
attribute.KEY |
Optional |
Benutzerdefinierte Attribute aus Ihrem IdP, mit denen Sie Ihre Autorisierungsstrategie in einer IAM-Zulassungsrichtlinie definieren können. Ersetzen Sie KEY durch den Attributnamen, den Sie verwenden möchten. Sie können beispielsweise ein benutzerdefiniertes Attribut wie |
Bis zu 50 benutzerdefinierte Attributzuordnungsregeln. Maximale Größe pro Regel: 256 Zeichen. |
Verhalten basierend auf der SCIM-Nutzung des Anbieters (--scim-usage)
Die Auswertung von SCIM-Anforderungszuordnungen hängt vom --scim-usage-Modus ab, der für den Personalidentitätspoolanbieter konfiguriert ist:
enabled-for-groups(Gemini Enterprise): Nurgoogle.subject- undgoogle.group-Zuweisungen werden ausgewertet. Alle zusätzlichen Zuordnungen von Nutzeransprüchen in--claim-mappingwerden ignoriert.enabled-for-users-groups(Looker) (Vorschau): Hier werdengoogle.subject,google.groupund alle konfigurierten Nutzeransprüche (z. B.google.display_name,google.profile_photo,google.email,google.posix_usernameund benutzerdefinierteattribute.<var>KEY</var>) ausgewertet.
Beispielzuordnungen für die Konsistenz von Themen
Wie unter Unterstützte Attribute für die Anspruchszuordnung beschrieben, muss das zugrunde liegende IdP-Attribut, das zum Ausfüllen von google.subject verwendet wird, sowohl in der Anbieterzuordnung (--attribute-mapping) als auch im SCIM-Mandanten (--claim-mapping) identisch sein. In der folgenden Tabelle finden Sie Referenzbeispiele:
| Google-Attribut | Zuordnung von Anbietern von Workforce Identity-Pools | SCIM-Mandantenzuordnung (SCIM) |
|---|---|---|
google.subject |
assertion.oid (Entra ID) |
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() |
Unterstützte und nicht unterstützte Endpunkte
Die folgenden Standard-SCIM-Protokollendpunkte werden unterstützt:
/Users: Nutzerressourcen verwalten. Unterstützte Vorgänge:Create,Get,Update,Delete,PatchundPut./Groups: Gruppenressourcen verwalten. Unterstützte Vorgänge:Create,Get,Update,DeleteundPatch. DiePUT-Methode wird für Gruppen nicht unterstützt./Schemas: Schemainformationen abrufen./ServiceProviderConfig: Ruft die Konfiguration des Dienstanbieters ab.
Die folgenden SCIM-Protokollendpunkte werden nicht unterstützt:
/Me/Bulk/Search/ResourceTypes
Beschränkungen
In den folgenden Abschnitten werden die Einschränkungen und Abweichungen der SCIM-Implementierung der Workforce Identity-Föderation von den SCIM-Spezifikationen (RFC 7643 und 7644) beschrieben.
Einschränkungen der Protokollfunktionen
Filterunterstützung:Wenn Sie Nutzer oder Gruppen mit den Endpunkten
/Usersoder/Groupsauflisten, unterstützen Filterausdrücke nur den Operatoreq(gleich). Sie können mehrereeq-Filter mitandkombinieren. Andere SCIM-Filteroperatoren wieco(enthält) odersw(beginnt mit) werden nicht unterstützt.Paginierung:Die IAM SCIM API unterstützt keine Standardpaginierung für das Auflisten von Nutzern oder Gruppen.
startIndex: Dieser Parameter ist immer1. Die API gibt unabhängig vom Wert, den Sie fürstartIndexangeben, bis zu 100 Ergebnisse zurück.itemsPerPage: Die maximale Anzahl von Ressourcen, die in einer einzelnen Antwort zurückgegeben werden, beträgt 100.totalResults: Die API gibt nicht die tatsächliche Gesamtzahl der übereinstimmenden Ressourcen zurück. Das FeldtotalResultsin der Antwort entspricht immer der Anzahl der Elemente, die in dieser Antwort zurückgegeben werden, mit einem Maximum von 100.
Gruppe abrufen und Gruppen ohne Filter auflisten:Die APIs
GetGroupundListGroupsgeben eine leere Mitgliederliste zurück. Wenn Sie Mitglieder für eine bestimmte Gruppe abrufen möchten, verwenden Sie dieListGroupsAPI mit einem Mitgliedsfilter.Nicht konforme JSON-Antwort mit ungültigen Tokens:Anfragen, die ein ungültiges API-Token enthalten, geben den Statuscode
HTTP 401von Google Cloudzurück. Die Antwort ist kein gültiges JSON-Format, wie in der SCIM-Spezifikation gefordert.
Einschränkungen des SCIM-Verhaltens
Unveränderliche Kennzeichnungen:Die Werte von SCIM-Attributen, die
google.subjectodergoogle.groupzugeordnet sind, werden in Google Cloudals unveränderliche Kennzeichnungen behandelt. Wenn Sie diese Werte ändern möchten, müssen Sie den Nutzer oder die Gruppe dauerhaft aus Ihrem IdP löschen und dann mit dem neuen Wert neu erstellen.Eindeutige und nicht leere Kennungen: Google Cloud erzwingt die Eindeutigkeit von Werten, die in einem SCIM-Mandanten
google.subjectundgoogle.groupzugeordnet sind. Die Synchronisierung zugeordneter Attribute, die zu doppelten Werten fürgoogle.subjectodergoogle.groupführen, schlägt mit einem HTTP-Fehler409 Conflictfehl. Zugeordnete Attribute, die als Null oder leer ausgewertet werden, führen zu einem HTTP-Fehler400 Bad Request.Anforderung für einzelne E‑Mail-Adressen:Für eine erfolgreiche SCIM-Synchronisierung muss jeder Nutzer genau eine E‑Mail-Adresse vom Typ
workhaben. Die Bereitstellung oder Aktualisierung schlägt fehl, wenn Ihr Identitätsanbieter mehrere E‑Mail-Adressen sendet oder die angegebene E‑Mail-Adresse nicht vom Typworkist.Nicht berücksichtigte Transformationen: Für SCIM-Anforderungszuordnungen werden nur eingeschränkte CEL-Transformationen (Common Expression Language) unterstützt. Für Vergleiche ohne Berücksichtigung der Groß-/Kleinschreibung für
user.userNameunduser.emails[0].valuewird nur.lowerAscii()unterstützt.
Einschränkungen bei Attributen
In den folgenden Abschnitten wird die Attributunterstützung für Nutzer, Gruppen und die Erweiterung des Unternehmensnutzerschemas beschrieben.
Nutzerattribute
In der folgenden Tabelle sind Nutzerattribute und ihre Verfügbarkeit in Workforce Identity Federation-Claims aufgeführt:
| Attribut | Unterattribute | In der SCIM-Bereitstellung unterstützt | Beschränkungen | Unterstützt in --claim-mapping |
|---|---|---|---|---|
userName |
– | Ja | – | Ja |
name |
formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix |
Ja | – | Ja |
displayName |
– | Ja | – | Ja |
nickName |
– | Ja | – | Ja |
profileUrl |
– | Ja | – | Ja |
title |
– | Ja | – | Ja |
userType |
– | Ja | – | Ja |
preferredLanguage |
– | Ja | – | Ja |
locale |
– | Ja | – | Ja |
timezone |
– | Ja | – | Ja |
active |
– | Ja | – | Ja |
password |
– | Nein | – | Nein |
emails |
display, type, value, primary |
Ja | Nur der E‑Mail-Typ work wird unterstützt. |
Ja |
phoneNumbers |
display, type, value, primary |
Ja | – | Ja |
ims |
display, type, value |
Ja | – | Ja |
photos |
display, type, value |
Ja | – | Ja |
addresses |
formatted, streetAddress, locality, region, postalCode, country |
Ja | – | Ja |
groups |
– | Nein | – | Nein |
entitlements |
display, type, value |
Ja | – | Ja |
roles |
type, value |
Ja | display wird nicht unterstützt |
Ja |
x509Certificates |
type, value |
Ja | display wird nicht unterstützt |
Nein |
Gruppenattribute
In der folgenden Tabelle sind Gruppenattribute und ihre Verfügbarkeit in Ansprüchen der Mitarbeiteridentitätsföderation aufgeführt:
| Attribut | Unterstützte Unterattribute | Unterstützt in --claim-mapping |
|---|---|---|
displayName |
– | Ja |
externalId |
– | Ja |
members |
value, type, $ref, display |
Nein |
Attribute für die Erweiterung des Unternehmensnutzerschemas
In der folgenden Tabelle wird die Unterstützung für die Erweiterung des Unternehmensnutzerschemas beschrieben:
| Attribut | Unterstützte Unterattribute | Unterstützt in --claim-mapping |
|---|---|---|
employeeNumber |
– | Ja |
costCenter |
– | Ja |
organization |
– | Ja |
division |
– | Ja |
department |
– | Ja |
manager |
value, $ref, displayName |
Ja ($ref wird nur in der SCIM-Bereitstellung unterstützt, nicht in --claim-mapping) |
Nächste Schritte
- SCIM-Unterstützung für die Workforce Identity-Föderation konfigurieren
- Fehlerbehebung bei der SCIM-Bereitstellung
- IAM-Audit-Logging für SCIM