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 einen ganzheitlichen Überblick über die Identitäten der Mitarbeiter 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 „Source of Truth“ 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 Workforce Identity-Föderation verwenden, gelten die folgenden Überlegungen:

  • 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. Es werden nur google.subject- und google.group-Zuordnungen ausgewertet.
    • enabled-for-users-groups (Looker) (Vorabversion): Hier werden SCIM-synchronisierte Nutzer- und Gruppendaten als Quelle für Ansprüche für IAM-Autorisierungs- und OAuth-Anmeldeworkflows verwendet. 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 Anbieter des Workforce Identity-Pools 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 pro Organisation und Minute begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits.

Claim-Mapping

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 Anforderungszuordnung

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 unveränderlich, sobald der SCIM-Mandant erstellt wurde. 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 obligatorisch 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 unveränderlich, sobald der SCIM-Mandant erstellt wurde. 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 -Konsole 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): Es werden nur google.subject- und google.group-Zuweisungen 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

Der IAM SCIM-Dienst (iamscim.googleapis.com) implementiert das SCIM 2.0-Protokoll (RFC 7644) und verarbeitet Anfragen am baseUri Ihres SCIM-Tenants:

https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID

In diesem URI ist SCIM_TENANT_UID die eindeutige Kennung Ihres SCIM-Mandanten.

Der IAM SCIM-Dienst unterstützt die folgenden Standard-SCIM-Protokollendpunkte relativ zum Mandanten baseUri:

  • /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 Methode PUT 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 Mitarbeiteridentitätsfö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 beim SCIM-Verhalten

  • Unveränderliche Kennungen:Die Werte von SCIM-Attributen, die google.subject oder google.group zugeordnet sind, werden in Google Cloudals unveränderliche Kennungen behandelt. Wenn Sie diese Werte ändern müssen, 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 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 nicht berücksichtigende Vergleiche für user.userName und user.emails[0].value wird nur .lowerAscii() unterstützt.

Einschränkungen für Attribute

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-Ansprüchen 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 der 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 bei der SCIM-Bereitstellung unterstützt, nicht in --claim-mapping)

Nächste Schritte