Soluciona problemas del proveedor de OIDC

En este documento, se proporciona orientación para solucionar problemas de OIDC y proveedores de identidad de AzureAD en GKE Identity Service.

Formato incorrecto del certificado

Este problema se produce cuando el valor del certificado tiene errores de formato. Los problemas de formato pueden corresponder a valores de certificado que no están codificados en base64 y valores codificados en base64, pero 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 que no tiene el formato correcto o que está codificado en base64, pero es 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 que no tiene el formato correcto o que está codificado en base64, pero es 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 se produce cuando el certificado tiene un valor que no coincide. 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.

El valor de un certificado se puede considerar incorrecto en cualquiera de las siguientes situaciones:

  • Se comparte un valor de certificado incorrecto en el ClientConfig. El valor de un certificado es incorrecto cuando el issuer del certificado de servidor no coincide con el subject 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 de servidor.

Mensaje de error

Los siguientes ejemplos son de mensajes de error de 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 proporciones 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.