SCIM-Bereitstellung für Workforce Identity-Föderation

Wenn Ihr Identitätsanbieter (IdP) System for Cross-domain Identity Management (SCIM) unterstützt, können Sie ihn so konfigurieren, dass Gruppen in Google Cloudbereitgestellt und verwaltet werden.

Leistungsspektrum

Die SCIM-Unterstützung für die Mitarbeiteridentitätsföderation bietet die folgenden Funktionen:

  • Identitätssynchronisierung:Synchronisieren Sie schreibgeschützte Kopien von Nutzerdaten von Ihrem IdP, um einen ganzheitlichen Überblick über Nutzerattribute und Mitgliedschaften in Google Cloudzu erhalten.

  • Gruppen-Flattening:SCIM verarbeitet Gruppen von Ihrem IdP so, dass alle direkten und indirekten (verschachtelten) Mitgliedschaften für einen Nutzer zusammengeführt und mit demGoogle Cloud Group Membership Service (GMS) synchronisiert werden. IAM verwendet diese vereinfachten Gruppen dann für Richtlinienprüfungen und umgeht so die Größenbeschränkungen, die häufig in IdP-Tokens auftreten.

  • Gemini Enterprise-Integration:SCIM-Mandanten unterstützen die Freigabe in Gemini Enterprise. Der SCIM-Mandant ermöglicht zwei Funktionen, die sich auf die Freigabe von Notebooks in NotebookLM Enterprise beziehen:

    • Automatische Vervollständigung für E-Mail-Adressen und Gruppen

    • Verwendung des Gruppennamens anstelle der Objekt-ID (UUID)

    Weitere Informationen finden Sie unter Notebook für eine Gruppe freigeben.

Hinweise

Wenn Sie die SCIM-Unterstützung für die Mitarbeiteridentitätsföderation verwenden, gelten die folgenden Überlegungen:

  • Sie müssen einen Workforce Identity-Pool und einen Anbieter einrichten, bevor Sie einen SCIM-Mandanten konfigurieren.
  • Jeder Mitarbeiteridentitätspool unterstützt nur einen SCIM-Mandanten. Da ein SCIM-Mandant unter einem bestimmten Workforce Identity-Pool-Anbieter erstellt wird, kann nur dieser Anbieter SCIM für Gruppen verwenden. Sie können die SCIM-Nutzung ( --scim-usage=enabled-for-groups oder --scim-usage=enabled-for-users-groups) 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 Mandanten löschen. Sie haben folgende Möglichkeiten, 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 dauerhaft und sofort löschen möchten, verwenden Sie das Flag --hard-delete mit dem Befehl „delete“. Diese Aktion ist irreversibel. Sie können jedoch sofort nach dem Löschen einen neuen SCIM-Mandanten im selben Workforce Identity-Pool erstellen. 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.
  • Wenn Sie SCIM verwenden, ordnen Sie Attribute sowohl im Workforce Identity-Poolanbieter als auch im SCIM-Mandanten zu. Das Attribut google.subject muss eindeutig auf dieselben Identitäten verweisen. Sie geben die google.subject im Workforce Identity Pool-Anbieter mit dem Flag --attribute-mapping und im SCIM-Mandanten mit dem Flag --claim-mapping an. 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 SCIM zum Zuordnen von Gruppen verwenden möchten, legen Sie --scim-usage=enabled-for-groups (oder --scim-usage=enabled-for-users-groups) für den Workforce Identity-Pool-Anbieter mit dem angehängten SCIM-Mandanten fest. Wenn Sie Gruppen mit SCIM zuordnen, wird jede Gruppenzuordnung, die in diesem Anbieter definiert ist, zugunsten von SCIM-verwalteten Gruppen ignoriert. Wenn Sie sich auf SCIM-verwaltete Gruppen beziehen, ist das zugeordnete Attribut google.group und nicht google.groups. google.groups bezieht sich nur auf Gruppen mit Tokenzuweisung. Wenn Sie die SCIM-Nutzung für einen Anbieter aktivieren, dem kein SCIM-Mandant zugeordnet ist, schlagen Anmeldeversuche über diesen Anbieter zur Laufzeit fehl, weil Google Cloud keinen SCIM-Mandanten unter dem Pfad des Anbieters finden kann.
  • Erzwingen der Eindeutigkeit: Google Cloud validiert und erzwingt die Eindeutigkeit von Attributen, die google.subject (Nutzer) und google.group (Gruppen) in einem SCIM-Mandanten zugeordnet sind. Wenn die von Ihrem IdP bereitgestellten zugeordneten Attribute während der Synchronisierung zu doppelten Werten für google.subject oder google.group führen, schlägt die Bereitstellung mit einem HTTP-Fehler 409 Conflict fehl. Wenn ein zugeordnetes Attribut als „null“ oder leer ausgewertet wird, schlägt die Bereitstellung mit einem HTTP-Fehler 400 Bad Request fehl.
  • Bei Verwendung von SCIM können tokenbasierte Attribute, die mit --attribute-mapping zugeordnet sind, weiterhin für die Authentifizierung und in Prinzipal-IDs verwendet werden.
  • Wenn Sie Microsoft Entra ID konfigurieren, um lesbare Gruppennamen in Gemini Enterprise zu aktivieren, verwenden Sie SCIM.
  • 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 pro Organisation pro Minute begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits.

