SCIM in Okta konfigurieren

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 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):
  1. SCIM-Mandanten und ‑Token in konfigurieren Google Cloud
  2. SCIM in Okta konfigurieren
  3. Anbieter aktualisieren, um SCIM zu aktivieren
  4. SCIM-Synchronisierung überprüfen

SCIM-Mandanten und ‑Token in konfigurieren Google Cloud

So konfigurieren Sie einen SCIM-Mandanten in Google Cloud:

  1. Erstellen Sie einen SCIM-Mandanten.

        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.displayName

      Das Attribut google.subject, das Sie im SCIM-Mandanten zuordnen, muss mit dem Flag --attribute-mapping eindeutig auf dieselben Identitäten verweisen, die im Attribut google.subject im Anbieter des Workforce Identity-Pools zugeordnet 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.

  2. Wenn der Befehl abgeschlossen ist, gehen Sie so vor:

    1. Speichern Sie im Feld baseUri in der Ausgabe den gesamten URI im Format https://iamscim.googleapis.com/v1alpha1/tenants/SCIM_TENANT_UID. Sie müssen diesen URI Ihrem IdP zur Verfügung stellen.
    2. Speichern Sie außerdem nur die SCIM_TENANT_UID aus dem URI. Sie benötigen diese UID, um später in diesem Dokument eine IAM-Zulassungsrichtlinie für den SCIM-Mandanten festzulegen.
  3. Erstellen Sie ein SCIM-Token:

        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 global
        

    Ersetzen Sie Folgendes:

    • SCIM_TOKEN_ID: eine ID für das SCIM-Token
    • DISPLAY_NAME: der Anzeigename des SCIM-Tokens
    • WORKFORCE_POOL_ID: die ID des Workforce-Pools
    • SCIM_TENANT_ID: die ID des SCIM-Mandanten
    • PROVIDER_ID: die ID des Anbieters des Workforce Identity-Pools
  4. Wenn der Befehl gcloud iam workforce-pools providers scim-tenants tokens create abgeschlossen ist, gehen Sie so vor:

    1. Speichern Sie in der Ausgabe den Wert von SCIM_TOKEN im securityToken Feld. 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.

    2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob SCIM_TOKEN von 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-binding aus, wie in einem späteren Schritt beschrieben. Wenn der Befehl erfolgreich ausgeführt wird, können Sie diesen Schritt überspringen.

  5. Legen Sie eine IAM-Zulassungsrichtlinie für den SCIM-Mandanten und das SCIM-Token fest. 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.scimSyncer
        

    Ersetzen 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 Okta konfigurieren

So konfigurieren Sie SCIM in Okta in Ihrer vorhandenen Okta-Anwendung:

  1. Melden Sie sich bei der Okta Admin-Konsole an.
  2. Rufen Sie Applications > Applications auf.
  3. Wählen Sie Ihre Anwendung aus oder erstellen Sie sie:

    • So wählen Sie eine vorhandene Anwendung aus:

      1. Klicken Sie auf den Namen der Anwendung, die Sie mit der Vorlage für die Mitarbeiteridentitätsföderation von Google Cloud erstellt haben.
      2. Gehen Sie so vor:

        1. Klicken Sie im Bereich App Settings (App-Einstellungen) auf Edit (Bearbeiten).
        2. Geben Sie im Feld Tenant (Mandant) die Mandanten-ID ein, die Sie über die gcloud CLI erhalten haben.
        3. Klicken Sie auf Done (Fertig).
    • So erstellen Sie eine neue Anwendung:

      1. Klicken Sie auf Browse App Catalog (App-Katalog ansehen).
      2. Geben Sie im Search-Feld Google Cloud Workforce Identity Federation ein und wählen Sie dann in den Ergebnissen die Integration Google Cloud Workforce Identity Federation aus.
      3. Klicken Sie auf Add Integration (Integration hinzufügen).

        1. Geben Sie im Feld Application (Anwendung) einen Namen für Ihre App ein.
        2. Geben Sie im Feld Tenant (Mandant) die Mandanten-ID ein, die Sie über die gcloud CLI erhalten haben.
        3. Klicken Sie auf Done (Fertig).
  4. Gehen Sie so vor:

    1. Klicken Sie im Bereich Integration auf Edit (Bearbeiten).

      1. Geben Sie im Feld API Token (API-Token) das SCIM-Token ein, das Sie von erhalten haben Google Cloud.
      2. Klicken Sie auf Test Credentials (Anmeldedaten testen), um die Gültigkeit des API-Tokens zu bestätigen.
      3. Wählen Sie Import Groups (Gruppen importieren) aus.
      4. Klicken Sie auf Save (Speichern).
    2. Klicken Sie im Bereich To App (Zur App) auf Edit (Bearbeiten).

      1. Wählen Sie Create Users (Nutzer erstellen), Update User Attributes (Nutzerattribute aktualisieren) und Deactivate users (Nutzer deaktivieren) aus.
      2. Klicken Sie auf Save (Speichern).

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-Pools
  • WORKFORCE_POOL_ID: die ID des Workforce-Pools
  • LOCATION: 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-Pools
  • WORKFORCE_POOL_ID: die ID des Workforce-Pools
  • LOCATION: der Standort des Workforce-Pools

Informationen zum Überprüfen der SCIM-Synchronisierung finden Sie unter SCIM-Synchronisierung überprü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, konsistent 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.subject assertion.subject user.userName
google.subject assertion.subject.lowerAscii() user.userName.lowerAscii()
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()
google.group Aktualisieren Sie Ihren Anbieter mit --scim-usage=enabled-for-groups. N/A group.displayName

SCIM-Synchronisierung überprüfen

Nachdem Sie SCIM konfiguriert haben, können Sie mit curl überprü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 überprü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 überprü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 überprü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:

  1. Wenn --scim-usage=enabled-for-groups fü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_UNSPECIFIED
            

    Ersetzen Sie Folgendes:

    • PROVIDER_ID: die ID des Anbieters des Workforce Identity-Pools
    • WORKFORCE_POOL_ID: die ID des Workforce-Pools
    • LOCATION: der Standort des Workforce-Pools

  2. 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=global
    

    Ersetzen Sie Folgendes:

    • SCIM_TENANT_ID: die ID des zu löschenden SCIM-Mandanten
    • WORKFORCE_POOL_ID: die ID des Workforce-Pools
    • PROVIDER_ID: die ID des Anbieters des Workforce Identity-Pools
    Weitere Informationen zu SCIM, einschließlich des Löschens von SCIM-Mandanten, finden Sie unter SCIM-Support.

Nächste Schritte