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 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-delete mit 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. Nur google.subject- und google.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. Wertet google.subject, google.group und alle konfigurierten Nutzer-Claims aus, z. B. google.display_name, google.profile_photo, google.email, google.posix_username und benutzerdefinierte attribute.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.subject muss eindeutig auf dieselben Identitäten verweisen. Sie geben google.subject im Anbieter des Mitarbeiteridentitätspools 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 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) 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.
  • 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 google.subject verwendet wird, muss sowohl in der Anbieterzuordnung (--attribute-mapping) als auch im SCIM-Mandanten (--claim-mapping) identisch sein. Wenn diese Zuordnungen nicht übereinstimmen, können sich Nutzer möglicherweise anmelden, werden aber nicht als Mitglieder von SCIM-bereitgestellten Gruppen erkannt.

Beschränkt auf die folgenden Basis-Ausdrücke (oder mit .lowerAscii()):
  • user.externalId
  • user.userName
  • user.emails[0].value

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()):
  • group.externalId
  • group.displayName

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 costcenter = "1234" definieren und mit principalSet://iam.googleapis.com/projects/PROJECT_NUMBER/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.costcenter/1234 darauf verweisen. Wenn Sie Zugriff auf diese Prinzipal-ID gewähren, erhalten Sie Zugriff auf alle Identitäten, die im IdP mit dieser Kostenstelle konfiguriert sind.

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): Nur google.subject- und google.group-Zuweisungen werden ausgewertet. Alle zusätzlichen Zuordnungen von Nutzeransprüchen in --claim-mapping werden ignoriert.
  • enabled-for-users-groups (Looker) (Vorschau): Hier werden google.subject, google.group und alle konfigurierten Nutzeransprüche (z. B. google.display_name, google.profile_photo, google.email, google.posix_username und benutzerdefinierte attribute.<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, 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 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 /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:Anfragen, die ein ungültiges API-Token enthalten, geben den Statuscode HTTP 401 von 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.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-Adressen: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 vom Typ work ist.

  • 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.userName und user.emails[0].value wird 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