OIDC- und SAML-Anbieter der SCIM-Konfiguration zuordnen

Die Attributzuordnung in der Konfiguration des Workforce Identity-Pool-Anbieters (--attribute-mapping) muss mit den Anspruchszuordnungen im SCIM-Mandanten (--claim-mapping) übereinstimmen. Das zugrunde liegende IdP-Attribut, das zum Ausfüllen von google.subject (für Nutzer) verwendet wird, muss dasselbe sein, unabhängig davon, ob es aus einem Tokenanspruch oder einem SCIM-Attribut gelesen wird.

Wenn diese Zuordnungen nicht konsistent sind, können sich Nutzer möglicherweise anmelden, werden aber nicht als Mitglieder ihrer per SCIM bereitgestellten Gruppen erkannt. Wenn der Anbieter beispielsweise assertion.email für google.subject verwendet, muss der SCIM-Mandant auch das entsprechende SCIM-Attribut (z. B. user.emails[0].value) für google.subject verwenden.

In der folgenden Tabelle sehen Sie die Zuordnungen zwischen Token-Claim-Attributen und SCIM-Attributen:

Google-Attribut Zuordnung von Anbietern von Workforce Identity-Pools SCIM-Mandantenzuordnung (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 Nicht zutreffend (über SCIM zugeordnet) group.externalId

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, Patch und Put.

  • /Groups: Gruppenressourcen verwalten. Unterstützte Vorgänge: Create, Get, Update, Delete und Patch. Die PUT-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 Workforce Identity Federation-SCIM-Implementierung von den SCIM-Spezifikationen (RFC 7643 und 7644) beschrieben.

Einschränkungen für Protokollfunktionen

  • Filterunterstützung:Wenn Sie Nutzer oder Gruppen mit den Endpunkten /Users oder /Groups auflisten, unterstützen Filterausdrücke nur den Operator eq (gleich). Sie können mehrere eq-Filter mit and kombinieren. Andere SCIM-Filteroperatoren wie co (enthält) oder sw (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 immer 1. Die API gibt unabhängig vom Wert, den Sie für startIndex angeben, 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 Feld totalResults in 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 GetGroup und ListGroups geben eine leere Mitgliederliste zurück. Wenn Sie Mitglieder für eine bestimmte Gruppe abrufen möchten, verwenden Sie die ListGroups API mit einem Mitgliedsfilter.

  • Nicht konforme JSON-Antwort mit ungültigen Tokens:APIs, die ungültige API-Tokens enthalten, führen zu einem 401 HTTP error von Google Cloud. Die Antwort ist keine JSON-Struktur, wie in den Spezifikationen gefordert.

Einschränkungen des SCIM-Verhaltens

  • Unveränderliche Kennzeichnungen:Die Werte von SCIM-Attributen, die google.subject oder google.group zugeordnet 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.subject und google.group zugeordnet sind. Die Synchronisierung zugeordneter Attribute, die zu doppelten Werten für google.subject oder google.group führen, schlägt mit einem HTTP-Fehler 409 Conflict fehl. Zugeordnete Attribute, die als „null“ oder leer ausgewertet werden, führen zu einem HTTP-Fehler 400 Bad Request.

  • Anforderung für einzelne E-Mail-Adresse:Für eine erfolgreiche SCIM-Synchronisierung muss jeder Nutzer genau eine E-Mail-Adresse vom Typ work haben. Die Bereitstellung oder Aktualisierung schlägt fehl, wenn Ihr Identitätsanbieter mehrere E-Mail-Adressen sendet oder die angegebene E-Mail-Adresse nicht als work eingegeben wird.

  • Nicht berücksichtigte Transformationen: Für SCIM-Anspruchszuordnungen werden nur begrenzte CEL-Transformationen (Common Expression Language) unterstützt. Für Vergleiche, bei denen die Groß-/Kleinschreibung nicht berücksichtigt wird, wird für user.userName und user.emails[0].value nur .lowerAscii() unterstützt.

Attributeinschränkungen

In den folgenden Abschnitten wird die Attributunterstützung für Nutzer, Gruppen und die Erweiterung des Enterprise-Nutzerschemas beschrieben.

Nutzerattribute

In der folgenden Tabelle wird die Unterstützung für Nutzerattribute beschrieben:

Attribut Unterattribute Unterstützt Beschränkungen
userName Ja
name formatted, familyName, givenName, middleName, honorificPrefix, honorificSuffix Ja
displayName Ja
nickName Ja
profileUrl Ja
title Ja
userType Ja
preferredLanguage Ja
locale Ja
timezone Ja
active Ja
password Nein
emails display, type, value, primary Ja Nur der E‑Mail-Typ work wird unterstützt.
phoneNumbers display, type, value, primary Ja
ims display, type, value Ja
photos display, type, value Ja
addresses formatted, streetAddress, locality, region, postalCode, country Ja
groups Nein
entitlements display, type, value Ja
roles type, value Ja display wird nicht unterstützt
x509Certificates type, value Ja display wird nicht unterstützt

Gruppenattribute

In der folgenden Tabelle wird die Unterstützung für Gruppenattribute beschrieben:

Attribut Unterstützte Unterattribute
displayName
externalId
members value, type, $ref, display

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
employeeNumber
costCenter
organization
division
department
manager value, $ref, displayName

Nächste Schritte