Fehlerbehebung bei der Identitätsföderation von Arbeitslasten

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

IdP-Antwort prüfen

In diesem Abschnitt erfahren Sie, 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 vom 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 und die Tools zum Hochladen und Analysieren.

SAML

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

  1. Suchen Sie in der HAR-Datei nach dem Wert des Anfrageparameters SAMLResponse, der für die URL mit dem Pfad /signin-callback protokolliert wurde.
  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 Codefluss.

  1. Suchen Sie in der HAR-Datei nach dem Anfrageparameter id_token, der für eine URL mit dem Pfad /signin-callback protokolliert wurde.
  2. Decodieren Sie es 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 Antwort des OIDC-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. Beispiele für Audit-Logs finden Sie unter Beispiele für 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 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 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, mit dem Sie sich angemeldet haben, und prüfen Sie, ob der attributeCondition korrekt ist. Informationen zu den in Bedingungen unterstützten Vorgängen 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. Lesen Sie gegebenenfalls die Dokumentation Ihres Identitätsanbieters.

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-Bestätigung kann ein Attribute mehrere AttributeValue-Tags haben, wie im folgenden Beispiel gezeigt. Daher gelten alle SAML-Attribute als Listen. assertion.attributes.userRole ist also eine Liste.

<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, mit dem Sie sich angemeldet haben, und geben Sie das IdP-Attribut an, das in attributeMapping festgelegt ist. Vergleichen Sie das Attribut mit dem in der Fehlermeldung angegebenen Attribut. Im vorherigen Beispiel wird ein IdP-Attribut namens userRole dem Attribut role zugeordnet. Das Attribut role ist im obigen Fehlerbeispiel zu sehen.

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

    • Wenn das Attribut, das den Fehler verursacht, einen Listenwert hat, suchen Sie nach einem alternativen, stabilen Attribut mit Stringwert. Aktualisieren Sie dann die Attributzuordnung, um sie zu verwenden, indem Sie auf den ersten Artikel verweisen. Wenn im vorherigen Beispiel myRole als alternatives IdP-Attribut mit einem einzelnen Wert festgelegt wurde, würde die Attributzuordnung so aussehen:

      attribute.role=assertion.attributes.myRole[0]
      
    • Wenn das Attribut bekannterweise nur einen Wert hat, aktualisieren Sie die Attributzuordnung, damit der erste Eintrag in 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 für die Attribute, ob der betroffene Nutzer entsprechende Daten in Ihrem Identitätsanbieter hat. Aktualisieren Sie die IdP-Konfiguration, um die Attribute oder Nutzerinformationen entsprechend zu korrigieren.

  3. Versuche noch einmal, dich anzumelden.

400. Dies ist ein Fehler

Dieser Fehler tritt auf, wenn die Anfrage entweder 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 Nutzer über die 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 Ihre 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 die URL nicht geöffnet wird oder der Browser einen 404-Fehler anzeigt, sehen Sie in der Dokumentation Ihres Identitätsanbieters nach, wie Sie den richtigen Aussteller-URI ermitteln. Aktualisieren Sie bei Bedarf die issuerUri in Ihrem Anbieter des Mitarbeiteridentitätspools.

      Wenn Ihr IdP lokal ausgeführt wird, lesen Sie die Dokumentation des IdP, um ihn für den Zugriff über das Internet zu konfigurieren.

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

      1. Prüfen Sie, ob die URL nicht zu oft weiterleitet, bevor das Discovery-Dokument gesendet wird. Wenden Sie sich in diesem Fall an den Administrator Ihres Identitätsanbieters, um das Problem zu beheben.
      2. Prüfen Sie die Antwortzeit des IdP. 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 in der JSON-Datei nach dem Feld jwks_uri.

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

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.

Signatur in SAMLResponse konnte nicht verifiziert 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 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. Versuche noch einmal, dich anzumelden.

Der Empfänger in der SAML-Bestätigung 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"

SAMLResponse-Ziel stimmt nicht mit der 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 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 Behauptung: 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 darauf 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. Lesen Sie in der Dokumentation Ihres IdP nach, wie Sie die Zielgruppe in den AudienceRestriction-Tags konfigurieren, die in der SAML-Antwort gesendet werden. Normalerweise wird die Zielgruppe durch Einrichten des Felds Entity ID oder Audience in der 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. Wiederholen Sie die Anmeldung, 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 darauf festgelegten AudienceRestrictions zu sehen.