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. Informationen dazu, welche Ausdrücke unterstützt werden, finden Sie unter Token- und SCIM-Attribute zuordnen.
So konfigurieren Sie System for Cross-domain Identity Management (SCIM):
- SCIM-Mandanten und ‑Token in Google Cloudkonfigurieren
- SCIM in Microsoft Entra ID 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. 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 Mitarbeiteridentitäts-Poolanbieter mit dem Flag--attribute-mappingzugeordnet sind. Nachdem der SCIM-Mandant erstellt wurde, können Sie die Anspruchszuordnung nicht mehr aktualisieren. Wenn Sie ihn 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-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 Microsoft Entra ID konfigurieren
So konfigurieren Sie SCIM in Microsoft Entra ID:
- Öffnen Sie das Azure-Portal und melden Sie sich als Nutzer mit globalen Administratorberechtigungen an.
- Wählen Sie Microsoft Entra ID > Unternehmensanwendungen aus.
- Klicken Sie auf Neue Anwendung.
- Klicken Sie unter Microsoft Entra-App-Katalog durchsuchen auf Eigene Anwendung erstellen.
-
Führen Sie im angezeigten Bereich Eigene Anwendung erstellen die folgenden Schritte aus:
- Geben Sie unter What's the name of your app (Wie heißt Ihre App?) den Namen Ihrer App ein.
- Wählen Sie Integrate any other application you don't find in gallery (Non-gallery) (Andere Anwendungen einbinden, die nicht in der Galerie zu finden sind (Nicht-Galerie)) aus.
- Klicken Sie auf Erstellen, um die App zu erstellen.
-
Gehen Sie in Ihrer Anwendung so vor:
- Klicken Sie im Bereich Verwalten auf Provisioning (Bereitstellung).
- Klicken Sie im rechten Bereich auf Neue Konfiguration.
-
Geben Sie unter Admin Credentials (Administratoranmeldedaten) in das Feld Tenant URL (Mandanten-URL) die SCIM-URL ein, die Sie beim Erstellen des SCIM-Mandanten erhalten haben, gefolgt von
?aadOptscim062020. Sie müssen?aadOptscim062020an das Ende der Basis-URI anhängen.Dieser Abfrageparameter ist für Microsoft Entra ID erforderlich, um sicherzustellen, dass SCIM PATCH-Anfragen den SCIM RFC-Standards entsprechen. Weitere Informationen finden Sie in der Dokumentation von Microsoft.
Die endgültige Mandanten-URL in Microsoft Entra ID sollte das folgende Format haben:
https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID?aadOptscim062020
Ersetzen Sie
SCIM_TENANT_UIDdurch die SCIM-Mandanten-UID. - Geben Sie unter Secret token (Geheimes Token) das geheime Token ein, das Sie beim Erstellen des SCIM-Tokens erhalten haben.
- Wenn Sie die SCIM-Konfiguration mit der Mitarbeiteridentitätsföderation testen möchten, klicken Sie auf Verbindung testen.
- Klicken Sie auf Erstellen, um die Konfiguration zu speichern.
-
Führen Sie im Bereich Verwalten folgende Schritte aus:
- Klicken Sie auf Attributzuordnung.
- Klicken Sie auf Microsoft Entra ID-Nutzer bereitstellen.
-
Führen Sie auf der Seite Attributzuordnung die folgenden Schritte aus:
-
Suchen Sie in der Tabelle Attribute mappings (Attributzuordnungen) nach der Zeile für externalId und klicken Sie in dieser Zeile auf Edit (Bearbeiten).
Führen Sie auf der Seite Attribute bearbeiten die folgenden Schritte aus:
-
Wählen Sie in der Drop-down-Liste Quellattribut die Option
objectIdaus. - Klicken Sie auf OK.
-
Wählen Sie in der Drop-down-Liste Quellattribut die Option
- Klicken Sie auf Speichern, um die Attributzuordnung zu speichern.
-
Suchen Sie in der Tabelle Attribute mappings (Attributzuordnungen) nach der Zeile für externalId und klicken Sie in dieser Zeile auf Edit (Bearbeiten).
Führen Sie auf der Seite Attribute bearbeiten die folgenden Schritte aus:
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 Token-Claims und SCIM-Attribute zuordnen:
| Google-Attribut | Zuordnung von Anbietern von Workforce Identity-Pools | SCIM-Mandantenzuordnung |
|---|---|---|
google.subject |
assertion.oid |
user.externalId |
google.subject |
assertion.attributes['http://schemas.microsoft.com/identity/claims/objectidentifier'][0] |
user.externalId |
google.subject |
assertion.email |
user.emails[0].value |
google.subject |
assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'][0] |
user.emails[0].value |
google.subject |
assertion.email.lowerAscii() |
user.emails[0].value.lowerAscii() |
google.subject |
assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'][0].lowerAscii() |
user.emails[0].value.lowerAscii() |
google.subject |
assertion.preferred_username |
user.userName |
google.subject |
assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0] |
user.userName |
google.subject |
assertion.preferred_username.lowerAscii() |
user.userName.lowerAscii() |
google.subject |
assertion.attributes['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name'][0].lowerAscii() |
user.userName.lowerAscii() |
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