Fehlerbehebung bei der Identitätsföderation von Arbeitslasten

Auf dieser Seite wird beschrieben, wie Sie häufige Probleme mit der Workforce Identity-Föderation beheben.

IdP-Antwort prüfen

In diesem Abschnitt wird beschrieben, wie Sie die Antwort Ihres Identitätsanbieters (IdP) prüfen, um die in diesem Dokument aufgeführten Probleme zu beheben.

Browserbasierte Anmeldung

Wenn Sie die von Ihrem IdP zurückgegebene Antwort prüfen möchten, generieren Sie mit einem Tool Ihrer Wahl eine HAR-Datei. Sie können beispielsweise das HAR-Analysetool in der Google Admin Toolbox verwenden. Dort finden Sie eine Anleitung zum Erstellen einer HAR-Datei sowie Tools zum Hochladen und Analysieren der Datei.

SAML

So prüfen Sie die SAML-IdP-Antwort:

  1. Suchen Sie in der HAR-Datei, die für die URL mit dem Pfad /signin-callback protokolliert wird, nach dem Wert des Anfrageparameters SAMLResponse.
  2. Decodieren Sie das Tool mit einem Tool Ihrer Wahl, z. B. Google Admin Toolbox Encode/Decode.

OIDC

Führen Sie die folgenden Schritte aus, um die OIDC-IdP-Antwort zu prüfen. Dieser Ansatz funktioniert nicht mit dem Code-Ablauf.

  1. Suchen Sie in der HAR-Datei nach dem Anfrageparameter id_token, der für eine URL mit dem Pfad /signin-callback protokolliert wird.
  2. Decodiere es mit einem JWT-Debugging-Tool deiner Wahl.

gcloud-CLI

Wenn Sie die Antwort Ihres IdP bei Verwendung der gcloud CLI prüfen möchten, kopieren Sie den Inhalt der Datei, die Sie beim Ausführen des Befehls gcloud iam workforce-pools create-cred-config im Flag --credential-source-file übergeben haben, und führen Sie dann die folgenden Schritte aus:

SAML

Decodieren Sie die Antwort des SAML-IdP mit einem Tool Ihrer Wahl. Sie können beispielsweise Google Admin Toolbox Encode/Decode verwenden.

OIDC

Decodieren Sie die OIDC-IdP-Antwort mit einem JWT-Debugging-Tool Ihrer Wahl.

Logs ansehen

Um festzustellen, ob Google Cloud mit Ihrem IdP kommuniziert, und um Transaktionsinformationen zu prüfen, können Sie die Cloud-Audit-Logs einsehen.

Beispiel-Audit-Logs

Fehler bei der Personalpool- und Anbieterverwaltung

Dieser Abschnitt enthält Vorschläge zur Behebung häufiger Fehler bei der Verwaltung von Pools und Anbietern.

Allgemeine Fehler bei der Attributzuordnung

So beheben Sie Probleme mit der Attributzuordnung von Workforce Identity-Poolanbietern:

  • Sehen Sie sich die Attribute (auch als Anforderungen bezeichnet) in Ihrer IdP-Konfiguration an.
  • Prüfen Sie die von Ihrem IdP generierten Tokens. Informationen zum Generieren eines Tokens von Ihrem Identitätsanbieter finden Sie in der Dokumentation des Identitätsanbieters.
  • Detaillierte Audit-Logs zur Workforce Identity-Föderation in Cloud-Audit-Logs ansehen.

Bei der detaillierten Audit-Protokollierung werden Authentifizierungs- und Autorisierungsfehler zusammen mit Ansprüchen protokolliert, die von der Workforce Identity-Föderation empfangen wurden.

Sie können das detaillierte Audit-Logging aktivieren, wenn Sie den Anbieter für Ihren Workforce Identity-Pool erstellen. Wenn Sie das detaillierte Audit-Logging aktivieren möchten, fügen Sie beim Erstellen des Workforce Identity-Pool-Anbieters das Flag --detailed-audit-logging hinzu.

Berechtigung verweigert

Dieser Fehler tritt auf, wenn der Nutzer, der versucht, eine Workforce Identity-Föderation zu konfigurieren, nicht die Rolle „IAM Workforce Pool Admin“ (roles/iam.workforcePoolAdmin) hat.

INVALID_ARGUMENT: Fehlende OIDC-Webkonfiguration für Einmalanmeldung (SSO)

Der folgende Fehler tritt auf, wenn die Felder web-sso-response-type und web-sso-assertion-claims-behavior beim Erstellen eines OIDC-Workforce Identity-Poolanbieters nicht festgelegt werden:

