In diesem Dokument wird beschrieben, wie Sie einen SCIM-Mandanten in einem Workforce Identity-Pool konfigurieren. Weitere Informationen zu SCIM finden Sie unter SCIM-Bereitstellung für die Workforce Identity-Föderation.
Jeder Workforce Identity-Pool unterstützt nur einen SCIM-Mandanten. Wenn Sie einen neuen SCIM-Mandanten in einem Pool konfigurieren möchten, der bereits einen hat, müssen Sie den vorhandenen Mandanten zuerst endgültig löschen.
Das Flag --claim-mapping für einen SCIM-Mandanten kann nur bestimmte Common Expression Language (CEL)-Ausdrücke enthalten. Welche Ausdrücke unterstützt werden, erfahren Sie unter Token- und SCIM-Attribute zuordnen.
So konfigurieren Sie System for Cross-domain Identity Management (SCIM):
- SCIM-Mandanten und ‑Token in konfigurieren Google Cloud
- SCIM in OIDC- oder SAML-IdP konfigurieren
- Anbieter aktualisieren, um SCIM zu aktivieren
- SCIM-Synchronisierung prüfen
SCIM-Mandanten und ‑Token in konfigurieren Google Cloud
So konfigurieren Sie einen SCIM-Mandanten in Google Cloud:
-
SCIM-Mandanten erstellen.
gcloud iam workforce-pools providers scim-tenants create SCIM_TENANT_ID \ --workforce-pool="WORKFORCE_POOL_ID" \ --provider="PROVIDER_ID" \ --display-name="SCIM_TENANT_DISPLAY_NAME" \ --description="SCIM_TENANT_DESCRIPTION" \ --claim-mapping="CLAIM_MAPPING" \ --location="global"Ersetzen Sie Folgendes:
SCIM_TENANT_ID: eine ID für Ihren SCIM-Mandanten.WORKFORCE_POOL_ID: die ID des Workforce-Pools, den Sie zuvor in diesem Dokument erstellt haben.PROVIDER_ID: die ID des Anbieters des Workforce Identity-Pools, den Sie zuvor in diesem Dokument erstellt haben.SCIM_TENANT_DISPLAY_NAME: ein Anzeigename für Ihren SCIM-Mandanten.SCIM_TENANT_DESCRIPTION: eine Beschreibung für Ihren SCIM-Mandanten.CLAIM_MAPPING: eine durch Kommas getrennte Liste von Attributzuordnungen. Eine erweiterte Liste der Zuordnungsattribute finden Sie unter Token- und SCIM-Attribute zuordnen. Die folgende Zuordnung wird für Gemini Enterprise empfohlen:google.subject=user.emails[0].value.lowerAscii(),google.group=group.externalIdDas Attribut
google.subject, das Sie im SCIM-Mandanten zuordnen, muss eindeutig auf dieselben Identitäten verweisen, die im Attributgoogle.subjectim Anbieter des Workforce Identity-Pools mit dem Flag--attribute-mappingzugeordnet sind. Nachdem der SCIM-Mandant erstellt wurde, können Sie die Zuordnung von Ansprüchen nicht mehr aktualisieren. Wenn Sie sie ersetzen möchten, können Sie den SCIM-Mandanten endgültig löschen und sofort einen neuen erstellen. Weitere Informationen zu den Überlegungen zur Verwendung von SCIM finden Sie unter SCIM-Support.
-
Wenn der Befehl abgeschlossen ist, gehen Sie so vor:
-
Speichern Sie im Feld
baseUriin der Ausgabe den gesamten URI im Formathttps://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID. Sie müssen diesen URI Ihrem IdP zur Verfügung stellen. -
Speichern Sie außerdem nur die
SCIM_TENANT_UIDaus dem URI. Sie benötigen diese UID, um später in diesem Dokument eine IAM-Zulassungsrichtlinie für den SCIM-Mandanten festzulegen.
-
Speichern Sie im Feld
-
SCIM-Token erstellen:
gcloud iam workforce-pools providers scim-tenants tokens create SCIM_TOKEN_ID \ --display-name DISPLAY_NAME \ --scim-tenant SCIM_TENANT_ID \ --workforce-pool WORKFORCE_POOL_ID \ --provider PROVIDER_ID \ --location globalErsetzen Sie Folgendes:
SCIM_TOKEN_ID: eine ID für das SCIM-TokenDISPLAY_NAME: der Anzeigename des SCIM-TokensWORKFORCE_POOL_ID: die ID des Workforce-PoolsSCIM_TENANT_ID: die ID des SCIM-MandantenPROVIDER_ID: die ID des Anbieters des Workforce Identity-Pools
-
Wenn der Befehl
gcloud iam workforce-pools providers scim-tenants tokens createabgeschlossen ist, gehen Sie so vor:-
Speichern Sie in der Ausgabe den Wert von
SCIM_TOKENimsecurityTokenFeld. Sie müssen dieses Sicherheits token Ihrem IdP zur Verfügung stellen. Das Sicherheitstoken wird nur in dieser Ausgabe angezeigt, und wenn es verloren geht, müssen Sie ein neues SCIM-Token erstellen. -
Führen Sie den folgenden Befehl aus, um zu prüfen, ob
SCIM_TOKENvon Ihrer Organisationsrichtlinie abgelehnt wird:curl -v -H "Authorization: Bearer SCIM_TOKEN" https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Users
Wenn der Befehl mit einem Berechtigungsfehler fehlschlägt, führen Sie
gcloud organizations add-iam-policy-bindingaus, wie in einem späteren Schritt beschrieben. Wenn der Befehl erfolgreich ausgeführt wird, können Sie diesen Schritt überspringen.
-
-
Legen Sie eine IAM-Zulassungsrichtlinie für den SCIM-Mandanten und das SCIM-Token fest. Wenn der
curlBefehl in einem vorherigen Schritt mit einem Berechtigungsfehler fehlgeschlagen ist, müssen Sie den folgenden Befehl ausführen:gcloud organizations add-iam-policy-binding ORGANIZATION_ID \ --member=serviceAccount:SERVICE_AGENT_EMAIL \ --role roles/iam.scimSyncerErsetzen Sie Folgendes:
- ORGANIZATION_ID: die ID der Organisation.
- SERVICE_AGENT_EMAIL: die E‑Mail-Adresse des Dienst-Agents. Die E‑Mail-Adresse hat das folgende Format:
o-ORGANIZATION_ID-SCIM_TENANT_UID@gcp-sa-iamscim.iam.gserviceaccount.com. SCIM_TENANT_UID wird zurückgegeben, wenn Sie den SCIM-Mandanten erstellen.
Wenn Sie Gruppen in Ihrem IdP bereitstellen, muss der Anzeigename jeder Gruppe im Feld displayName innerhalb eines SCIM-Mandanten eindeutig sein. Weitere Informationen zu Gruppen und
SCIM in Microsoft Entra ID finden Sie unter
Gruppen.
SCIM in Ihrem OIDC- oder SAML-IdP konfigurieren
Konfigurieren Sie SCIM in Ihrem IdP wie in der IdP-Dokumentation beschrieben. Verwenden Sie die SCIM-URL und das SCIM-Token, die Sie im vorherigen Schritt erhalten haben.
Anbieter aktualisieren, um SCIM zu aktivieren
So aktivieren Sie SCIM für einen Anbieter:
OIDC
gcloud iam workforce-pools providers update-oidc PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=LOCATION \
--scim-usage=enabled-for-groups
Ersetzen Sie Folgendes:
PROVIDER_ID: die ID des Anbieters des Workforce Identity-PoolsWORKFORCE_POOL_ID: die ID des Workforce-PoolsLOCATION: der Standort des Workforce-Pools
SAML
gcloud iam workforce-pools providers update-saml PROVIDER_ID \
--workforce-pool=WORKFORCE_POOL_ID \
--location=LOCATION \
--scim-usage=enabled-for-groups
Ersetzen Sie Folgendes:
PROVIDER_ID: die ID des Anbieters des Workforce Identity-PoolsWORKFORCE_POOL_ID: die ID des Workforce-PoolsLOCATION: der Standort des Workforce-Pools
Informationen zum Prüfen der SCIM-Synchronisierung finden Sie unter SCIM-Synchronisierung prüfen.
Token- und SCIM-Attribute zuordnen
Sie müssen Attribute sowohl im Anbieter des Workforce Identity-Pools als auch im SCIM-Mandanten, der für den Anbieter konfiguriert ist, einheitlich zuordnen. Für den Anbieter des Workforce Identity-Pools verwenden Sie das Flag --attribute-mapping und für den SCIM-Mandanten das Flag --claim-mapping. Das IdP-Attribut, das für Nutzer google.subject zugeordnet ist, muss eindeutig auf dieselbe Identität verweisen, unabhängig davon, ob es in einem Token oder einer SCIM-Zuordnung definiert ist. Weitere Informationen zum Zuordnen von Attributen bei Verwendung von SCIM finden Sie im
Abschnitt SCIM-Support.
In der folgenden Tabelle sehen Sie, wie Sie Attribute in Token-Ansprüchen und SCIM-Attribute zuordnen:
| Google-Attribut | Zuordnung des Anbieters des Workforce Identity-Pools | Zuordnung des SCIM-Mandanten |
|---|---|---|
google.subject |
assertion.sub |
user.externalId |
google.group Aktualisieren Sie Ihren Anbieter mit --scim-usage=enabled-for-groups. |
N/A |
group.externalId |
SCIM-Synchronisierung prüfen
Nachdem Sie SCIM konfiguriert haben, können Sie mit curl prüfen, ob Nutzer und Gruppen korrekt mit synchronisiert werden Google Cloud. Für diese Befehle sind ein gültiges SCIM-Token und Ihre SCIM-Mandanten-ID erforderlich.
Nutzersynchronisierung prüfen
Wenn Sie prüfen möchten, ob ein Nutzer korrekt synchronisiert wurde, suchen Sie mit dem folgenden Filter nach dem userName des Nutzers:
curl -H "Authorization: Bearer SCIM_TOKEN" \ "https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Users?filter=userName%20eq%20%22USER_NAME%22"
Beispielantwort:
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 1,
"Resources": [
{
"id": "USER_ID",
"userName": "USER_NAME",
...
}
]
}
Gruppensynchronisierung prüfen
Wenn Sie prüfen möchten, ob eine Gruppe korrekt synchronisiert wurde, suchen Sie mit dem folgenden Filter nach dem displayName der Gruppe:
curl -H "Authorization: Bearer SCIM_TOKEN" \ "https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Groups?filter=displayName%20eq%20%22GROUP_NAME%22"
Beispielantwort:
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 1,
"Resources": [
{
"id": "GROUP_ID",
"displayName": "GROUP_NAME",
...
}
]
}
Gruppenmitgliedschaft prüfen
Wenn Sie prüfen möchten, ob ein bestimmter Nutzer Mitglied einer Gruppe ist, verwenden Sie einen Filter, der sowohl die Gruppen-ID als auch die Nutzer-ID angibt.
curl -H "Authorization: Bearer SCIM_TOKEN" \ "https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID/Groups?filter=id%20eq%20%22GROUP_ID%22%20and%20members%20eq%20%22USER_ID%22"
Beispielantwort, wenn der Nutzer Mitglied ist:
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 1,
"Resources": [
{
"id": "GROUP_ID",
"displayName": "GROUP_NAME",
...
}
]
}
Beispielantwort, wenn der Nutzer kein Mitglied ist:
{
"schemas": ["urn:ietf:params:scim:api:messages:2.0:ListResponse"],
"totalResults": 0,
"Resources": []
}
Hinweis:Um die GROUP_ID und USER_ID zu erhalten, suchen Sie zuerst mit den Filtern displayName und userName nach der Gruppe und dem Nutzer. Die IDs werden im Feld id der Antwort zurückgegeben. Ersetzen Sie SCIM_TOKEN, SCIM_TENANT_UID, USER_NAME, GROUP_NAME, GROUP_ID und USER_ID durch Ihre tatsächlichen Werte.
SCIM-Mandanten endgültig löschen
So löschen Sie einen SCIM-Mandanten endgültig:
- Wenn
--scim-usage=enabled-for-groupsfür Ihren Anbieter festgelegt ist, deaktivieren Sie es in der Anbieterkonfiguration:gcloud iam workforce-pools providers update-oidc PROVIDER_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --location=LOCATION \ --scim-usage=SCIM_USAGE_UNSPECIFIEDErsetzen Sie Folgendes:
PROVIDER_ID: die ID des Anbieters des Workforce Identity-PoolsWORKFORCE_POOL_ID: die ID des Workforce-PoolsLOCATION: der Standort des Workforce-Pools
- SCIM-Mandanten löschen:
gcloud iam workforce-pools providers scim-tenants delete SCIM_TENANT_ID \ --workforce-pool=WORKFORCE_POOL_ID \ --provider=PROVIDER_ID \ --hard-delete \ --location=globalErsetzen Sie Folgendes:
SCIM_TENANT_ID: die ID des zu löschenden SCIM-MandantenWORKFORCE_POOL_ID: die ID des Workforce-PoolsPROVIDER_ID: die ID des Anbieters des Workforce Identity-Pools
Nächste Schritte
- Fehlerbehebung bei der SCIM-Bereitstellung
- Nutzer von Identitätsföderation von Arbeitslasten und deren Daten löschen
- Produkte, die die Google Cloud Workforce Identity-Föderation unterstützen
- Nutzerzugriff auf die Console (föderiert) einrichten