Workforce Identity-Föderation mit Okta konfigurieren und Nutzer anmelden

In diesem Leitfaden erfahren Sie, wie Sie eine workforce identity föderation mit Okta als Identitätsanbieter konfigurieren, den Zugriff verwalten und Nutzer anmelden, um auf Google Cloud-Dienste zuzugreifen, die workforce identity föderation unterstützen.

Vorbereitung

  1. Sie müssen eine Google Cloud-Organisation eingerichtet haben.

  2. Install the Google Cloud CLI, then initialize it by running the following command:

    gcloud init

  3. Für die Anmeldung muss Ihr IdP signierte Authentifizierungsinformationen bereitstellen: OIDC-IdPs müssen ein JWT bereitstellen und SAML-IdP-Antworten müssen signiert sein.

  4. Wenn Sie wichtige Informationen zu Änderungen an Ihrer Organisation oder Ihren Google Cloud-Produkten erhalten möchten, müssen Sie Wichtige Kontakte angeben. Weitere Informationen finden Sie unter Workforce Identity Federation – Übersicht.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle IAM-Mitarbeiterpool-Administrator (roles/iam.workforcePoolAdmin) für die Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren der Mitarbeiteridentitätsföderation benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Alternativ enthält die einfache Rolle „IAM-Inhaber“ (roles/owner) auch Berechtigungen zum Konfigurieren der Identitätsföderation. In einer Produktionsumgebung sollten Sie keine einfachen Rollen zuweisen, Sie können sie aber in einer Entwicklungs- oder Testumgebung gewähren.

Workforce Identity-Pool erstellen

Console

So erstellen Sie den Workforce Identity-Pool:

  1. Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:

    Zu Workforce Identity-Pools

  2. Klicken Sie auf Pool erstellen und gehen Sie so vor:

    1. Geben Sie unter Name den Namen des Pools ein. Die Pool-ID wird während der Eingabe automatisch aus dem Namen abgeleitet.

    2. Optional: Klicken Sie auf Bearbeiten, um die ID zu aktualisieren.

    3. Optional: Geben Sie unter Beschreibung eine Beschreibung des Pools ein.

    4. Die Sitzungsdauer ist standardmäßig festgelegt. Klicken Sie auf Bearbeiten, um eine benutzerdefinierte Sitzungsdauer einzugeben. Die Sitzungsdauer bestimmt, wie lange die Google Cloud-Zugriffstokens, die Console-Anmeldesitzungen (föderiert) und die gcloud CLI-Anmeldungssitzungen aus diesem Workforce-Pool gültig sind. Die Dauer muss mehr als 15 Minuten (900s) und weniger als 12 Stunden (43.200s) betragen. Wenn keine Sitzungsdauer festgelegt ist, wird standardmäßig eine Dauer von einer Stunde (3.600 s) verwendet.

    5. Damit der Pool im aktivierten Status erstellt werden kann, muss Aktivierter Pool aktiviert sein.

    6. Klicken Sie zum Erstellen des Workforce Identity-Pools auf Weiter.

gcloud

Führen Sie folgenden Befehl aus, um den Workforce Identity-Pool zu erstellen:

gcloud iam workforce-pools create WORKFORCE_POOL_ID \
    --organization=ORGANIZATION_ID \
    --description="DESCRIPTION" \
    --session-duration=SESSION_DURATION \
    --location=global

Ersetzen Sie Folgendes:

  • WORKFORCE_POOL_ID: Eine ID, die Sie wählen, um den Google Cloud-Workforce-pool darzustellen. Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.
  • ORGANIZATION_ID: die numerische Organisations-ID Ihrer Google Cloud-Organisation.
  • DESCRIPTION: Beschreibung des Workforce Identity-Pools.
  • SESSION_DURATION: die Sitzungsdauer, die bestimmt, wie lange die Google Cloud-Zugriffstokens, die Console (föderiert)-Anmeldesitzungen und die gcloud CLI-Anmeldungssitzungen aus diesem Workforce-Pool gültig sind. Die Dauer muss mehr als 15 Minuten (900s) und weniger als 12 Stunden (43.200s) betragen. Wenn keine Sitzungsdauer festgelegt ist, wird standardmäßig eine Dauer von einer Stunde (3.600 s) verwendet.

Okta-App-Einbindung erstellen

In diesem Abschnitt werden die Schritte zum Erstellen einer Okta-App-Einbindung mithilfe der Okta Admin-Konsole beschrieben. Weitere Informationen finden Sie unter Benutzerdefinierte App-Integrationen erstellen.

Workforce-Pools unterstützen eine Föderation sowohl mit OIDC- als auch mit SAML-Protokollen.

Weitere Informationen finden Sie in Oktas Integrationsleitfaden zu OIDC und SAML. Die grundlegende Konfiguration wird in diesem Abschnitt beschrieben.

OIDC

