Risolvere i problemi relativi al provider OIDC

Questo documento fornisce indicazioni per la risoluzione dei problemi relativi ai provider di identità OIDC e AzureAD in GKE Identity Service.

Formattazione non corretta del certificato

Questo problema si verifica quando il valore del certificato presenta errori di formattazione. I problemi di formattazione possono corrispondere a valori del certificato non codificati in base64 e a valori codificati in base64, ma errati. Il problema può verificarsi anche se il certificato non è firmato da un'autorità di certificazione radice o se non viene fornita una catena di attendibilità formattata correttamente.

Messaggi di errore

Di seguito sono riportati alcuni esempi di messaggi di errore per scenari in cui il formato del certificato non è corretto:

  • Certificato non codificato in 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

  • Il certificato non è formattato correttamente o è codificato in base64, ma è errato: 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.)

  • Il certificato non è formattato correttamente o è codificato in base64, ma è errato: Failed fetching the Discovery URI "<Discovery-document URI>" with error: Unable to load TLS certificates.

Soluzione

Puoi risolvere i problemi in uno dei seguenti modi:

  • Il valore del certificato fornito in ClientConfig deve essere una stringa con codifica base64 e una stringa in formato PEM. Per ulteriori informazioni, vedi Codificare i certificati CA.
  • Se il tuo provider non utilizza certificati firmati da un'autorità di certificazione principale, devi configurare GKE Identity Service con una catena di attendibilità dei certificati. Per ulteriori informazioni, vedi Certificati intermedi.

Valore del certificato errato

Questo problema si verifica quando il certificato ha un valore non corrispondente. In questo caso, la formattazione dei certificati è corretta, ma non corrispondono al server. Può anche indicare che non sono presenti certificati nella configurazione.

Un valore del certificato può essere considerato errato in uno dei seguenti scenari:

  • In ClientConfig è condiviso un valore del certificato errato. Un valore del certificato non è corretto quando il issuer del certificato del server non corrisponde al subject del certificato configurato.
  • Il certificato in ClientConfig non è una stringa con codifica base64.
  • La catena di certificati non viene fornita quando vengono utilizzati certificati intermedi per emettere il certificato del server.

Messaggio di errore

Di seguito sono riportati alcuni esempi di messaggi di errore per scenari in cui non c'è corrispondenza nel valore del certificato:

  • La catena di certificati non è completa o non corrisponde al server: SSL peer certificate was not OK. Details: SSL certificate problem: unable to get local issuer certificate

  • La catena di certificati non è completa (corrisponde a una catena parziale non valida che non inizia dal certificato radice o non è contigua): Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.

  • La catena di certificati è valida, ma non corrisponde al server OIDC: AIS was expecting the server to have a different certificate

  • La catena di certificati è valida, ma non corrisponde al server OIDC: Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.

Soluzione

Il valore del certificato fornito in ClientConfig deve includere una catena di certificati formattata correttamente che corrisponda al provider di identità. Per ulteriori informazioni su come formattare e codificare i certificati, consulta Codificare i certificati CA.