ERROR: (gcloud.iam.workforce-pools.providers.create-oidc) INVALID_ARGUMENT: Missing OIDC web single sign-on config.

Um diesen Fehler zu beheben, folgen Sie der Anleitung im Abschnitt Anbieter erstellen und legen Sie dabei die Felder beim Erstellen des OIDC-Workforce Identity-Poolanbieters korrekt fest.

Ratenbegrenzung überschritten. Versuchen Sie es später noch einmal.

Dieser Fehler tritt auf, wenn Sie Ihr Kontingentlimit für Workforce-Ressourcenpools erreicht haben. Wenden Sie sich an Ihren Google Cloud Kundenbetreuer, um eine Kontingenterhöhung anzufordern.

Anmeldefehler

Dieser Abschnitt enthält Vorschläge zur Behebung häufiger Fehler, die bei der Anmeldung durch einen Nutzer einer Mitarbeiteridentitätsföderation auftreten können.

Häufige Anmeldefehler

Die angegebenen Anmeldedaten werden von der Attributbedingung abgelehnt

Dieser Fehler tritt auf, wenn die Attributbedingung, die für den Anbieter des Mitarbeiteridentitäts-Pools festgelegt ist, nicht erfüllt wurde.

Betrachten Sie beispielsweise die folgende Attributbedingung:

SAML

'gcp-users' in assertion.attributes.groups

OIDC

'gcp-users' in assertion.groups

In diesem Fall wird der Fehler angezeigt, wenn die Liste der Gruppen, die von Ihrem IdP im Attribut groups gesendet wurden, nicht gcp-users enthält.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Beschreiben Sie den Anbieter, mit dem Sie sich angemeldet haben, und prüfen Sie, ob attributeCondition korrekt ist. Informationen zu Vorgängen, die in Bedingungen unterstützt werden, finden Sie in der Sprachdefinition.

  2. Führen Sie die Schritte unter IdP-Antwort prüfen aus, um die vom IdP zurückgegebenen Attribute zu sehen und zu bestätigen, ob die Attributbedingung korrekt formatiert und genau ist.

  3. Melden Sie sich in der Admin-Konsole Ihres IdP an und prüfen Sie, ob die in der Attributbedingung referenzierten IdP-Attribute richtig eingerichtet sind. Sehen Sie bei Bedarf in der Dokumentation Ihres IdP nach.

Das zugeordnete Attribut muss vom Typ STRING sein.

Dieser Fehler tritt bei einem Anbieter von SAML-Workforce Identity-Pools auf, wenn das in der Fehlermeldung angegebene Attribut ein einwertiger STRING ist, aber einer Liste in der Attributzuordnung zugeordnet ist:

Betrachten Sie beispielsweise einen Anbieter von SAML-Workforce Identity-Pools, der die Attributzuordnung attribute.role=assertion.attributes.userRole hat. In einer SAML-Assertion kann ein Attribute mehrere AttributeValue-Tags haben, wie im folgenden Beispiel gezeigt. Daher werden alle SAML-Attribute als Listen betrachtet, sodass assertion.attributes.userRole eine Liste ist.

<saml:Attribute Name="userRole">
    <saml:AttributeValue>
      security-admin
    </saml:AttributeValue>
    <saml:AttributeValue>
      user
    </saml:AttributeValue>
</saml:Attribute>

In diesem Beispiel wird möglicherweise der folgende Fehler angezeigt:

The mapped attribute 'attribute.role' must be of type STRING

So beheben Sie das Problem:

  1. Beschreiben Sie den Anbieter, der für die Anmeldung verwendet wurde, und ermitteln Sie das IdP-Attribut, das in attributeMapping festgelegt ist. Vergleichen Sie das Attribut mit dem Attribut in der Fehlermeldung. Im vorherigen Beispiel wird ein IdP-Attribut mit dem Namen userRole dem Attribut role zugeordnet. Das Attribut role ist im obigen Fehlerbeispiel enthalten.

  2. Folgen Sie der Anleitung unten, um die Attributszuordnung zu aktualisieren:

    • Wenn das Attribut, das den Fehler verursacht, eine Liste von Werten enthält, suchen Sie nach einem alternativen, stabilen Attribut mit String-Werten. Aktualisieren Sie dann die Attributzuordnung, um sie zu verwenden, indem Sie auf das erste Element verweisen. Im vorherigen Beispiel wäre die Attributzuordnung so:myRole

      attribute.role=assertion.attributes.myRole[0]
      
    • Wenn das Attribut bekanntermaßen nur einen Wert hat, können Sie die Attributzuordnung so aktualisieren, dass das erste Element aus der Liste verwendet wird. Wenn userRole im vorherigen Beispiel nur eine Rolle enthält, können Sie die folgende Zuordnung verwenden:

      attribute.role=assertion.attributes.userRole[0]
      
    • Informationen zum Ableiten eines einwertigen stabilen Bezeichners aus der Liste finden Sie unter Sprachdefinition. Aktualisieren Sie die Attributzuordnung entsprechend.