Führen Sie folgende Schritte aus, um eine Okta-App-Einbindung zu erstellen, die das OIDC-Protokoll verwendet:

  1. Melden Sie sich bei der Okta Admin-Konsole an.
  2. Rufen Sie Anwendungen > Anwendungen auf.
  3. So konfigurieren Sie die App-Einbindung:

    1. Klicken Sie auf App-Einbindung erstellen.
    2. Wählen Sie unter Anmeldemethode OIDC – OpenID Connect.
    3. Wählen Sie unter Anwendungstyp einen Anwendungstyp aus, z. B. Webanwendung.
    4. Klicken Sie auf Weiter, um die Anwendung zu erstellen.
    5. Geben Sie unter Name der App-Einbindung einen Namen für Ihre App ein.
    6. Markieren Sie im Abschnitt Grant-Typ das Kästchen Implizit (Hybrid).
    7. Geben Sie im Abschnitt Anmeldung: Weiterleitungs-URIs eine Weiterleitungs-URL in das Textfeld ein. Ihre Nutzer werden nach der erfolgreichen Anmeldung zu dieser URL weitergeleitet. Wenn Sie den Zugriff auf die Console (föderiert) konfigurieren, müssen Sie das folgende URL-Format verwenden:

      https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
      

      Ersetzen Sie Folgendes:

      • WORKFORCE_POOL_ID ist die ID des Personalpools, den Sie zuvor in dieser Anleitung erstellt haben
      • WORKFORCE_PROVIDER_ID: die ID eines Mitarbeiteridentitäts-Anbieters Ihrer Wahl; Beispiel: okta-oidc-provider. Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.
    8. Markieren Sie das Kästchen Gruppenzuweisung vorerst überspringen.

    9. Klicken Sie auf Speichern, um die App-Integration zu speichern.

  4. Eine Anwendungsintegration einem Nutzer zuweisen.

  5. Optional: So fügen Sie benutzerdefinierte Attribute für ein Okta-Nutzerprofil hinzu:

    1. Wählen Sie unter Datentyp string aus.
    2. Geben Sie unter Anzeigename Department ein.
    3. Geben Sie unter Variablenname department ein.
    4. Klicken Sie auf Speichern, um die Zuordnung zu speichern.

    Weitere Informationen zum Hinzufügen benutzerdefinierter Attribute finden Sie unter Einem Okta-Nutzerprofil benutzerdefinierte Attribute hinzufügen.

  6. Optional: Um Zuordnungen für die Attribute zu erstellen, die im OIDC-Token gesendet werden, klicken Sie unter Verzeichnis auf Profileditor und gehen Sie so vor:

    1. Suchen Sie die OIDC-Anwendung, die Sie zuvor in dieser Anleitung erstellt haben.
    2. Klicken Sie auf Zuordnungen.
    3. Wählen Sie den Tab Okta-Nutzer an App aus.
    4. Geben Sie auf dem Tab Okta-Nutzerprofil in einem verfügbaren Kombinationsfeld department ein. Okta wird automatisch als user.department abgeschlossen.
    5. Klicken Sie auf Zuordnungen speichern, um die Zuordnungen zu speichern. Weitere Informationen finden Sie unter Attributzuordnung hinzufügen.

    Weitere Informationen zu Zuordnungen finden Sie unter App-Attributen im Profileditor Okta-Attribute zuordnen.

  7. Optional: So konfigurieren Sie eine Gruppenanforderung:

    1. Wenn Sie einen Organisationsautorisierungsserver verwenden, gehen Sie so vor:
      1. Rufen Sie Anwendungen > Anwendungen auf
      2. Wählen Sie die zuvor in diesem Abschnitt erstellte OpenID Connect-Clientanwendung.
      3. Gehen Sie zum Tab Anmelden.
      4. Klicken Sie im Abschnitt OpenID Connect-ID-Token auf Bearbeiten.
      5. Im Abschnitt Gruppenanforderungstyp können Sie eine der folgenden Optionen auswählen:
        • Wählen Sie Ausdruck.
        • Wählen Sie Stimmt mit regulärem Ausdruck überein und geben Sie .* ein.
      6. Klicken Sie zum Speichern der Gruppenanforderung auf Speichern.
      7. Wenn Sie den Anbieter eines Mitarbeiteridentitätspools später in dieser Anleitung erstellen, fügen Sie groups als zusätzlichen Bereich hinzu, um die Gruppenanforderung von Okta für die Web-Einmalanmeldung anzufordern. Dieser Schritt ist nur erforderlich, wenn Sie den browserbasierten Anmeldeablauf in der Console (föderiert) oder in der gcloud CLI verwenden.
    2. Wenn Sie einen benutzerdefinierten Autorisierungsserver verwenden, gehen Sie so vor:
      1. Wählen Sie in der Admin-Konsole im Menü Sicherheit die Option API aus.
      2. Wählen Sie den benutzerdefinierten Autorisierungsserver aus, den Sie konfigurieren möchten.
      3. Klicke auf den Tab Anforderungen und dann auf Anspruch hinzufügen.
      4. Geben Sie einen Namen für den Anspruch ein. In diesem Beispiel nennen wir ihn groups.
      5. Wählen Sie in Ihrer Anforderung unter In Tokentyp einschließen die Option ID-Token und dann Immer aus.
      6. Wählen Sie Gruppen als Werttyp aus.
      7. Wählen Sie im Drop-down-Menü "Filter" die Option stimmt mit regulärem Ausdruck überein aus und geben Sie dann den folgenden Ausdruck als Wert ein: .*
      8. Klicken Sie auf Erstellen.

Weitere Informationen zu Gruppenanforderungen finden Sie unter Gruppenanforderung hinzufügen.

SAML

Führen Sie folgende Schritte aus, um eine Okta-App-Einbindung zu erstellen, die das SAML-Protokoll verwendet:

  1. Melden Sie sich bei der Okta Admin-Konsole an.
  2. Rufen Sie Anwendungen > Anwendungen auf.
  3. Klicken Sie auf App-Einbindung erstellen.
  4. Wählen Sie unter Anmeldemethode die Option SAML 2.0 aus und klicken Sie auf Weiter.
  5. Geben Sie einen Namen für die App ein und klicken Sie auf Weiter, um mit den SAML konfigurieren-Optionen fortzufahren.
  6. Geben Sie unter URL zur Einmalanmeldung eine Weiterleitungs-URL ein. Dies ist die URL, zu der Nutzer nach einer erfolgreichen Anmeldung weitergeleitet werden. Wenn Sie den Zugriff auf die Console (föderiert) konfigurieren, müssen Sie das folgende URL-Format verwenden:

    https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

  7. Geben Sie den Zielgruppen-URI (SP Entity ID) ein. Die ID wird so formatiert:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID

    Ersetzen Sie Folgendes:

    • WORKFORCE_POOL_ID ist die ID des Personalpools, den Sie zuvor in dieser Anleitung erstellt haben
    • WORKFORCE_PROVIDER_ID ist die ID eines Mitarbeiter-Identitätsanbieters Ihrer Wahl Beispiel: okta-saml-provider

    Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.

  8. Optional: Verwenden Sie Attributanweisungen, um alle benutzerdefinierten Attribute anzugeben, die Sie in der SAML-Assertion senden möchten. Nach der Einrichtung können diese Attribute in Google Cloud verwendet werden, um Richtlinien zur Zugriffsverwaltung zu erstellen, oder in der attribute_condition. In dieser Anleitung ordnen Sie die Abteilung beispielsweise so zu:

    Name Wert
    department user.department

    Optional: Informationen dazu, wie Sie die Gruppenanforderungen hinzufügen, die später in diesem Leitfaden verwendet wird, finden Sie unter Gruppenmitgliedschaft eines Nutzers in einer SAML-Assertion übergeben.

  9. Schließen Sie die Erstellung der Okta-App-Einbindung ab.

Workforce Identity-Anbieter erstellen

In diesem Abschnitt wird beschrieben, wie Sie einen Anbieter von Workforce-Identitätspools erstellen, um Ihren IdP-Nutzern den Zugriff auf Google Cloud zu ermöglichen. Sie können den Anbieter so konfigurieren, dass er entweder das OIDC- oder das SAML-Protokoll verwendet.

OIDC-Workforce-Pool-Anbieter erstellen

