Workforce Identity-Föderation mit Azure AD konfigurieren und Nutzer anmelden

In diesem Leitfaden erfahren Sie, wie Sie eine workforce identity föderation mit Azure AD 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. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

    gcloud init

  3. Achten Sie darauf, dass in Azure AD ID-Tokens für den impliziten Ablauf aktiviert sind. Weitere Informationen finden Sie unter Implizierten Ablauf aktivieren.

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

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

Azure AD-Anwendung erstellen

In diesem Abschnitt werden die Schritte zum Erstellen einer Azure AD-Anwendung mithilfe des Microsoft Azure-Portals beschrieben. Weitere Informationen finden Sie unter Was ist Authentifizierung.

Workforce Identity-Pools unterstützen die Föderation mit OIDC- und SAML-Protokollen.

OIDC

Führen Sie die folgenden Schritte aus, um eine Microsoft-App-Registrierung zu erstellen, die das OIDC-Protokoll verwendet:

  1. Melden Sie sich im Microsoft Azure-Portal an.
  2. Wechseln Sie zu Azure Active Directory > Anwendungsregistrierungen.
  3. So konfigurieren Sie die App-Registrierung:

    1. Klicken Sie auf Neue Registrierung.
    2. Geben Sie einen Namen für die App ein.
    3. Wählen Sie unter Unterstützte Kontotypen eine Option aus.
    4. Wählen Sie im Abschnitt Weiterleitungs-URI in der Drop-down-Liste Plattform auswählen die Option Web aus. Geben Sie im Textfeld eine Weiterleitungs-URL 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 ist die ID eines Mitarbeiteridentitäts-Anbieters Ihrer Wahl, z. B. azure-ad-oidc-provider. Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.
    5. Klicken Sie auf Registrieren, um die App-Registrierung zu erstellen.

  4. Optional: So konfigurieren Sie eine Gruppenanforderung:

    1. Wechseln Sie zur Registrierung Ihrer Azure AD-Anwendung.
    2. Klicken Sie auf Tokenkonfiguration.
    3. Klicken Sie auf Gruppenanforderung hinzufügen. Wenn Sie die Beispielattributzuordnung verwenden möchten, die später in dieser Anleitung bereitgestellt wird, müssen Sie ein benutzerdefiniertes department-Attribut erstellen.
    4. Wählen Sie die Gruppentypen aus, die zurückgegeben werden sollen. Weitere Informationen finden Sie unter Optionale Gruppenanforderungen konfigurieren.

SAML

Führen Sie die folgenden Schritte aus, um eine Microsoft-Anwendung zu erstellen, die das SAML-Protokoll verwendet:

  1. Melden Sie sich im Microsoft Azure-Portal an.
  2. Klicken Sie auf Azure Active Directory > Unternehmensanwendungen.
  3. So konfigurieren Sie die Unternehmensanwendung:

    1. Klicken Sie auf Neue Anwendung > Eigene Anwendung erstellen.
    2. Geben Sie einen Namen für die App ein.
    3. Klicken Sie auf Erstellen.
    4. Gehen Sie zu Einmalanmeldung (SSO) > SAML.
    5. Aktualisieren Sie die grundlegende SAML-Konfiguration so:

      1. Geben Sie im Feld Identifier (Entity ID) (Kennung (Entitäts-ID)) den folgenden Wert ein:

        https://iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID/providers/PROVIDER_ID
        
      2. Geben Sie im Feld Antwort-URL (Assertion Consumer Service-URL) eine Weiterleitungs-URL 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: die ID des Workforce Identity-Pools, den Sie zuvor in dieser Anleitung erstellt haben.
        • WORKFORCE_PROVIDER_ID: die ID eines Mitarbeiter-Identitätsanbieters Ihrer Wahl; zum Beispiel: azure-ad-oidc-provider Informationen zum Formatieren der ID finden Sie in der API-Dokumentation im Abschnitt Abfrageparameter.
      3. Wenn Sie die vom IdP initiierte Anmeldung aktivieren möchten, legen Sie das Feld Relay State (Relay-Status) auf den folgenden Wert fest:

        https://console.cloud.google/
        
      4. Klicken Sie zum Speichern der SAML-App-Konfiguration auf Save.

  4. Optional: So konfigurieren Sie eine Gruppenanforderung: Wenn Sie die Beispielattributzuordnung verwenden möchten, die später in dieser Anleitung bereitgestellt wird, müssen Sie ein benutzerdefiniertes department-Attribut erstellen.

    1. Rufen Sie die Azure AD-Anwendung auf.
    2. Klicken Sie auf Single Sign-On (Einstellungen > Einmalanmeldung (SSO)).
    3. Klicken Sie im Bereich Nutzerattribute und Ansprüche auf Bearbeiten.
    4. Klicken Sie auf Gruppenanforderung hinzufügen.
    5. Wählen Sie den zurückzugebenden Gruppentyp aus. Weitere Informationen finden Sie im Hilfeartikel Gruppenanforderungen für Tokens mit der SSO-Konfiguration in SAML-Anwendungen hinzufügen.