Im Abschnitt IdP-Antwort prüfen finden Sie die vom IdP zurückgegebene Antwort.

Aus den angegebenen Anmeldedaten konnte kein Wert für google.subject abgerufen werden.

Dieser Fehler tritt auf, wenn die erforderliche Anforderung google.subject nicht mithilfe der Attributzuordnung zugeordnet werden konnte, die Sie in der Konfiguration des Anbieters des Workforce Identity-Pools festgelegt haben.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Beschreiben Sie den Anbieter und prüfen Sie attributeMapping. Ermitteln Sie die Zuordnung, die für google.subject konfiguriert ist. Wenn die Zuordnung nicht korrekt ist, aktualisieren Sie den Anbieter des Workforce Identity-Pools.

  2. Im Abschnitt IdP-Antwort prüfen finden Sie die vom IdP zurückgegebene Antwort. Prüfen Sie den Wert des Attributs aus der IdP-Antwort, das in Ihren Attributzuordnungen google.subject zugeordnet ist.

    Wenn der Wert leer oder falsch ist, melden Sie sich in der Admin-Konsole Ihres Identitätsanbieters an und prüfen Sie die konfigurierten Attribute. Prüfen Sie, ob der betroffene Nutzer entsprechende Daten in Ihrem IdP hat. Aktualisieren Sie die IdP-Konfiguration, um die Attribute oder Nutzerinformationen entsprechend zu korrigieren.

  3. Versuchen Sie noch einmal, sich anzumelden.

Die Größe der zugeordneten Attribute überschreitet das Limit

Der folgende Fehler ist aufgetreten, als ein Verbundnutzer versucht hat, sich anzumelden:

The size of the entire mapped attributes exceeds the 16 KB limit.

Bitten Sie Ihren IdP-Administrator, die Anzahl der Attribute zu reduzieren, die Ihr IdP ausgibt, um dieses Problem zu beheben. Ihr IdP muss nur Attribute ausgeben, die für die Föderation von Nutzern mit Google Clouderforderlich sind. Weitere Informationen zu den Grenzwerten für die Attributzuordnung finden Sie unter Attributzuordnungen.

Wenn Ihr Identitätsanbieter beispielsweise eine große Anzahl von google.groups ausgibt, die zugeordnete Attribute in Ihrem Workforce Identity-Pool-Anbieter sind, kann ein Anmeldeversuch fehlschlagen. Bitten Sie Ihren Administrator, die Anzahl der Gruppen einzuschränken, die von Ihrem IdP ausgegeben werden.

Die Anzahl der Gruppen überschreitet das Limit.

Der folgende Fehler ist aufgetreten, als ein Verbundnutzer versucht hat, sich anzumelden:

The current count of GROUPS_COUNT mapped attribute google.groups exceeds the GROUPS_COUNT_LIMIT count limit. Either modify your attribute mapping or the incoming assertion to produce a mapped attribute that has fewer than GROUPS_COUNT_LIMIT groups.

Dieser Fehler enthält die folgenden Werte:

  • GROUPS_COUNT: Die Anzahl der Gruppen, die der Identitätsanbieter ausgibt.

  • GROUPS_COUNT_LIMIT:Zähllimit für Gruppen von Google Cloud

Dieser Fehler ist aufgetreten, weil die Anzahl der vom IdP ausgegebenen Gruppen das Limit vonGoogle Cloudüberschreitet. Gruppen werden Google Cloud mit dem Attribut google.groupszugeordnet.

Bitten Sie Ihren Administrator, die Anzahl der Gruppen zu reduzieren, die von Ihrem Identitätsanbieter ausgegeben werden, um dieses Problem zu beheben. Ihr IdP muss nur Gruppen ausgeben, die zum Föderieren von Nutzern für Google Cloudverwendet werden. Weitere Informationen zu gruppenbezogenen Beschränkungen in Attributzuordnungen

400. Dies ist ein Fehler