So erstellen Sie einen Workforce Identity-Pool-Anbieter für Ihre Okta-App-Einbindung mit dem OIDC-Protokoll:

  1. So rufen Sie die Client-ID für die Okta-App-Einbindung ab:

    1. Rufen Sie die Okta-App-Einbindung auf.
    2. Klicken Sie auf den Tab Allgemein.
    3. Kopieren Sie den Inhalt des Felds Client-ID.
  2. So erstellen Sie einen OIDC-Anbieter von Mitarbeiteridentitätspools für die Webanmeldung:

    Console

    Codeablauf

    1. Gehen Sie in Okta so vor:

      1. Wählen Sie unter Clientauthentifizierung die Option Clientschlüssel aus.

      2. Suchen Sie in der Tabelle Clientschlüssel das Secret und klicken Sie auf Kopieren.

    2. So erstellen Sie in der Google Cloud Console einen OIDC-Anbieter, der den Autorisierungscode-Ablauf verwendet:

      1. Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:

        Zu Workforce Identity-Pools

      2. Wählen Sie in der Tabelle Workforce Identity-Pools den Pool aus, für den Sie den Anbieter erstellen möchten.

      3. Klicken Sie in der Tabelle Anbieter auf Anbieter hinzufügen.

      4. Wählen Sie unter Protokoll auswählen die Option Open ID Connect (OIDC) aus.

      5. Gehen Sie unter Pool-Anbieter erstellen so vor:

        1. Geben Sie unter Name einen Namen für den Anbieter ein.
        2. Geben Sie unter Aussteller (URL) den URI des Ausstellers ein. Der OIDC-Aussteller-URI muss ein gültiges URI-Format haben und mit https beginnen. Beispiel: https://example.com/oidc
        3. Geben Sie die Client-ID ein. Dies ist die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit der aud-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird.
        4. Wenn Sie einen aktivierten Anbieter erstellen möchten, muss die Option Aktivierter Anbieter aktiviert sein.
        5. Klicken Sie auf Weiter.
      6. Gehen Sie unter Antworttyp so vor: Der Antworttyp wird nur für eine webbasierte Einmalanmeldung verwendet.

        1. Wählen Sie unter Antworttyp die Option Code aus.
        2. Geben Sie unter Clientschlüssel den Clientschlüssel von Ihrem IdP ein.
        3. Wählen Sie unter Verhalten bei Assertion-Anforderungen eine der folgenden Optionen aus:

          • Nutzerinformationen und ID-Token
          • Nur ID-Token
        4. Klicken Sie auf Weiter.

      7. Unter Anbieter konfigurieren können Sie eine Attributzuordnung und eine Attributbedingung konfigurieren. So erstellen Sie eine Attributzuordnung: Sie können entweder den Namen des IdP-Felds oder einen CEL-formatierten Ausdruck angeben, der einen String zurückgibt.

        1. Erforderlich: Geben Sie in OIDC 1 den Betreff des IdP ein. Beispiel: assertion.sub
        2. Optional: So fügen Sie zusätzliche Attributzuordnungen hinzu:

          1. Klicken Sie auf Zuordnung hinzufügen.
          2. Geben Sie in Google n, wobei n eine Zahl ist, einen der von Google Cloud unterstützten Schlüssel ein.
          3. Geben Sie im entsprechenden Feld OIDC n den Namen des IdP-spezifischen Felds im CEL-Format ein.
        3. So erstellen Sie eine Attributbedingung:

          1. Klicken Sie auf Bedingung hinzufügen.
          2. Geben Sie unter Attributbedingungen eine Bedingung im CEL-Format ein, z. B. assertion.subject.endsWith('@example.com'), wenn der zuvor zugeordneter Wert von subject eine E-Mail-Adresse enthält, die mit @example.com endet.
      8. Klicken Sie auf Senden, um den Anbieter zu erstellen.

    Impliziter Ablauf

    1. Gehen Sie in der Google Cloud Console so vor:

      1. Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:

        Zu Workforce Identity-Pools

      2. Wählen Sie in der Tabelle Workforce Identity-Pools den Pool aus, für den Sie den Anbieter erstellen möchten.

      3. Klicken Sie in der Tabelle Anbieter auf Anbieter hinzufügen.

      4. Wählen Sie unter Protokoll auswählen die Option Open ID Connect (OIDC) aus.

      5. Gehen Sie unter Pool-Anbieter erstellen so vor:

        1. Geben Sie unter Name einen Namen für den Anbieter ein.
        2. Geben Sie unter Aussteller (URL) den URI des Ausstellers ein. Der OIDC-Aussteller-URI muss ein gültiges URI-Format haben und mit https beginnen. Beispiel: https://example.com/oidc
        3. Geben Sie die Client-ID ein. Dies ist die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit der aud-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird.
        4. Wenn Sie einen aktivierten Anbieter erstellen möchten, muss die Option Aktivierter Anbieter aktiviert sein.
        5. Klicken Sie auf Weiter.
      6. Gehen Sie unter Antworttyp so vor: Der Antworttyp wird nur für eine webbasierte Einmalanmeldung verwendet.

        1. Wählen Sie unter Antworttyp die Option ID-Token aus.
        2. Klicken Sie auf Weiter.
      7. Unter Anbieter konfigurieren können Sie eine Attributzuordnung und eine Attributbedingung konfigurieren. So erstellen Sie eine Attributzuordnung: Sie können entweder den Namen des IdP-Felds oder einen CEL-formatierten Ausdruck angeben, der einen String zurückgibt.

        1. Erforderlich: Geben Sie in OIDC 1 den Betreff des IdP ein. Beispiel: assertion.sub

        2. Optional: So fügen Sie zusätzliche Attributzuordnungen hinzu:

          1. Klicken Sie auf Zuordnung hinzufügen.
          2. Geben Sie in Google n, wobei n eine Zahl ist, einen der von Google Cloud unterstützten Schlüssel ein.
          3. Geben Sie im entsprechenden Feld OIDC n den Namen des IdP-spezifischen Felds im CEL-Format ein.
        3. So erstellen Sie eine Attributbedingung:

          1. Klicken Sie auf Bedingung hinzufügen.
          2. Geben Sie unter Attributbedingungen eine Bedingung im CEL-Format ein, z. B. assertion.subject.endsWith('@example.com'), wenn der zuvor zugeordneter Wert von subject eine E-Mail-Adresse enthält, die mit @example.com endet.
      8. Klicken Sie auf Senden, um den Anbieter zu erstellen.

    gcloud

    Codeablauf

    Gehen Sie in Okta so vor:

    1. Wählen Sie unter Clientauthentifizierung die Option Clientschlüssel aus.

    2. Suchen Sie in der Tabelle Clientschlüssel das Secret und klicken Sie auf Kopieren.

    Führen Sie in Google Cloud den folgenden Befehl aus, um einen OIDC-Anbieter zu erstellen, der den Autorisierungscode-Ablauf für die Webanmeldung verwendet:

    gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
    --client-secret-value="OIDC_CLIENT_SECRET" \ --web-sso-response-type="code" \ --web-sso-assertion-claims-behavior="merge-user-info-over-id-token-claims" \ --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \ --attribute-mapping="ATTRIBUTE_MAPPING" \ --attribute-condition="ATTRIBUTE_CONDITION" \ --jwk-json-path="JWK_JSON_PATH" \ --location=global

    Ersetzen Sie Folgendes:

    • PROVIDER_ID: eine eindeutige Anbieter-ID Das Präfix gcp- ist reserviert und kann nicht in einem Pool oder einer Anbieter-ID verwendet werden.
    • WORKFORCE_POOL_ID: die ID des Mitarbeiteridentitätspools, mit dem Ihr IdP verbunden werden soll
    • DISPLAY_NAME: ein optionaler nutzerfreundlicher Anzeigename für den Anbieter; Beispiel: idp-eu-employees
    • DESCRIPTION: eine optionale Beschreibung des Mitarbeiter-Anbieters. Beispiel: IdP for Partner Example Organization employees
    • ISSUER_URI: der OIDC-Aussteller-URI in einem gültigen URI-Format, das mit https beginnt. Beispiel: https://example.com/oidc. Hinweis: Aus Sicherheitsgründen muss ISSUER_URI das HTTPS-Schema verwenden.
    • OIDC_CLIENT_ID: die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit der aud-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird.
    • OIDC_CLIENT_SECRET: der OIDC-Clientschlüssel
    • WEB_SSO_ADDITIONAL_SCOPES: Optionale zusätzliche Bereiche, die an den OIDC-IdP für die Console (föderiert) oder die browserbasierte Anmeldung über die gcloud CLI gesendet werden; Beispiel: groups, um die Gruppenanforderung von Okta anzufordern, wenn der Organisationsautorisierungsserver von Okta verwendet wird.
    • ATTRIBUTE_MAPPING: eine Attributzuordnung; Beispiel:
      google.subject=assertion.sub,
      google.groups=assertion.group1,
      attribute.costcenter=assertion.costcenter
      In diesem Beispiel werden die IdP-Attribute subject, assertion.group1 und costcenter in der OIDC-Assertion den Attributen google.subject, google.groups bzw. attribute.costcenter zugeordnet.
    • ATTRIBUTE_CONDITION: eine Attributbedingung; Beispiel: assertion.subject.endsWith('@example.com'), wenn der zuvor zugeordnete Wert subject eine E-Mail-Adresse enthält, die mit @example.com endet.
    • JWK_JSON_PATH: Ein optionaler Pfad zu einem lokal hochgeladenen OIDC-JWKs. Wenn dieser Parameter nicht angegeben ist, verwendet Google Cloud stattdessen den Pfad „/.well-known/openid-configuration“ Ihres IdP, um die JWKs mit den öffentlichen Schlüsseln zu beziehen. Weitere Informationen zu lokal hochgeladenen OIDC JWKs finden Sie unter OIDC-JWKs verwalten.
    In der Befehlsantwort ist POOL_RESOURCE_NAME der Name des Pools, z. B. locations/global/workforcePools/enterprise-example-organization-employees.

    Impliziter Ablauf

    Führen Sie den folgenden Befehl aus, um einen OIDC-Anbieter zu erstellen, der den impliziten Ablauf für die Webanmeldung verwendet:

    gcloud iam workforce-pools providers create-oidc PROVIDER_ID \
        --workforce-pool=WORKFORCE_POOL_ID \
        --display-name="DISPLAY_NAME" \
        --description="DESCRIPTION" \
        --issuer-uri="ISSUER_URI" \
        --client-id="OIDC_CLIENT_ID" \
        --web-sso-response-type="id-token" \
        --web-sso-assertion-claims-behavior="only-id-token-claims" \
        --web-sso-additional-scopes="WEB_SSO_ADDITIONAL_SCOPES" \
        --attribute-mapping="ATTRIBUTE_MAPPING" \
        --attribute-condition="ATTRIBUTE_CONDITION" \
        --jwk-json-path="JWK_JSON_PATH" \
        --location=global
    

    Ersetzen Sie Folgendes:

    • PROVIDER_ID: eine eindeutige Anbieter-ID Das Präfix gcp- ist reserviert und kann nicht in einem Pool oder einer Anbieter-ID verwendet werden.
    • WORKFORCE_POOL_ID: die ID des Mitarbeiteridentitätspools, mit dem Ihr IdP verbunden werden soll
    • DISPLAY_NAME: ein optionaler nutzerfreundlicher Anzeigename für den Anbieter; Beispiel: idp-eu-employees
    • DESCRIPTION: eine optionale Beschreibung des Mitarbeiter-Anbieters. Beispiel: IdP for Partner Example Organization employees
    • ISSUER_URI: der OIDC-Aussteller-URI in einem gültigen URI-Format, das mit https beginnt. Beispiel: https://example.com/oidc. Hinweis: Aus Sicherheitsgründen muss ISSUER_URI das HTTPS-Schema verwenden.
    • OIDC_CLIENT_ID: die OIDC-Client-ID, die bei Ihrem OIDC-IdP registriert ist. Die ID muss mit der aud-Anforderung des JWT übereinstimmen, die von Ihrem IdP ausgestellt wird.
    • WEB_SSO_ADDITIONAL_SCOPES: Optionale zusätzliche Bereiche, die an den OIDC-IdP für die Console (föderiert) oder die browserbasierte Anmeldung über die gcloud CLI gesendet werden; Beispiel: groups, um die Gruppenanforderung von Okta anzufordern, wenn der Organisationsautorisierungsserver von Okta verwendet wird.
    • ATTRIBUTE_MAPPING: eine Attributzuordnung; Beispiel:
      google.subject=assertion.sub,
      google.groups=assertion.group1,
      attribute.costcenter=assertion.costcenter
      In diesem Beispiel werden die IdP-Attribute subject, assertion.group1 und costcenter in der OIDC-Assertion den Attributen google.subject, google.groups bzw. attribute.costcenter zugeordnet.
    • ATTRIBUTE_CONDITION: eine Attributbedingung; Beispiel: assertion.subject.endsWith('@example.com'), wenn der zuvor zugeordnete Wert subject eine E-Mail-Adresse enthält, die mit @example.com endet.
    • JWK_JSON_PATH: Ein optionaler Pfad zu einem lokal hochgeladenen OIDC-JWKs. Wenn dieser Parameter nicht angegeben ist, verwendet Google Cloud stattdessen den Pfad „/.well-known/openid-configuration“ Ihres IdP, um die JWKs mit den öffentlichen Schlüsseln zu beziehen. Weitere Informationen zu lokal hochgeladenen OIDC JWKs finden Sie unter OIDC-JWKs verwalten.
    In der Befehlsantwort ist POOL_RESOURCE_NAME der Name des Pools, z. B. locations/global/workforcePools/enterprise-example-organization-employees.

