Soluciona problemas del proveedor de OIDC
En este documento, se proporciona orientación para solucionar problemas de OIDC y del proveedor de identidad de AzureAD en GKE Identity Service.
Formato incorrecto del certificado
Este problema ocurre cuando el valor del certificado tiene errores de formato. Los problemas de formato pueden corresponder a valores de certificados que no están codificados en base64 y a valores que sí están codificados en base64, pero son incorrectos. El problema también puede surgir si el certificado no está firmado por una autoridad de certificación raíz o no se proporciona una cadena de confianza con el formato correcto.
Mensajes de error
Los siguientes ejemplos son de mensajes de error para situaciones en las que el formato del certificado es incorrecto:
Certificado sin codificación en base64:
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
Certificado con formato incorrecto o codificado en base64, pero incorrecto:
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.)
Certificado con formato incorrecto o codificado en base64, pero incorrecto:
Failed fetching the Discovery URI "<Discovery-document URI>" with error: Unable to load TLS certificates.
Solución
Puedes resolver los problemas de una de las siguientes maneras:
- El valor del certificado que proporcionas en ClientConfig debe ser una cadena codificada en base64 y una cadena con formato PEM. Para obtener más información, consulta Codifica certificados de la AC.
- Si tu proveedor no usa certificados firmados por una autoridad de certificación raíz, debes configurar GKE Identity Service con una cadena de confianza de certificados. Para obtener más información, consulta Certificados intermedios.
Valor de certificado incorrecto
Este problema ocurre cuando el certificado tiene un valor no coincidente. En este caso, el formato de los certificados es correcto, pero no coinciden con el servidor. También puede indicar que no había certificados en la configuración.
Un valor de certificado se puede considerar incorrecto en cualquiera de las siguientes situaciones:
- Se comparte un valor de certificado incorrecto en ClientConfig. Un valor de certificado es incorrecto cuando el
issuer
del certificado del servidor no coincide con elsubject
del certificado configurado. - El certificado del ClientConfig no es una cadena codificada en base64.
- La cadena de certificados no se proporciona cuando se usan certificados intermedios para emitir el certificado del servidor.
Mensaje de error
Los siguientes ejemplos son de mensajes de error para situaciones en las que hay una discrepancia en el valor del certificado:
La cadena de certificados no está completa o no coincide con el servidor:
SSL peer certificate was not OK. Details: SSL certificate problem: unable to get local issuer certificate
La cadena de certificados no está completa (corresponde a una cadena parcial no válida que no comienza en la raíz o no es contigua):
Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.
La cadena de certificados es válida, pero no coincide con el servidor de OIDC:
AIS was expecting the server to have a different certificate
La cadena de certificados es válida, pero no coincide con el servidor de OIDC:
Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.
Solución
El valor del certificado que proporcionas en ClientConfig debe incluir una cadena de certificados con el formato correcto que coincida con el proveedor de identidad. Para obtener más información sobre cómo dar formato y codificar certificados, consulta Codifica certificados de la AC.