Dieser Fehler tritt auf, wenn die Anfrage nicht wie erwartet empfangen wurde oder fehlerhaft ist.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Folgen Sie der Anleitung im Abschnitt Ihre Nutzer über die Vorgehensweise bei der Anmeldung informieren, um zu prüfen, ob Sie die richtigen Schritte zur Anmeldung ausführen.

  2. Vergleichen Sie die Konfiguration Ihres Anbieters für Workforce Identity-Pools mit Ihrer IdP-Konfiguration.

OIDC-Anmeldefehler

Dieser Abschnitt enthält Vorschläge zur Behebung OIDC-spezifischer Fehler, die bei der Anmeldung durch einen Nutzer einer Mitarbeiteridentitätsföderation auftreten können.

Fehler beim Herstellen einer Verbindung zum Aussteller der angegebenen Anmeldedaten

Dieser Fehler tritt auf, wenn ein OIDC-Anbieter von Workforce Identity-Pools das OIDC-Discovery-Dokument oder den JWKS-URI nicht erreichen kann.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Beschreiben Sie den Anbieter und prüfen Sie den konfigurierten issuerUri. Erstellen Sie die Discovery-Dokument-URL, indem Sie /.well-known/openid-configuration an den Aussteller-URI anhängen. Wenn Ihr issuerUri beispielsweise https://example.com ist, lautet die URL des Discovery-Dokuments https://example.com/.well-known/openid-configuration.

  2. Öffnen Sie die URL des Discovery-Dokuments in einem Inkognitofenster.

    1. Wenn sich die URL nicht öffnen lässt oder im Browser der Fehler 404 angezeigt wird, sehen Sie in der Dokumentation Ihres Identitätsanbieters nach, um den richtigen Aussteller-URI zu ermitteln. Aktualisieren Sie bei Bedarf den issuerUri in Ihrem Anbieter des Mitarbeiteridentitätspools.

      Wenn Ihr Identitätsanbieter lokal ausgeführt wird, lesen Sie in der Dokumentation des Identitätsanbieters nach, wie Sie ihn für den Zugriff über das Internet bereitstellen.

    2. Wenn die URL geöffnet wird, prüfen Sie, ob die folgenden Bedingungen erfüllt sind:

      1. Prüfen Sie, ob die URL zu oft weitergeleitet wird, bevor das Discovery-Dokument bereitgestellt wird. Wenn das der Fall ist, wenden Sie sich an den Administrator Ihres Identitätsanbieters, um das Problem zu beheben.
      2. Prüfen Sie die IdP-Antwortzeit. Wenden Sie sich an Ihren IdP-Administrator, um die Antwortlatenz zu verringern.
      3. Das geöffnete Discovery-Dokument sollte im JSON-Format vorliegen.
      4. Suchen Sie im JSON nach dem Feld jwks_uri.

        1. Prüfen Sie, ob sich auch der zugehörige URL-Wert öffnet.
        2. Prüfen Sie, ob die URL die oben in dieser Anleitung beschriebenen Bedingungen erfüllt.
    3. Versuchen Sie noch einmal, sich anzumelden.

Fehler bei der SAML-Anmeldung

Dieser Abschnitt enthält Vorschläge zur Behebung SAML-spezifischer Fehler, die bei der Anmeldung durch einen Nutzer einer Mitarbeiteridentitätsföderation auftreten können.

Die Signatur in SAMLResponse konnte nicht überprüft werden

Dieser Fehler tritt bei einem Anbieter von SAML-Workforce Identity-Pools auf, wenn die Signatur in der Antwort des IdP nicht mit einem der X.509-Zertifikate verifiziert werden kann, die Sie in der XML-Datei der IdP-Metadaten angeben, welche Sie bei Ihrem Anbieter von Workforce Identity-Pools konfiguriert haben. Eine häufige Ursache für diesen Fehler ist, dass das Verifizierungszertifikat bei Ihrem IdP rotiert wurde, Sie aber die Konfiguration des Anbieters von Workforce Identity-Pools nicht mit der neuesten XML-Datei der IdP-Metadaten aktualisiert haben.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. Optional: Führen Sie die Schritte unter IdP-Antwort prüfen aus, um die vom IdP zurückgegebene Antwort zu sehen und das Feld X509Certificate darin zu finden. Beschreiben Sie den Anbieter, mit dem Sie sich angemeldet haben, und prüfen Sie das Feld X509Certificate im Wert idpMetadataXml, der für den Anbieter von Workforce Identity-Pools festgelegt ist. Vergleichen Sie das Zertifikat mit dem Zertifikat in der Antwort Ihres IdP. Die Zertifikate müssen übereinstimmen.

  2. Melden Sie sich in der Admin-Konsole Ihres IdP an und laden Sie die aktuelle XML-Datei mit Metadaten herunter.

  3. Aktualisieren Sie den Anbieter von Workforce Identity-Pools für Workloads mit der heruntergeladenen IdP-Metadaten-XML.

  4. Versuchen Sie noch einmal, sich anzumelden.

