Ringkasan Workload Identity

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

Semua cluster GKE telah mengaktifkan workload identity.

Akun layanan Kubernetes

Workload Identity menerapkan gabungan identitas, atau mendelegasikan kepercayaan atau peran ke penyedia eksternal. Setiap cluster memiliki penyedia OpenID Connect (OIDC) bawaan. Saat berjalan di dalam cluster, Pod berjalan menggunakan akun layanan Kubernetes. Pod dapat dikonfigurasi untuk mendapatkan token dengan kredensial berumur pendek untuk akun layanan Kubernetes-nya 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 penggabungan identitas menggunakan OIDC.

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

Kumpulan dan penyedia identitas Google Cloud IAM

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

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

Alternatif untuk identitas workload

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

  1. Ekspor kredensial dan simpan sebagai Secret Kubernetes. Dalam hal ini, Anda harus merotasi kredensial yang tersimpan secara manual di Azure IAM dan cluster Anda. Selain itu, jika penyerang mencuri kredensial, mereka dapat mengeksploitasinya.

  2. Lampirkan kredensial ke instance dasar kumpulan node tersebut. Dalam hal ini, semua beban kerja yang berjalan di node yang sama memiliki kredensial yang sama, yang dapat menghasilkan kumpulan izin yang lebih besar daripada yang mungkin diperlukan beban kerja. Untuk memblokir akses ke izin instance, cluster GKE memblokir akses dari Pod ke layanan metadata instance.

Langkah selanjutnya