Memecahkan masalah penyedia OIDC

Dokumen ini memberikan panduan pemecahan masalah untuk masalah penyedia identitas OIDC dan AzureAD di Identity Service GKE.

Pemformatan sertifikat salah

Masalah ini terjadi jika nilai sertifikat memiliki error pemformatan. Masalah pemformatan dapat sesuai dengan nilai sertifikat yang tidak dienkode base64 dan nilai yang dienkode base64, tetapi salah. Masalah ini juga dapat terjadi jika sertifikat tidak ditandatangani oleh root certificate authority atau rantai kepercayaan berformat benar tidak diberikan.

Pesan error

Contoh berikut adalah pesan error untuk skenario saat format sertifikat salah:

  • Sertifikat yang tidak dienkode 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

  • Sertifikat yang tidak diformat dengan benar atau dienkode base64, tetapi salah: 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.)

  • Sertifikat yang tidak diformat dengan benar atau dienkode base64, tetapi salah: Failed fetching the Discovery URI "<Discovery-document URI>" with error: Unable to load TLS certificates.

Solusi

Anda dapat mengatasi masalah tersebut dengan salah satu cara berikut:

  • Nilai sertifikat yang Anda berikan di ClientConfig harus berupa string yang dienkode base64 dan string berformat PEM. Untuk informasi selengkapnya, lihat Mengenkode sertifikat CA.
  • Jika penyedia Anda tidak menggunakan sertifikat yang ditandatangani oleh root certificate authority, Anda perlu mengonfigurasi Layanan Identitas GKE dengan rantai kepercayaan sertifikat. Untuk mengetahui informasi selengkapnya, lihat Sertifikat perantara.

Nilai sertifikat salah

Masalah ini terjadi jika sertifikat memiliki nilai yang tidak cocok. Dalam hal ini, format sertifikat sudah benar, tetapi tidak cocok dengan server. Hal ini juga dapat menunjukkan bahwa tidak ada sertifikat dalam konfigurasi.

Nilai sertifikat dapat dianggap salah dalam salah satu skenario berikut:

  • Nilai sertifikat yang salah dibagikan di ClientConfig. Nilai sertifikat salah jika issuer sertifikat server tidak cocok dengan subject sertifikat yang dikonfigurasi.
  • Sertifikat di ClientConfig bukan string yang dienkode base64.
  • Rantai sertifikat tidak diberikan jika sertifikat perantara digunakan untuk menerbitkan sertifikat server.

Pesan error

Contoh berikut adalah pesan error untuk skenario saat ada ketidakcocokan dalam nilai sertifikat:

  • Rantai sertifikat tidak lengkap atau tidak cocok dengan server: SSL peer certificate was not OK. Details: SSL certificate problem: unable to get local issuer certificate

  • Rantai sertifikat tidak lengkap (sesuai dengan rantai parsial yang tidak valid yang tidak dimulai dari root atau tidak berdekatan): Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.

  • Rantai sertifikat valid, tetapi tidak cocok dengan server OIDC: AIS was expecting the server to have a different certificate

  • Rantai sertifikat valid, tetapi tidak cocok dengan server OIDC: Failed fetching the Discovery URI "<Discovery-document URI>" with error: The server's TLS certificate did not match expectations.

Solusi

Nilai sertifikat yang Anda berikan di ClientConfig harus menyertakan rantai sertifikat yang diformat dengan benar dan cocok dengan penyedia identitas. Untuk mengetahui informasi selengkapnya tentang cara memformat dan mengenkode sertifikat, lihat Mengenkode sertifikat CA.