Der Empfänger in der SAML-Assertion ist nicht auf die richtige ACS-URL festgelegt.

Dieser Fehler tritt bei einem Anbieter von SAML-Workforce Identity-Pools auf, wenn die IdP-Antwort einen falschen Wert für das Feld Recipient im Tag SubjectConfirmationData enthält.

Um diesen Fehler zu beheben, aktualisieren Sie das Recipient URL / Redirect URL oder das entsprechende Feld in der Konfiguration Ihres IdP, um die Weiterleitungs-URL zu verwenden, die unter Weiterleitungs-URLs in Ihrem IdP einrichten beschrieben wird, und versuchen Sie es noch einmal.

Führen Sie die Schritte unter IdP-Antwort prüfen aus, um die vom IdP zurückgegebene Antwort zu sehen und zu bestätigen, dass das Feld Recipient korrekt ist.

Für den Anbieter von SAML-Workforce Identity-Pools locations/global/workforcePools/example-pool/providers/example-provider wird beispielsweise der Recipient, der die Weiterleitungs-URL enthält, in der SAML-Antwort des IdP angezeigt, wie unten gezeigt:

<SubjectConfirmationData Recipient="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

Das Ziel der SAMLResponse stimmt nicht mit der RP-Rückruf-URL überein

Dieser Fehler tritt bei einem Anbieter von SAML-Workforce Identity-Pools auf, wenn die IdP-Antwort einen falschen Wert für das Feld Destination im Tag Response enthält.

Aktualisieren Sie zur Behebung dieses Problems Destination URL / Redirect URL oder das äquivalent Feld in der Konfiguration Ihres IdP zur Verwendung der hier beschriebenen Weiterleitungs-URL in Weiterleitungs-URLs bei Ihrem IdP einrichten.

Führen Sie die Schritte unter IdP-Antwort prüfen aus, um die vom IdP zurückgegebene Antwort zu sehen und zu bestätigen, dass das Feld Destination korrekt ist.

Bei einem Anbieter von Workforce Identity-Pools locations/global/workforcePools/example-pool/providers/example-provider würde der Destination, der die Weiterleitungs-URL enthält, beispielsweise in der SAML-Antwort des IdP so angezeigt werden:

<Response Destination="https://auth.cloud.google/signin-callback/locations/global/workforcePools/example-pool/providers/example-provider"

Ungültige Assertion: NameID fehlt oder ist leer

Dieser Fehler tritt auf, wenn die von Ihrem IdP empfangene SAML-Antwort das Feld NameId nicht enthält oder einen leeren Wert hat.

Um diesen Fehler zu beheben, konfigurieren Sie Ihre IdP-Dokumentation so, dass sie NameID sendet, was das Thema einer SAML-Assertion ist, in der Regel der authentifizierte Nutzer.

Führen Sie die Schritte unter IdP-Antwort prüfen aus, um die vom IdP zurückgegebene Antwort und die darin festgelegte NameID zu sehen.

Alle <AudienceRestriction>-Objekte sollten die SAML-RP-Entitäts-ID enthalten.

Dieser Fehler tritt auf, wenn die AudienceRestriction-Tags in der SAML-Antwort von Ihrem IdP kein Audience-Tag mit einem Wert festlegen, der die Entitäts-ID des Anbieters von Workforce Identity-Pools darstellt.

Führen Sie folgende Schritte aus, um diesen Fehler zu beheben:

  1. In der Dokumentation Ihres IdP finden Sie Informationen dazu, wie Sie die Zielgruppe in den AudienceRestriction-Tags konfigurieren, die in der SAML-Antwort gesendet werden. Normalerweise wird die Zielgruppe konfiguriert, indem das Feld Entity ID oder Audience in Ihrer IdP-Konfiguration eingerichtet wird. Weitere Informationen zu dem festzulegenden Wert SP Entity ID finden Sie im SAML-Abschnitt zum Erstellen eines Anbieters von Mitarbeiteridentitätsföderations-Pools.

  2. Versuchen Sie noch einmal, sich anzumelden, nachdem Sie die IdP-Konfiguration aktualisiert haben.

Führen Sie die Schritte unter IdP-Antwort prüfen aus, um die vom IdP zurückgegebene Antwort und die darin festgelegten AudienceRestriction zu sehen.