SAML-Workforce-Pool-Anbieter erstellen

  1. Registrieren Sie bei Ihrem SAML-IdP eine neue Anwendung für die Google Cloud-Workforce Identity-Föderation.

  2. Legen Sie die Zielgruppe für SAML-Assertions fest. Dies ist normalerweise das Feld SP Entity ID in Ihrer IdP-Konfiguration. Legen Sie sie auf die folgende URL fest:

    https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID
    
  3. Wenn Sie den Nutzerzugriff auf die Console einrichten möchten, setzen Sie in Ihrem SAML-IdP das Feld für die Weiterleitungs-URL oder ACS-URL (Assertion Consumer Service) auf die folgende URL:

    https://auth.cloud.google/signin-callback/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    

    Weitere Informationen zum Konfigurieren der Anmeldung in der Console finden Sie unter Nutzerzugriff auf die Console einrichten.

  4. Erstellen Sie in Google Cloud einen SAML-Mitarbeiteridentitätspoolanbieter mit dem SAML-Metadatendokument Ihres IdP. Sie können das SAML-Metadaten-XML-Dokument von Ihrem IdP herunterladen. Das Dokument muss mindestens Folgendes enthalten:

    • Eine SAML-Entitäts-ID für Ihren IdP
    • Die URL zur Einmalanmeldung (SSO) für Ihren IdP
    • Mindestens einen öffentlichen Signierschlüssel. Weitere Informationen zu Signierschlüsseln finden Sie weiter unten in dieser Anleitung unter Schlüsselanforderungen.

