Ringkasan workload identity

Workload identity memungkinkan Anda menetapkan identitas dan otorisasi yang berbeda secara terperinci untuk setiap aplikasi di cluster. Workload identity adalah cara yang direkomendasikan agar aplikasi yang berjalan dalam GKE di Azure dapat mengakses Azure dan Google Cloud layanan.

Semua cluster GKE telah mengaktifkan workload identity.

Akun layanan Kubernetes

Workload identity mengimplementasikan federasi identitas, atau mendelegasikan kepercayaan atau peran ke penyedia eksternal. Setiap cluster memiliki penyedia OpenID Connect (OIDC) bawaan. Saat Pod berjalan di cluster, Pod akan berjalan menggunakan akun layanan Kubernetes. Pod dapat dikonfigurasi untuk mendapatkan token dengan kredensial berjangka pendek untuk akun layanan Kubernetes menggunakan Volume Token Akun Layanan Terikat.

Penyedia OpenID Connect

Setiap cluster dapat bertindak sebagai penyedia OpenID Connect (OIDC). Dengan penyedia ini, Anda dapat memberikan kredensial akun layanan Kubernetes ke layanan yang mendukung federasi identitas menggunakan OIDC.

URI penerbit penyedia ini juga berfungsi sebagai endpoint penemuan OIDC. Layanan dapat menggunakan endpoint penemuan ini untuk mendapatkan Kumpulan Kunci Web JSON (JWKS), yang memberikan informasi kunci publik yang memungkinkan layanan memverifikasi kredensial akun layanan Kubernetes.

Google Cloud Kumpulan dan penyedia identitas IAM

Google Cloud IAM mendukung federasi identitas menggunakan OIDC. Semua cluster GKE dikonfigurasi sebagai penyedia identitas di workload identity pool PROJECT_ID.svc.id.goog.

Untuk mendapatkan nama workload identity pool dan penyedia, lihat Menggunakan workload identity dengan Google Cloud.

Alternatif untuk workload identity

Ada metode alternatif untuk mengakses layanan dari GKE di Azure. Kami tidak merekomendasikan metode berikut karena komplikasi.

  1. Mengekspor kredensial dan menyimpannya sebagai Secret Kubernetes. Dalam hal ini, Anda harus memutar kredensial yang disimpan secara manual di Azure IAM dan di cluster. Selain itu, jika penyerang mencuri kredensial, mereka dapat mengeksploitasinya.

  2. Melampirkan kredensial ke instance yang mendasari kumpulan node. Dalam hal ini, semua workload yang berjalan di node yang sama berbagi kredensial, yang dapat menghasilkan kumpulan izin yang lebih besar daripada yang mungkin diperlukan workload. Untuk memblokir akses ke izin instance, cluster GKE memblokir akses dari Pod ke layanan metadata instance.

Langkah berikutnya