Probleme mit OIDC-Anbietern beheben
Dieses Dokument enthält Informationen zur Fehlerbehebung bei Problemen mit OIDC- und AzureAD-Identitätsanbietern in GKE Identity Service.
Falsche Formatierung des Zertifikats
Dieses Problem tritt auf, wenn der Zertifikatswert Formatierungsfehler enthält. Formatierungsprobleme können auf Zertifikatswerte zurückzuführen sein, die nicht base64-codiert sind, und auf Werte, die zwar base64-codiert, aber falsch sind. Das Problem kann auch auftreten, wenn das Zertifikat nicht von einer Stammzertifizierungsstelle signiert wurde oder keine korrekt formatierte Vertrauenskette angegeben wurde.
Fehlermeldungen
Die folgenden Beispiele sind Fehlermeldungen für Szenarien, in denen das Zertifikatsformat falsch ist:
Zertifikat, das nicht base64-codiert ist:
Failed creating HTTP client to fetch the Discovery URI "<Discovery-document URI>" with error: Unable to decode data field, the value should be Base64 encoded
Zertifikat, das nicht richtig formatiert ist oder zwar Base64-codiert, aber falsch ist:
Unable to connect to 'https://example.com', encountered the following error: Problem with the SSL CA cert (path? access rights?). Details: error setting certificate verify locations: CAfile: /tmp/example.pem CApath: none (The certificate could not be read, this is most likely because it's empty or contains a formatting error. Please check your configuration.)
Zertifikat, das nicht richtig formatiert ist oder zwar Base64-codiert, aber falsch ist:
Failed fetching the Discovery URI "<Discovery-document URI>" with error: Unable to load TLS certificates.
Lösung
Sie haben folgende Möglichkeiten, die Probleme zu beheben:
- Der Zertifikatswert, den Sie in der ClientConfig angeben, muss ein base64-codierter String im PEM-Format sein. Weitere Informationen finden Sie unter CA-Zertifikate codieren.
- Wenn Ihr Anbieter keine von einer Root-Zertifizierungsstelle signierten Zertifikate verwendet, müssen Sie GKE Identity Service mit einer Zertifikats-Trust-Chain konfigurieren. Weitere Informationen finden Sie unter Untergeordnete Zertifikate.
Falscher Zertifikatswert
Dieses Problem tritt auf, wenn der Wert im Zertifikat nicht übereinstimmt. In diesem Fall ist die Formatierung der Zertifikate korrekt, sie stimmen jedoch nicht mit dem Server überein. Es kann auch bedeuten, dass in der Konfiguration keine Zertifikate vorhanden waren.
Ein Zertifikatswert kann in den folgenden Fällen als falsch betrachtet werden:
- In der ClientConfig wird ein falscher Zertifikatswert angegeben. Ein Zertifikatswert ist falsch, wenn die
issuer
des Serverzertifikats nicht mit dersubject
des konfigurierten Zertifikats übereinstimmt. - Das Zertifikat in der ClientConfig ist kein Base64-codierter String.
- Die Zertifikatskette wird nicht bereitgestellt, wenn Zwischenzertifikate zum Ausstellen des Serverzertifikats verwendet werden.
Fehlermeldung
Die folgenden Beispiele sind Fehlermeldungen für Szenarien, in denen der Zertifikatswert nicht übereinstimmt:
Die Zertifikatskette ist unvollständig oder stimmt nicht mit dem Server überein:
SSL peer certificate was not OK. Details: SSL certificate problem: unable to get local issuer certificate
Die Zertifikatskette ist unvollständig (entspricht einer ungültigen Teilkette, die nicht am Stamm beginnt oder nicht zusammenhängend ist):
Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.
Die Zertifikatskette ist gültig, stimmt aber nicht mit dem OIDC-Server überein:
AIS was expecting the server to have a different certificate
Die Zertifikatskette ist gültig, stimmt aber nicht mit dem OIDC-Server überein:
Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.
Lösung
Der in der ClientConfig angegebene Zertifikatswert muss eine korrekt formatierte Zertifikatskette enthalten, die mit dem Identitätsanbieter übereinstimmt. Weitere Informationen zum Formatieren und Codieren von Zertifikaten finden Sie unter CA-Zertifikate codieren.