Console

So konfigurieren Sie den SAML-Anbieter mit der Google Cloud Console:

  1. Rufen Sie in der Google Cloud Console die Seite Workforce Identity-Pools auf:

    Zu Workforce Identity-Pools

  2. Wählen Sie in der Tabelle Workforce Identity-Pools den Pool aus, für den Sie den Anbieter erstellen möchten.

  3. Klicken Sie in der Tabelle Anbieter auf Anbieter hinzufügen.

  4. Wählen Sie unter Protokoll auswählen die Option SAML aus.

  5. Gehen Sie unter Pool-Anbieter erstellen so vor:

    1. Geben Sie unter Name einen Namen für den Anbieter ein.

    2. Optional: Geben Sie unter Beschreibung eine Beschreibung für den Anbieter ein.

    3. Wählen Sie in der IdP-Metadatendatei (XML) die XML-Metadatendatei aus, die Sie zuvor in dieser Anleitung generiert haben.

    4. Prüfen Sie, ob Aktivierter Anbieter aktiviert ist.

    5. Klicken Sie auf Weiter.

  6. Führen Sie unter Anbieter konfigurieren die folgenden Schritte aus:

    1. Geben Sie unter Attributzuordnung einen CEL-Ausdruck für google.subject ein.

    2. Optional: Wenn Sie andere Zuordnungen eingeben möchten, klicken Sie auf Zuordnung hinzufügen und geben Sie andere Zuordnungen ein. Beispiel:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      In diesem Beispiel werden die IdP-Attribute assertion.subject, assertion.attributes['https://example.com/aliases'] und assertion.attributes.costcenter[0] den Google Cloud-Attributen google.subject,google.groups bzw. google.costcenter zugeordnet.

    3. Optional: Klicken Sie auf Bedingung hinzufügen und geben Sie einen CEL-Ausdruck ein, der eine Attributbedingung darstellt, um eine Attributbedingung hinzuzufügen. Wenn Sie beispielsweise das Attribut ipaddr auf einen bestimmten IP-Bereich beschränken möchten, können Sie die Bedingung assertion.attributes.ipaddr.startsWith('98.11.12.') festlegen. Durch diese Beispielbedingung wird gewährleistet, dass sich nur Nutzer mit einer IP-Adresse, die mit 98.11.12. beginnt, über diesen Workforce-anbieter anmelden können.

    4. Klicken Sie auf Weiter.

  7. Klicken Sie auf Senden, um den Anbieter zu erstellen.

gcloud

