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 Mitarbeiteridentitätsföderation.
Jeder Mitarbeiteridentitätspool unterstützt nur einen SCIM-Mandanten. Wenn Sie einen neuen SCIM-Mandanten in einem Pool konfigurieren möchten, in dem bereits einer vorhanden ist, müssen Sie zuerst den vorhandenen Mandanten endgültig löschen.
Das --claim-mapping-Flag für einen SCIM-Mandanten kann nur bestimmte CEL-Ausdrücke (Common Expression Language) enthalten. Welche Ausdrücke unterstützt werden, erfahren Sie hier.
So konfigurieren Sie System for Cross-domain Identity Management (SCIM):
- SCIM-Mandanten und ‑Token in Google Cloudkonfigurieren
- SCIM in OIDC- oder SAML-IdP konfigurieren
- Anbieter aktualisieren, um SCIM zu aktivieren
- SCIM-Synchronisierung überprüfen
SCIM-Mandant und ‑Token in Google Cloudkonfigurieren
So konfigurieren Sie einen SCIM-Mandanten in Google Cloud:
-
SCIM-Mandant 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. Für Gemini Enterprise wird die folgende Zuordnung 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 Mitarbeiteridentitäts-Poolanbieter mit dem Flag--attribute-mappingzugeordnet sind. Nachdem der SCIM-Mandant erstellt wurde, können Sie die Anspruchszuordnung nicht mehr aktualisieren. Um ihn zu ersetzen, 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-Unterstützung.
-
Wenn der Befehl abgeschlossen ist, gehen Sie so vor:
-
Speichern Sie in der Ausgabe im Feld
baseUriden gesamten URI, der alshttps://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UIDformatiert ist. 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 in der Ausgabe 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-Tokens.WORKFORCE_POOL_ID: die ID des Workforce-PoolsSCIM_TENANT_ID: die ID des SCIM-MandantenPROVIDER_ID: die ID des Bereitstellers des Mitarbeiteridentitätspools
-
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_TOKENim FeldsecurityToken. Sie müssen dieses Sicherheitstoken Ihrem IdP zur Verfügung stellen. Das Sicherheitstoken wird nur in dieser Ausgabe angezeigt. 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 der 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.
-
-
IAM-Zulassungsrichtlinie für den SCIM-Mandanten und das Token festlegen Wenn der
curl-Befehl 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.
Achten Sie beim Bereitstellen von Gruppen in Ihrem IdP darauf, dass der Anzeigename jeder Gruppe, wie im Feld displayName angegeben, innerhalb eines SCIM-Mandanten eindeutig ist. 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 gemäß der Dokumentation des IdP. Verwenden Sie die SCIM-URL und das SCIM-Token aus dem vorherigen Schritt.
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 Bereitstellers des MitarbeiteridentitätspoolsWORKFORCE_POOL_ID: die ID des Workforce-PoolsLOCATION: der Speicherort 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 Bereitstellers des MitarbeiteridentitätspoolsWORKFORCE_POOL_ID: die ID des Workforce-PoolsLOCATION: der Speicherort 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 Mitarbeiteridentitätspoolanbieter 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 sich eindeutig auf dieselbe Identität beziehen, unabhängig davon, ob es in einer Token- oder SCIM-Zuordnung definiert ist. Weitere Informationen zum Zuordnen von Attributen bei Verwendung von SCIM finden Sie im Abschnitt
SCIM-Unterstützung.
In der folgenden Tabelle sehen Sie, wie Sie Attribute in Tokenansprüchen und SCIM-Attributen zuordnen:
| Google-Attribut | Zuordnung von Anbietern von Workforce Identity-Pools | SCIM-Mandantenzuordnung |
|---|---|---|
google.subject |
assertion.sub |
user.externalId |
google.group Aktualisieren Sie Ihren Anbieter mit --scim-usage=enabled-for-groups. |
N/A |
group.externalId |
SCIM-Synchronisierung überprüfen
Nachdem Sie SCIM konfiguriert haben, können Sie mit curl prüfen, ob Nutzer und Gruppen richtig mit Google Cloudsynchronisiert werden. Für diese Befehle sind ein gültiges SCIM-Token und Ihre SCIM-Mandanten-ID erforderlich.
Nutzersynchronisierung überprüfen
So prüfen Sie, ob ein Nutzer richtig synchronisiert wurde: Suchen Sie mit dem folgenden Filter nach der 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
So prüfen Sie, ob eine Gruppe richtig synchronisiert wurde: Suchen Sie mit dem folgenden Filter nach der 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 bestätigen
Wenn Sie prüfen möchten, ob ein bestimmter Nutzer Mitglied einer Gruppe ist, verwenden Sie einen Filter, der sowohl die Gruppen- 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, müssen Sie zuerst die Gruppe und den Nutzer mit den Filtern displayName und userName finden. 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.
Löschen eines SCIM-Mandanten erzwingen
So erzwingen Sie das Löschen eines SCIM-Tenants:
- Wenn
--scim-usage=enabled-for-groupsfür Ihren Anbieter festgelegt ist, deaktivieren Sie die Option 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 Bereitstellers des MitarbeiteridentitätspoolsWORKFORCE_POOL_ID: die ID des Workforce-PoolsLOCATION: der Speicherort des Workforce-Pools
- Löschen Sie den SCIM-Mandanten:
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 Bereitstellers des Mitarbeiteridentitätspools
Nächste Schritte
- Nutzer von Identitätsföderation von Arbeitslasten und deren Daten löschen
- Weitere Informationen dazu, welche Google Cloud Produkte die Mitarbeiteridentitätsföderation unterstützen
- Nutzerzugriff auf die Console (föderiert) einrichten