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 AWS untuk mengakses layanan AWS 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.
Penyedia identitas IAM AWS
IAM AWS mendukung penggabungan 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 identitas workload
Ada metode alternatif untuk mengakses layanan dari GKE di AWS. Kami tidak merekomendasikan metode berikut karena komplikasinya.
Ekspor kredensial dan simpan sebagai Secret Kubernetes. Dalam hal ini, Anda harus merotasi kredensial yang tersimpan secara manual di AWS IAM dan di cluster Anda. Selain itu, jika penyerang mencuri kredensial, mereka dapat mengeksploitasinya.
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
- Menggunakan workload identity dengan layanan Google Cloud
- Menggunakan workload identity dengan AWS
- Pelajari lebih lanjut Penggabungan identitas workload