So erstellen Sie einen Workforce Identity-Pool-Anbieter für die Einbindung Ihrer Okta-Anwendung mit dem SAML-Protokoll:

  1. So speichern Sie die SAML-Metadaten für Ihre Okta-Anwendung:

    1. Rufen Sie die Okta-Anwendung auf.
    2. Klicken Sie auf den Tab Anmelden.
    3. Klicken Sie im Abschnitt SAML-Signierungs-Zertifikate für das aktive Zertifikat auf Aktionen > Identitäsanbieter-Metadaten ansehen.
    4. Kopieren Sie auf der neuen Seite die XML-Metadaten.
    5. Speichern Sie die Metadaten als lokale XML-Datei.
  2. Führen Sie den folgenden Befehl aus, um einen Workforce-Anbieter für die Okta-Anwendung zu erstellen:

    gcloud iam workforce-pools providers create-saml WORKFORCE_PROVIDER_ID \
        --workforce-pool="WORKFORCE_POOL_ID" \
        --attribute-mapping="ATTRIBUTE_MAPPING" \
        --attribute-condition="ATTRIBUTE_CONDITION" \
        --idp-metadata-path="XML_METADATA_PATH" \
        --location="global"
    

    Ersetzen Sie Folgendes:

    • WORKFORCE_PROVIDER_ID: die ID des Workforce-anbieters, die Sie zuvor in dieser Anleitung erstellt haben.
    • WORKFORCE_POOL_ID: die ID des Workforce-pools, die Sie zuvor in dieser Anleitung erstellt haben.
    • ATTRIBUTE_MAPPING: eine Attributzuordnung; Beispiel:

      google.subject=assertion.subject,
      google.groups=assertion.attributes['https://example.com/aliases'],
      attribute.costcenter=assertion.attributes.costcenter[0]
      In diesem Beispiel werden die IdP-Attribute assertion.subject, assertion.attributes['https://example.com/aliases'] und assertion.attributes.costcenter[0] den Google Cloud-Attributen google.subject,google.groups bzw. google.costcenter zugeordnet.

    • ATTRIBUTE_CONDITION: eine optionale Attributbedingung. Wenn Sie beispielsweise das Attribut ipaddr auf einen bestimmten IP-Bereich beschränken möchten, können Sie die Bedingung assertion.attributes.ipaddr.startsWith('98.11.12.') festlegen. Durch diese Beispielbedingung wird gewährleistet, dass sich nur Nutzer mit einer IP-Adresse, die mit 98.11.12. beginnt, über diesen Workforce-anbieter anmelden können.

    • XML_METADATA_PATH: der Pfad zur Metadatendatei im XML-Format für die Okta-Anwendung, die Sie zuvor in dieser Anleitung erstellt haben.

    Das Präfix gcp- ist reserviert und kann nicht in einem Pool oder einer Anbieter-ID verwendet werden.

    Optional: Verschlüsselte SAML-Assertions von Ihrem IdP akzeptieren

    So ermöglichen Sie Ihrem SAML 2.0-IdP, verschlüsselte SAML-Assertions zu erstellen, die von der Workforce Identity-Föderation akzeptiert werden:

    • Führen Sie in der Mitarbeiteridentitätsföderation folgende Schritte aus:
      • Erstellen Sie ein asymmetrisches Schlüsselpaar für den Anbieter des Workforce Identity-Pools.
      • Laden Sie eine Zertifikatsdatei herunter, die den öffentlichen Schlüssel enthält.
      • Konfigurieren Sie Ihren SAML-IdP so, dass er den öffentlichen Schlüssel zum Verschlüsseln von SAML-Assertions verwendet.
    • Gehen Sie bei Ihrem IdP so vor:
      • Aktivieren Sie die Assertion-Verschlüsselung, auch als Tokenverschlüsselung bezeichnet.
      • Laden Sie den öffentlichen Schlüssel hoch, den Sie in der Workforce Identity-Föderation erstellt haben.
      • Prüfen Sie, ob Ihr IdP verschlüsselte SAML-Assertions erstellt.
    Beachten Sie, dass die Workforce Identity-Föderation auch dann eine Klartext-Assertion verarbeiten kann, wenn SAML-Verschlüsselungsanbieterschlüssel konfiguriert sind.

    SAML-Assertion-Verschlüsselungsschlüssel für die Workforce Identity-Föderation erstellen

    In diesem Abschnitt wird beschrieben, wie Sie ein asymmetrisches Schlüsselpaar erstellen, mit dem die Workforce Identity-Föderation verschlüsselte SAML-Assertions akzeptieren kann.

    Google Cloud verwendet den privaten Schlüssel zum Entschlüsseln der SAML-Assertions, die Ihr IdP ausgibt. Führen Sie den folgenden Befehl aus, um ein asymmetrisches Schlüsselpaar für die Verwendung mit der SAML-Verschlüsselung zu erstellen. Weitere Informationen finden Sie unter Unterstützte SAML-Verschlüsselungsalgorithmen.

    gcloud iam workforce-pools providers keys create KEY_ID \
        --workforce-pool WORKFORCE_POOL_ID \
        --provider PROVIDER_ID \
        --location global \
        --use encryption \
        --spec KEY_SPECIFICATION
    

    Ersetzen Sie Folgendes:

    • KEY_ID: ein Schlüsselname Ihrer Wahl
    • WORKFORCE_POOL_ID: die Pool-ID
    • PROVIDER_ID: die Anbieter-ID
    • KEY_SPECIFICATION: die Schlüsselspezifikation, entweder rsa-2048, rsa-3072 oder rsa-4096

    Führen Sie nach dem Erstellen des Schlüsselpaars den folgenden Befehl aus, um den öffentlichen Schlüssel in eine Zertifikatsdatei herunterzuladen. Nur die Workload Identity-Föderation hat Zugriff auf den privaten Schlüssel.

    gcloud iam workforce-pools providers keys describe KEY_ID \
        --workforce-pool WORKFORCE_POOL_ID \
        --provider PROVIDER_ID \
        --location global \
        --format "value(keyData.key)" \
        > CERTIFICATE_PATH
    

    Ersetzen Sie Folgendes:

    • KEY_ID: der Schlüsselname
    • WORKFORCE_POOL_ID: die Pool-ID
    • PROVIDER_ID: die Anbieter-ID
    • CERTIFICATE_PATH: der Pfad, in den das Zertifikat geschrieben werden soll, z. B. saml-certificate.cer oder saml-certificate.pem

    SAML 2.0-konformen IdP für die Ausgabe verschlüsselter SAML-Assertions konfigurieren

    So konfigurieren Sie Okta zum Verschlüsseln von SAML-Assertions:

    • Rufen Sie das Okta-Dashboard auf und melden Sie sich an.
    • Rufen Sie Anwendungen > Anwendungen auf.
    • Klicken Sie auf Ihre App.
    • Klicken Sie auf dem Tab Allgemein im Bereich SAML-Einstellungen auf Bearbeiten.
    • Klicken Sie auf Weiter, um die SAML-Einstellungen aufzurufen.
    • Klicken Sie auf Erweiterte Einstellungen anzeigen.
    • Führen Sie in den SAML-Einstellungen folgende Schritte aus:
      • Wählen Sie entweder in Antwort (bevorzugt) oder in Assertion-Signatur die Option Signed aus.
      • Wählen Sie unter Signature-Algorithmus und Digest-Algorithmus eine beliebige Option aus.
      • Stellen Sie folgende Werte ein:
        • Assertion-Verschlüsselung: Verschlüsselt.
        • Verschlüsselungsalgorithmus: Beliebiger Algorithmus.
        • Verschlüsselungszertifikat: Laden Sie die Zertifikatsdatei hoch, die Sie zuvor in dieser Anleitung generiert haben.
    • Klicken Sie auf Weiter und dann auf Fertig stellen, um die Konfiguration zu speichern.

    Nachdem Sie Ihren IdP so konfiguriert haben, dass SAML-Assertions verschlüsselt werden, sollten Sie prüfen, ob die generierten Assertions tatsächlich verschlüsselt sind. Die Workforce Identity-Föderation kann weiterhin Klartext-Assertions verarbeiten, auch wenn die SAML-Assertion-Verschlüsselung konfiguriert ist.

    Verschlüsselungsschlüssel der Mitarbeiteridentitätsföderation löschen

    Führen Sie den folgenden Befehl aus, um SAML-Verschlüsselungsschlüssel zu löschen:
      gcloud iam workforce-pools providers keys delete KEY_ID \
          --workforce-pool WORKFORCE_POOL_ID \
          --provider PROVIDER_ID \
          --location global
    

    Ersetzen Sie Folgendes:

    • KEY_ID: der Schlüsselname
    • WORKFORCE_POOL_ID: die Pool-ID
    • PROVIDER_ID: die Anbieter-ID

    Unterstützte SAML-Verschlüsselungsalgorithmen

    Die Workforce Identity-Föderation unterstützt die folgenden Schlüsseltransportalgorithmen:

    Die Workforce Identity-Föderation unterstützt die folgenden Blockverschlüsselungsalgorithmen:

Zugriff auf Google Cloud-Ressourcen verwalten

Dieser Abschnitt enthält ein Beispiel für die Verwaltung des Zugriffs auf Google Cloud-Ressourcen durch Nutzer der Mitarbeiter-Identitätsföderation.

In diesem Beispiel weisen Sie in einem Beispielprojekt eine IAM-Rolle (Identity and Access Management) zu. Nutzer können sich dann anmelden und über dieses Projekt auf Google Cloud-Produkte zugreifen.

Sie können IAM-Rollen für einzelne Identitäten, Identitätsgruppen oder gesamte Pools verwalten. Weitere Informationen finden Sie unter Mitarbeiteridentitätspool-Nutzer in IAM-Richtlinien darstellen.

Für eine Identität

Führen Sie den folgenden Befehl aus, um einer einzelnen Identität für das Projekt TEST_PROJECT_ID die Rolle "Storage-Administrator" (roles/storage.admin) zuzuweisen:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/SUBJECT_VALUE"

Ersetzen Sie Folgendes:

  • TEST_PROJECT_ID: ID des Projekts.
  • WORKFORCE_POOL_ID: die ID des Workforce Identity-Pools
  • SUBJECT_VALUE: die Nutzeridentität

Zugeordnetes Abteilungsattribut verwenden

Führen Sie folgenden Befehl aus, um allen Identitäten innerhalb einer bestimmten Abteilung für das Projekt TEST_PROJECT_ID die Rolle „Storage-Admin“ (roles/storage.admin) zuzuweisen:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/attribute.department/DEPARTMENT_VALUE"

Ersetzen Sie Folgendes:

  • TEST_PROJECT_ID: ID des Projekts.
  • WORKFORCE_POOL_ID: die ID des Workforce-Pools
  • DEPARTMENT_VALUE: der zugeordnete Wert attribute.department

Zugeordnete Gruppen verwenden

Führen Sie folgenden Befehl aus, um allen Identitäten innerhalb einer bestimmten Gruppe für das Projekt TEST_PROJECT_ID die Rolle "Storage-Admin" (roles/storage.admin) zuzuweisen:

gcloud projects add-iam-policy-binding TEST_PROJECT_ID \
    --role="roles/storage.admin" \
    --member="principalSet://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/group/GROUP_ID"

Ersetzen Sie Folgendes:

  • TEST_PROJECT_ID: ID des Projekts.
  • WORKFORCE_POOL_ID: die ID des Workforce-Pools
  • GROUP_ID: eine Gruppe im zugeordneten google.groups-Anspruch.

Anmelden und Zugriff testen

In diesem Abschnitt melden Sie sich als Workforce Identity-Pool-Nutzer an und testen, ob Sie Zugriff auf ein Google Cloud-Produkt haben.

Anmelden

In diesem Abschnitt erfahren Sie, wie Sie sich als föderierter Nutzer anmelden und auf Google Cloud-Ressourcen zugreifen.

(Föderierte) Anmeldung bei der Console

So melden Sie sich in der Google Cloud Console für die Mitarbeiteridentitätsföderation an, die auch als Console (föderiert) bezeichnet wird:

  1. Rufen Sie die (föderierte) Anmeldeseite der Konsole auf.

    Zur Konsole (föderiert)

  2. Geben Sie den Namen des Anbieters ein. Er muss so formatiert sein:
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID
    1. Geben Sie bei Aufforderung die Anmeldedaten der Okta App-Einbindung ein.

    Wenn Sie eine IdP-initiierte Anmeldung starten, verwenden Sie die folgende URL in den SAML-Einstellungen für den verschachtelten Standard-RelayState-Parameter: https://console.cloud.google/.

Browserbasierte Anmeldung bei der gcloud CLI

So melden Sie sich mit einem browserbasierten Anmeldevorgang in der gcloud CLI an:

Konfigurationsdatei erstellen

Mit dem folgenden Befehl erstellen Sie die Konfigurationsdatei für die Anmeldung. Sie können die Datei optional mit dem Flag --activate als Standard für die gcloud CLI aktivieren.

gcloud iam workforce-pools create-login-config \
    locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \
    --output-file=LOGIN_CONFIG_FILE

Ersetzen Sie Folgendes:

  • WORKFORCE_POOL_ID: die ID des Workforce-Pools
  • PROVIDER_ID: die Anbieter-ID
  • LOGIN_CONFIG_FILE: ein Pfad zur von Ihnen angegebenen Konfigurationsdatei, z. B. login.json

Die Datei enthält die Endpunkte, die von der gcloud CLI verwendet werden, um den browserbasierten Authentifizierungsvorgang zu aktivieren und die Zielgruppe auf den Anbieter festzulegen, den Sie zuvor in dieser Anleitung erstellt haben. Die Datei enthält keine vertraulichen Daten.

Die Ausgabe sieht dann ungefähr so aus:

{
  "type": "external_account_authorized_user_login_config",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID",
  "auth_url": "https://auth.cloud.google/authorize",
  "token_url": "https://sts.googleapis.com/v1/oauthtoken",
  "token_info_url": "https://sts.googleapis.com/v1/introspect",
}

Mit der browserbasierten Authentifizierung anmelden

Sie haben folgende Möglichkeiten, sich mit einer browserbasierten Anmeldung zu authentifizieren:

  • Wenn Sie beim Erstellen der Konfigurationsdatei das Flag --activate verwendet oder die Konfigurationsdatei mit gcloud config set auth/LOGIN_CONFIG_FILE aktiviert haben, verwendet die gcloud CLI Ihre Konfigurationsdatei automatisch:

    gcloud auth login
    
  • Mit dem folgenden Befehl melden Sie sich durch Angabe des Speicherorts der Konfigurationsdatei an:

    gcloud auth login --login-config=LOGIN_CONFIG_FILE
    
  • Wenn Sie den Speicherort der Konfigurationsdatei mit einer Umgebungsvariable angeben möchten, legen Sie für CLOUDSDK_AUTH_LOGIN_CONFIG_FILE den Konfigurationspfad fest.

Browserbasierte Anmeldung deaktivieren

So beenden Sie die Verwendung der Konfigurationsdatei für die Anwendung:

  • Wenn Sie das Flag --activate beim Erstellen der Konfigurationsdatei verwendet oder die Konfigurationsdatei mit gcloud config set auth/LOGIN_CONFIG_FILE aktiviert haben, müssen Sie den folgenden Befehl ausführen, um die Festlegung aufzuheben:

    gcloud config unset auth/login_config_file
    
  • Löschen Sie die Umgebungsvariable CLOUDSDK_AUTH_LOGIN_CONFIG_FILE, falls sie festgelegt ist.