Azure AD-Mitarbeiteridentitätspool-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 Azure AD-Einbindung mit dem OIDC-Protokoll:

  1. Rufen Sie die Aussteller-URI für Ihre Azure AD-Anwendung folgendermaßen ab:

    1. Wechseln Sie zur Registrierung Ihrer Azure AD-Anwendung.
    2. Klicken Sie auf Endpunkte.
    3. Öffnen Sie das OpenID Connect-Metadatendokument in einem neuen Tab.
    4. Kopieren Sie in der JSON-Datei den Wert von issuer.
  2. So rufen Sie die Client-ID für Ihre Azure AD-Anwendung ab:

    1. Wechseln Sie zur Registrierung Ihrer Azure AD-Anwendung.
    2. Kopieren Sie den Wert unter Anwendungs- oder Client-ID.
  3. So erstellen Sie einen OIDC-Anbieter von Mitarbeiteridentitätspools für die Webanmeldung:

    Console

    Codeablauf

    So erstellen Sie einen OIDC-Anbieter, der den Autorisierungscodeablauf für die webbasierte Anmeldung verwendet:

    1. So rufen Sie den Azure AD-Clientschlüssel ab:

      1. Wechseln Sie zur Registrierung Ihrer Azure AD-Anwendung.

      2. Klicken Sie unter Zertifikate und Secrets auf den Tab Clientschlüssel.

      3. Klicken Sie auf + Neuer Clientschlüssel, um einen Clientschlüssel hinzuzufügen.

      4. Geben Sie im Dialogfeld Clientschlüssel hinzufügen nach Bedarf Informationen ein.

      5. Klicken Sie auf Hinzufügen, um den Clientschlüssel zu erstellen.

      6. Suchen Sie auf dem Tab Clientschlüssel den neuen Clientschlüssel.

      7. Klicken Sie in der Spalte Wert des neuen Clientschlüssels 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. So können Sie beispielsweise das Attribut ipaddr auf einen bestimmten IP-Bereich beschränken, den Sie festlegen können. Die Bedingung assertion.ipaddr.startsWith('98.11.12.').
      8. Klicken Sie auf Senden, um den Anbieter zu erstellen.

    Impliziter Ablauf

    So erstellen Sie einen OIDC-Anbieter, der den impliziten Ablauf für die webbasierte Anmeldung 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 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. So können Sie beispielsweise das Attribut ipaddr auf einen bestimmten IP-Bereich beschränken, den Sie festlegen können. Die Bedingung assertion.ipaddr.startsWith('98.11.12.').
    8. Klicken Sie auf Senden, um den Anbieter zu erstellen.

    gcloud

    So erstellen Sie einen Anbieter, der das OIDC-Protokoll unterstützt:

    Codeablauf

    So erstellen Sie einen OIDC-Anbieter, der den Autorisierungscodeablauf für die webbasierte Anmeldung verwendet:

    1. So rufen Sie Ihren Clientschlüssel in Ihrer Azure AD-Anwendung ab:

      1. Wechseln Sie zur Registrierung Ihrer Azure AD-Anwendung.

      2. Klicken Sie unter Zertifikate und Secrets auf den Tab Clientschlüssel.

      3. Klicken Sie auf + Neuer Clientschlüssel, um einen Clientschlüssel hinzuzufügen.

      4. Geben Sie im Dialogfeld Clientschlüssel hinzufügen nach Bedarf Informationen ein.

      5. Klicken Sie auf Hinzufügen, um den Clientschlüssel zu erstellen.

      6. Suchen Sie auf dem Tab Clientschlüssel den neuen Clientschlüssel.

      7. Klicken Sie in der Spalte Wert des neuen Clientschlüssels auf Kopieren.

    2. So erstellen Sie in der Google Cloud Console einen OIDC-Anbieter, der Codeablauf 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 mit der gcloud CLI gesendet werden
      • 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. Wenn Sie beispielsweise das Attribut ipaddr auf einen bestimmten IP-Bereich beschränken möchten, können Sie die Bedingung assertion.ipaddr.startsWith('98.11.12.') festlegen.
      • 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

    So erstellen Sie einen OIDC-Anbieter, der den impliziten Ablauf für die Webanmeldung verwendet:

    1. So aktivieren Sie das ID-Token in Ihrer Azure AD-Anwendung:

      1. Wechseln Sie zur Registrierung Ihrer Azure AD-Anwendung.
      2. Klicken Sie unter Authentifizierung das Kästchen ID-Token an.
      3. Klicken Sie auf Speichern.
    2. Führen Sie den folgenden Befehl aus, um den Anbieter zu erstellen:

      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 mit der gcloud CLI gesendet werden
      • 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. Wenn Sie beispielsweise das Attribut ipaddr auf einen bestimmten IP-Bereich beschränken möchten, können Sie die Bedingung assertion.ipaddr.startsWith('98.11.12.') festlegen.
      • 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 speichern Sie die SAML-Metadaten für Ihre Azure AD-Anwendung:

  1. Rufen Sie die Azure AD-Anwendung auf.
  2. Klicken Sie auf Single Sign on (Einmalanmeldung (SSO)).
  3. Laden Sie im Abschnitt SAML-Zertifikate die Föderations-XML-Datei herunter.
  4. Speichern Sie die Metadaten als lokale XML-Datei.

