Ringkasan Workload Identity

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

Semua cluster GKE telah mengaktifkan workload identity.

Akun layanan Kubernetes

Workload identity mengimplementasikan identity federation, atau mendelegasikan kepercayaan atau peran ke penyedia eksternal. Setiap cluster memiliki penyedia OpenID Connect (OIDC) bawaan. Saat berjalan di cluster, Pod berjalan menggunakan akun layanan Kubernetes. Pod dapat dikonfigurasi untuk mendapatkan token dengan kredensial yang berlaku singkat 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 federasi 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 memberikan informasi kunci publik yang memungkinkan layanan tersebut memverifikasi kredensial akun layanan Kubernetes.

Google Cloud Penyedia dan kumpulan 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 workload Anda, lihat Menggunakan workload identity dengan Google Cloud.

Penyedia identitas AWS IAM

AWS IAM mendukung federasi identitas menggunakan OIDC. Untuk mengakses AWS menggunakan identitas akun layanan workload, Anda perlu membuat penyedia OIDC di AWS IAM. Secara default, GKE di AWS tidak dikonfigurasi dengan penyedia identitas untuk AWS IAM.

Alternatif untuk workload identity

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

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

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

Langkah berikutnya