Monitorlose Anmeldung bei der gcloud CLI

So melden Sie sich mit einem monitorlosen Ablauf in der gcloud CLI an:

OIDC

  1. Melden Sie einen Nutzer bei Ihrer Okta-Anwendung an und rufen Sie das OIDC-Token von Okta ab.

  2. Speichern Sie das von Okta zurückgegebene OIDC-Token an einem sicheren Ort auf Ihrem lokalen Computer.

  3. Generieren Sie eine Konfigurationsdatei wie unten gezeigt. Führen Sie dazu diesen Befehl aus:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID \
        --subject-token-type="urn:ietf:params:oauth:token-type:id_token" \
        --credential-source-file="PATH_TO_OIDC_ID_TOKEN" \
        --workforce-pool-user-project="WORKFORCE_POOL_USER_PROJECT" \
        --output-file="config.json"
    

Ersetzen Sie Folgendes:

  • WORKFORCE_POOL_ID: die ID des Workforce-Pools
  • PROVIDER_ID: die Anbieter-ID
  • PATH_TO_OIDC_TOKEN: der Pfad zur OIDC-IdP-Anmeldedatendatei
  • WORKFORCE_POOL_USER_PROJECT: die Projektnummer, die dem Nutzerprojekt für Workforce-Pools zugeordnet ist

Das Hauptkonto muss die Berechtigung serviceusage.services.use für dieses Projekt haben.

Wenn Sie den Befehl ausführen, wird eine OIDC-Konfigurationsdatei erstellt, die in etwa so formatiert ist:

{
  "type": "external_account",
  "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID",
  "subject_token_type": "urn:ietf:params:oauth:token-type:id_token",
  "token_url": "https://sts.googleapis.com/v1/token",
  "workforce_pool_user_project": "WORKFORCE_POOL_USER_PROJECT",
  "credential_source": {
    "file": "PATH_TO_OIDC_CREDENTIALS_FILE"
  }
}

SAML

  1. Melden Sie einen Nutzer bei der Okta-Anwendung an und rufen Sie die SAML-Antwort von Okta ab.

  2. Speichern Sie die von Okta zurückgegebene SAML-Antwort an einem sicheren Ort auf Ihrem lokalen Computer und speichern Sie den Pfad dann und zwar so:

    SAML_ASSERTION_PATH=SAML_ASSERTION_PATH
    
  3. Führen Sie folgenden Befehl aus, um eine Konfigurationsdatei zu generieren:

    gcloud iam workforce-pools create-cred-config \
        locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID \
        --subject-token-type="urn:ietf:params:oauth:token-type:saml2" \
        --credential-source-file="SAML_ASSERTION_PATH"  \
        --workforce-pool-user-project="PROJECT_ID"  \
        --output-file="config.json"
    

    Ersetzen Sie Folgendes:

    • WORKFORCE_PROVIDER_ID: die ID des Workforce-Anbieters, den Sie zuvor in dieser Anleitung erstellt haben.
    • WORKFORCE_POOL_ID: die ID des Workforce-pools, die Sie zuvor in dieser Anleitung erstellt haben.
    • SAML_ASSERTION_PATH: der Pfad der SAML-Assertion-Datei.
    • PROJECT_ID: die Projekt-ID

    Die generierte Konfigurationsdatei sieht in etwa so aus:

    {
      "type": "external_account",
      "audience": "//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/WORKFORCE_PROVIDER_ID",
      "subject_token_type": "urn:ietf:params:oauth:token-type:saml2",
      "token_url": "https://sts.googleapis.com/v1/token",
      "credential_source": {
        "file": "SAML_ASSERTION_PATH"
      },
      "workforce_pool_user_project": "PROJECT_ID"
    }
    

Führen Sie den folgenden Befehl aus, um sich mit Token-Austausch in gcloud anzumelden:

gcloud auth login --cred-file="config.json"

gcloud tauscht dann Ihre Okta-Anmeldedaten transparent gegen temporäre Google Cloud-Zugriffstokens aus, sodass Sie andere gcloud-Aufrufe an Google Cloud senden können.

Die Ausgabe sollte in etwa so aussehen:

Authenticated with external account user credentials for:
[principal://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/subject/USER_ID].

Führen Sie folgenden Befehl aus, um die Konten mit Anmeldedaten und das aktuell aktive Konto aufzulisten:

gcloud auth list

Zugriff testen

Sie haben jetzt Zugriff auf Google Cloud-Dienste, die die Workforce-Identitätsföderation unterstützen und auf die Sie Zugriff erhalten haben. Sie haben zuvor in diesem Leitfaden allen Identitäten innerhalb einer bestimmten Abteilung für das Projekt TEST_PROJECT_ID die Rolle "Storage-Admin" (roles/storage.admin) zugewiesen. Sie können jetzt testen, ob Sie Zugriff haben. Dazu listen Sie Cloud Storage-Buckets auf.

Konsole (föderiert)

So listen Sie Cloud Storage-Buckets über die Konsole (föderiert) auf:

  • Rufen Sie die Cloud Storage-Seite auf.
  • Prüfen Sie, ob Sie die Liste der vorhandenen Buckets für den TEST_PROJECT_ID sehen

gcloud CLI

Führen Sie folgenden Befehl aus, um Cloud Storage-Buckets und -Objekte für das Projekt aufzulisten, auf das Sie Zugriff haben:

gcloud alpha storage ls --project="TEST_PROJECT_ID"

Das Hauptkonto muss die Berechtigung serviceusage.services.use für das angegebene Projekt haben.

Nutzer löschen

Die Workforce Identity-Föderation erstellt Nutzermetadaten und -ressourcen für föderierte Nutzeridentitäten. Wenn Sie Nutzer löschen, z. B. bei Ihrem IdP, müssen Sie diese Ressourcen auch explizit in Google Cloud löschen. Weitere Informationen finden Sie unter Nutzer von Workforce Identity-Föderation und deren Daten löschen.

Möglicherweise sehen Sie, dass Ressourcen weiterhin mit einem gelöschten Nutzer verknüpft sind. Dies liegt daran, dass das Löschen von Nutzermetadaten und -ressourcen einen lang andauernden Vorgang erfordert. Nachdem Sie das Löschen der Identität eines Nutzers initiiert haben, können Prozesse, die der Nutzer vor dem Löschen initiiert hat, fortgesetzt werden, bis die Prozesse abgeschlossen oder abgebrochen werden.

Nächste Schritte