Mit dem folgenden Befehl erstellen Sie den Anbieter des SAML-Mitarbeiteridentitätspools:

gcloud iam workforce-pools providers create-saml PROVIDER_ID \
    --workforce-pool="WORKFORCE_POOL_ID" \
    --display-name="DISPLAY_NAME" \
    --description="DESCRIPTION" \
    --idp-metadata-path="XML_METADATA_PATH" \
    --attribute-mapping="ATTRIBUTE_MAPPING" \
    --attribute-condition="ATTRIBUTE_CONDITION" \
    --location=global

Ersetzen Sie Folgendes:

  • PROVIDER_ID: die Anbieter-ID
  • WORKFORCE_POOL_ID: die ID des Workforce Identity-Pools
  • DISPLAY_NAME: der Anzeigename.
  • DESCRIPTION: eine Beschreibung
  • XML_METADATA_PATH: der Pfad zur XML-formatierten Metadatendatei mit Konfigurationsmetadaten für den SAML-Identitätsanbieter.
  • ATTRIBUTE_MAPPING: die 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.

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

Informationen zum Konfigurieren von Azure AD zum Verschlüsseln von SAML-Tokens finden Sie unter Azure Active Directory-SAML-Token-Verschlüsselung konfigurieren.

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 Identity-Pools
  • DEPARTMENT_VALUE: der zugeordnete Wert attribute.department

Zugeordnete Gruppen verwenden

Führen Sie den folgenden Befehl aus, um allen Identitäten innerhalb der Gruppe GROUP_ID 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="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 Identity-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 die Nutzeranmeldedaten in Azure AD ein, wenn Sie dazu aufgefordert werden.

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 der gcloud-CLI in Azure AD an:

OIDC

  1. Führen Sie die Schritte unter Anmeldeanfrage senden aus. Melden Sie den Nutzer mithilfe von Azure AD und OIDC in Ihrer Anwendung an.

  2. Kopieren Sie das ID-Token aus dem Parameter id_token der Weiterleitungs-URL und speichern Sie es in einer Datei an einem sicheren Ort auf Ihrem lokalen Computer, wo. Sie Im späteren Schritt PATH_TO_OIDC_ID_TOKEN auf den Pfad zu dieser Datei festlegen.

  3. Führen Sie den folgenden Befehl aus, um eine Konfigurationsdienstdatei ähnlich der unten aufgeführen zu generieren:

    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_ID_TOKEN ist der Pfad zum Speicherort der Datei, an dem das Identitätsanbieter-Token gespeichert ist.
    • WORKFORCE_POOL_USER_PROJECT: die Projektnummer oder ID, die für Kontingente und die Abrechnung verwendet wird. Das Hauptkonto muss die Berechtigung serviceusage.services.use für dieses Projekt haben.

    Wenn der Befehl abgeschlossen ist, wird die folgende Konfigurationsdatei von Azure AD erstellt:

    {
      "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"
      }
    }
    
  4. Öffnen Sie die gcloud-CLI und führen Sie den folgenden Befehl aus:

    gcloud auth login --cred-file=PATH_TO_OIDC_CREDENTIALS
    

    Ersetzen Sie PATH_TO_OIDC_CREDENTIALS durch den Pfad zur Ausgabedatei aus einem vorherigen Schritt.

    Die gcloud-CLI sendet Ihre Anmeldedaten transparent an den Endpunkt des Security Token-Services. Auf dem Endpunkt werden sie gegen temporäre Google Cloud-Zugriffstokens ausgetauscht.

    Sie können gcloud-CLI-befehle jetzt in Google Cloud ausführen.

SAML

  1. Melden Sie einen Nutzer bei Ihrer Azure AD-Anwendung an und rufen Sie die SAML-Antwort ab.

  2. Speichern Sie die von Azure AD 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. 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/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 Anbieters des Workforce Identity-Pools, die Sie zuvor in dieser Anleitung erstellt haben
    • WORKFORCE_POOL_ID: die ID des Workforce Identity-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"
    }
    
  4. 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 Azure AD-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].
  5. Führen Sie folgenden Befehl aus, um die Konten mit Anmeldedaten und das aktuell aktive Konto aufzulisten:

    gcloud auth list
    

Testzugriff

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 die Rolle "Storage-Admin" (TEST_PROJECT_ID) zugewiesen. Sie können jetzt testen, ob Sie Zugriff haben. Dazu listen Sie Cloud Storage-Buckets auf.

Konsole (föderiert)

Sie können gcloud-CLI-befehle jetzt in Google Cloud ausführen.

  • Zur Seite "Cloud Storage".
  • 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