Fehlerbehebung bei der Mitarbeiteridentitätsföderation

Auf dieser Seite wird gezeigt, wie Sie häufige Probleme mit der Mitarbeiteridentitätsföderation beheben.

IdP-Antwort prüfen

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

Browserbasierte Anmeldung

Generieren Sie eine HAR-Datei mit einem Tool Ihrer Wahl, um die vom IdP zurückgegebene Antwort zu prüfen. Sie können beispielsweise das HAR-Analysetool von Google Admin Toolbox verwenden, das Anleitungen zum Generieren einer HAR-Datei und die Tools zum Hochladen und Analysieren enthält.

SAML

Prüfen Sie die SAML-IdP-Antwort mit folgenden Schritten:

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

OIDC

So prüfen Sie die Antwort des OIDC-IdP:

  1. Suchen Sie in der HAR-Datei nach dem Anfrageparameter id_token, der im Vergleich zu einer URL mit dem Pfad /signin-callback protokolliert wird.
  2. Decodieren Sie den Schlüssel mit einem JWT-Debugging-Tool Ihrer 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 Schritte unten 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-Antwort des IdP mit einem JWT-Debugging-Tool Ihrer Wahl.

Logs prüfen

Um festzustellen, ob Google Cloud mit Ihrem IdP kommuniziert, und um Transaktionsinformationen zu prüfen, können Sie die Cloud-Audit-Logs einsehen. Logbeispiele finden Sie unter 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.

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 durch die 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 Identitätsanbieter (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, der für die Anmeldung verwendet wurde, 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 IdP-Attribute, auf die in der Attributbedingung verwiesen wird, ordnungsgemäß eingerichtet sind. Weitere Informationen finden Sie in der Dokumentation Ihres IdP.

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

Führen Sie folgende Schritte aus, um dieses Problem zu beheben:

  1. Beschreiben Sie den Anbieter, der für die Anmeldung verwendet wurde, und identifizieren Sie das IdP-Attribut, das in attributeMapping festgelegt ist. Prüfen Sie das Attribut mit dem in der Fehlermeldung angezeigten Attribut. Im vorherigen Beispiel wird das IdP-Attribut userRole dem Attribut role zugeordnet und das Attribut role wird im obigen Fehlerbeispiel angezeigt.

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

    • Wenn das Attribut, das den Fehler verursacht, ein Listenwert ist, identifizieren Sie ein alternatives, stabiles Attribut mit Stringwerten. Aktualisieren Sie anschließend die Attributzuordnung so, dass sie verwendet wird, indem Sie auf das erste Element verweisen. Wenn im vorherigen Beispiel myRole als alternatives Einzelwert-IdP-Attribut identifiziert wurde, lautet die Attributzuordnung:

      attribute.role=assertion.attributes.myRole[0]
      
    • Wenn das Attribut bekanntermaßen einwertig ist, aktualisieren Sie die Attributzuordnung so, dass das erste Element aus der Liste verwendet wird. Wenn im vorherigen Beispiel userRole 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.

Lesen Sie den Abschnitt IdP-Antwort prüfen, um die Antwort zu sehen, die vom IdP zurückgegeben wird.

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 Antwort des IdP prüfen finden Sie die vom IdP zurückgegebene Antwort. Prüfen Sie den Wert des Attributs aus der IdP-Antwort, die in Ihren Attributzuordnungen google.subject zugeordnet ist.

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

  3. Melden Sie sich noch einmal an.

400. Dies ist ein Fehler

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

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

  1. Folgen Sie den Schritten im Abschnitt Nutzer über die Anmeldung informieren, um zu überprü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 lautet, lautet die URL des Discovery-Dokuments https://example.com/.well-known/openid-configuration.

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

    1. Wenn die URL nicht geöffnet wird oder der Browser den Fehler 404 anzeigt, finden Sie in der Dokumentation Ihres IdP den richtigen Aussteller-URI. Aktualisieren Sie bei Bedarf den issuerUri in Ihrem Mitarbeiteridentitätsföderations-Pool.

      Wenn Ihr IdP lokal ausgeführt wird, lesen Sie die Informationen Ihres IdP, um ihn für den Zugriff über das Internet bereitzustellen.

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

      1. Prüfen Sie, ob die URL nicht zu häufig umgeleitet wird, bevor Sie das Discovery-Dokument bereitstellen. Wenden Sie sich in diesem Fall an den Administrator Ihres IdP, um das Problem zu beheben.
      2. Prüfen Sie die IdP-Antwortzeit. Wenden Sie sich an Ihren IdP-Administrator, um die Antwortlatenz zu reduzieren.
      3. Das geöffnete Discovery-Dokument sollte im JSON-Format sein.
      4. Suchen Sie im JSON-Format nach einem Feld jwks_uri.

        1. Überprüfen Sie, ob auch der zugehörige URL-Wert geöffnet wird.
        2. Prüfen Sie, ob die URL die oben in diesem Leitfaden beschriebenen Bedingungen erfüllt.
    3. Melden Sie sich noch einmal an.

SAML-Anmeldefehler

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.

Fehler bei der Verifizierung der Signatur in SAMLResponse

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 Antwort des IdP prüfen aus, um die vom IdP zurückgegebene Antwort zu sehen und das Feld X509Certificate zu sehen. 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, das von Ihrem IdP zurückgegeben wird. Die Zertifikate müssen übereinstimmen.

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

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

  4. Melden Sie sich noch einmal an.

Empfänger in 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 Antwort des IdP prüfen aus, um die vom IdP zurückgegebene Antwort zu sehen, und bestätigen Sie, 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"

SAMLResponse-Ziel stimmt nicht mit RP-Callback-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 Antwort des IdP 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: fehlende oder leere NameID

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 dafür festgelegte NameID zu sehen.

Alle <AudienceRestriction>-Elemente 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. Informationen zum Konfigurieren der Zielgruppe in den AudienceRestriction-Tags, die in der SAML-Antwort gesendet werden, finden Sie in der IdP-Dokumentation. In der Regel wird die Zielgruppe durch Einrichten des Felds Entity ID oder Audience in Ihrer IdP-Konfiguration konfiguriert. Weitere Informationen zu dem festzulegenden Wert SP Entity ID finden Sie im SAML-Abschnitt zum Erstellen eines Anbieters von Mitarbeiteridentitätsföderations-Pools.

  2. Nachdem Sie die IdP-Konfiguration aktualisiert haben, wiederholen Sie die Anmeldung.

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