Anda dapat mengontrol workload dengan hak istimewa yang dapat berjalan dalam mode Autopilot Google Kubernetes Engine (GKE) menggunakan daftar yang diizinkan dan kebijakan. Dokumen ini menjelaskan batasan default yang diterapkan Autopilot pada workload, jenis workload dengan hak istimewa yang dapat Anda jalankan dalam mode Autopilot, dan metode untuk mengontrol penerimaan workload dengan hak istimewa.
Dokumen ini ditujukan untuk orang-orang berikut:
- Admin dan operator platform yang ingin menjalankan workload GKE dengan hak istimewa dari berbagai sumber dalam mode Autopilot.
- Admin identitas dan akun yang ingin meningkatkan postur keamanan organisasi Anda dengan memblokir semua workload dengan hak istimewa, kecuali workload tertentu.
Tentang workload dengan hak istimewa dalam mode Autopilot
Untuk meningkatkan postur keamanan Anda, cluster dan node mode Autopilot
menerapkan batasan
keamanan secara
default. Misalnya, Autopilot menolak sebagian besar Pod yang menetapkan kolom spec.securityContext.privileged ke true dalam container. Workload dengan hak istimewa di Autopilot adalah workload yang tidak memenuhi batasan default ini. Secara default, node Autopilot di Cloud de Confiance
organisasi menolak workload dengan hak istimewa.
Workload dengan hak istimewa tertentu hanya dapat berjalan dalam mode Autopilot jika cluster memiliki daftar yang diizinkan yang cocok dengan workload tersebut. Saat membuat atau mengubah cluster, admin cluster dapat menentukan jalur ke daftar yang diizinkan yang dapat dijalankan oleh cluster. Secara default, setiap Cloud de Confiance organisasi mendukung daftar yang diizinkan dari partner Autopilot dan project open source yang terverifikasi.
Administrator organisasi dapat mengubah perilaku default ini dengan cara berikut menggunakan Layanan Kebijakan Organisasi:
- Mengizinkan semua workload dari partner GKE Autopilot dan workload open source yang terverifikasi. Ini adalah perilaku default di semua Cloud de Confiance organisasi.
- Mengizinkan workload partner tertentu atau workload open source yang terverifikasi.
- Hanya mengizinkan workload dengan hak istimewa tertentu yang dimiliki pelanggan.
- Menolak semua workload dengan hak istimewa.
Pendekatan tolak semua, lalu izinkan beberapa ini adalah praktik terbaik keamanan yang memungkinkan Anda mengontrol secara tepat apa yang berjalan dengan hak istimewa yang ditingkatkan di cluster GKE Anda.
Anda mungkin ingin mengontrol workload dengan hak istimewa dalam mode Autopilot dalam situasi seperti berikut:
- Anda menjalankan workload dalam mode Autopilot di cluster Standard dan Anda ingin workload dengan hak istimewa berjalan di node tersebut.
- Anda hanya ingin mengizinkan sekumpulan workload dengan hak istimewa tertentu untuk berjalan di organisasi, folder, atau project Anda.
Sumber workload Autopilot dengan hak istimewa
Tabel berikut menjelaskan jenis workload dengan hak istimewa yang dapat Anda jalankan di Autopilot:
| Jenis workload dengan hak istimewa | |
|---|---|
| Workload partner Autopilot | Sebagian Cloud de Confiance partner menyediakan workload dengan hak istimewa untuk mode Autopilot. GKE memverifikasi workload partner ini. Workload ini tersedia untuk semua pelanggan. Secara default, setiap pelanggan dapat menginstal daftar yang diizinkan yang sesuai di cluster Autopilot atau Standard. Untuk mengetahui informasi selengkapnya tentang workload partner yang tersedia, lihat Partner Autopilot. |
| Workload open source | Workload open source dengan hak istimewa tertentu memiliki daftar yang diizinkan yang memungkinkan Anda menjalankan workload tersebut dalam mode Autopilot. GKE memverifikasi workload ini. Secara default, setiap pelanggan dapat menginstal daftar yang diizinkan yang sesuai di cluster Autopilot atau Standard. Untuk mengetahui informasi selengkapnya tentang workload open source yang tersedia, lihat Menjalankan workload open source dengan hak istimewa di GKE Autopilot. |
| Workload milik pelanggan | Jika Anda adalah pelanggan yang memenuhi syarat dan memiliki workload dengan hak istimewa yang ingin Anda jalankan di node Autopilot, Anda dapat membuat daftar yang diizinkan untuk workload tersebut. Kemampuan ini dinonaktifkan secara default untuk semua Cloud de Confiance organisasi. Anda menggunakan Layanan Kebijakan Organisasi untuk menambahkan jalur daftar yang diizinkan untuk workload tertentu, lalu memperbarui cluster untuk menginstal daftar yang diizinkan tersebut. Untuk mengetahui informasi selengkapnya, lihat bagian Workload dengan hak istimewa milik pelanggan. |
Cara kerja kontrol penerimaan workload dengan hak istimewa
Untuk mengizinkan workload dengan hak istimewa tertentu berjalan di node Autopilot, Anda menginstal daftar yang diizinkan yang sesuai dengan setiap workload. Daftar yang diizinkan ini adalah resource kustom Kubernetes WorkloadAllowlist. GKE memvalidasi detail workload terhadap WorkloadAllowlist apa pun di cluster, dan hanya mengizinkan penerimaan jika detailnya cocok. Secara default, setiap cluster Autopilot atau Standard di Cloud de Confiance organisasi memungkinkan Anda menginstal WorkloadAllowlist untuk workload partner Autopilot dan untuk workload open source.
Pada tingkat tinggi, menjalankan workload dengan hak istimewa di node Autopilot melibatkan langkah-langkah berikut:
- Administrator organisasi memverifikasi bahwa batasan Kebijakan Organisasi terkelola
container.managed.autopilotPrivilegedAdmissionmengizinkan penginstalan daftar yang diizinkan dari sumber tertentu. Untuk mengetahui informasi selengkapnya, lihat bagian Batasan terkelola Kebijakan Organisasi untuk daftar yang diizinkan. - Untuk workload dengan hak istimewa milik pelanggan, administrator platform membuat daftar yang diizinkan yang cocok dengan workload dengan hak istimewa. Untuk mengetahui informasi selengkapnya, lihat bagian Workload dengan hak istimewa milik pelanggan.
- Admin cluster mengonfigurasi cluster Autopilot atau Standard untuk mengizinkan penginstalan daftar yang diizinkan dari sumber tertentu. Untuk mengetahui informasi selengkapnya, lihat bagian Konfigurasi cluster.
- Admin cluster membuat AllowlistSynchronizer yang mereferensikan jalur ke daftar yang diizinkan. AllowlistSynchronizer menginstal daftar yang diizinkan dan terus memperbarui daftar yang diizinkan. Untuk mengetahui informasi selengkapnya, lihat bagian Penginstalan daftar yang diizinkan.
Setelah langkah-langkah ini selesai, operator aplikasi dapat men-deploy workload dengan hak istimewa di cluster.
Batasan terkelola Kebijakan Organisasi untuk daftar yang diizinkan
Secara default, setiap Cloud de Confiance organisasi menerapkan kebijakan organisasi
yang didasarkan pada
container.managed.autopilotPrivilegedAdmission
batasan terkelola.
Batasan ini menentukan sekumpulan jalur file atau direktori tempat cluster GKE dapat menginstal daftar yang diizinkan. Konfigurasi cluster harus menggunakan jalur daftar yang diizinkan dari parameter batasan ini.
Secara default, batasan autopilotPrivilegedAdmission mengizinkan penggunaan semua daftar yang diizinkan yang dimiliki oleh partner GKE dan project open source yang disetujui. Setelan ini cocok dengan konfigurasi default cluster GKE, yang dapat menginstal daftar yang diizinkan yang disetujui tersebut.
Sebagai administrator kebijakan organisasi, Anda dapat mengubah kumpulan jalur daftar yang diizinkan yang dapat diterapkan ke cluster GKE di organisasi, folder, atau project Anda. Misalnya, untuk mengizinkan penggunaan daftar yang diizinkan kustom yang dimiliki organisasi Anda, tambahkan jalur daftar yang diizinkan tersebut ke batasan terkelola.
Parameter batasan terkelola
Batasan terkelola autopilotPrivilegedAdmission memiliki spesifikasi berikut:
spec:
rules:
- enforce: true
parameters:
allowAnyGKEPath: ALLOW_GKE_PATHS
allowPaths:
- PATH1
- PATH2
- PATH3
Kolom berikut dalam spesifikasi mengontrol kumpulan daftar yang diizinkan yang dapat digunakan cluster:
allowAnyGKEPath: nilai boolean yang mengontrol apakah cluster dapat menggunakan kumpulan jalur daftar yang diizinkan yang disetujui GKE secara default. Parameter ini mendukung nilai berikut:True: admin cluster dapat mengonfigurasi cluster tanpa mengubah konfigurasi daftar yang diizinkan, dengan satu atau beberapa jalur daftar yang diizinkan yang dimulai dengangke://, atau dengan string kosong untuk menonaktifkan semua daftar yang diizinkan untuk cluster.Trueadalah nilai default untuk parameter ini.False: admin cluster harus mengonfigurasi cluster dengan string kosong untuk sumber daftar yang diizinkan atau dengan jalur daftar yang diizinkan dari parameterallowPaths.
allowPaths: daftar sumber daftar yang diizinkan yang disetujui yang dapat ditentukan nilainya oleh admin cluster saat mengonfigurasi cluster. Anda dapat menentukan jalur ke file daftar yang diizinkan tertentu atau ke seluruh direktori.
Tabel berikut menjelaskan hasil konfigurasi parameter ini dengan berbagai cara:
Nilai allowAnyGKEPath |
Nilai allowPaths |
Hasil |
|---|---|---|
True |
Kosong atau tidak ditentukan. | Admin cluster dapat melakukan salah satu tindakan berikut selama pembuatan atau modifikasi cluster:
|
False |
Kosong atau tidak ditentukan. | Admin cluster harus menentukan nilai kosong untuk konfigurasi daftar yang diizinkan cluster. Jika admin cluster melewati konfigurasi jalur daftar yang diizinkan, maka pembuatan atau modifikasi cluster akan gagal. |
True |
Nilai ditentukan. | Admin cluster dapat melakukan salah satu tindakan berikut selama pembuatan atau modifikasi cluster:
|
False |
Nilai ditentukan. | Admin cluster harus melakukan salah satu tindakan berikut selama pembuatan atau modifikasi cluster:
|
Untuk mengetahui informasi selengkapnya tentang cara mengontrol penerimaan workload dengan hak istimewa dalam kebijakan organisasi, lihat Membatasi workload GKE dengan hak istimewa di organisasi.
Workload dengan hak istimewa milik pelanggan
Sebagai pelanggan GKE, Anda mungkin memiliki workload khusus sendiri yang memerlukan lebih banyak hak istimewa di cluster daripada batasan keamanan Autopilot default. Di GKE versi 1.35 dan yang lebih baru, Anda dapat mengecualikan workload ini dari batasan Autopilot default dengan membuat daftar yang diizinkan.
Daftar yang diizinkan adalah file YAML yang menentukan resource kustom Kubernetes WorkloadAllowlist. Spesifikasi WorkloadAllowlist cocok dengan berbagai kolom dalam spesifikasi Pod Kubernetes. Saat menentukan WorkloadAllowlist, Anda mencocokkan nilai dalam WorkloadAllowlist dengan kolom yang sesuai dalam spesifikasi workload dengan hak istimewa Anda. Anda menyimpan file YAML di bucket Cloud Storage.
Untuk menginstal daftar yang diizinkan milik pelanggan ini di cluster, langkah-langkah berikut harus dilakukan:
- Administrator organisasi Anda menambahkan jalur Cloud Storage ke kebijakan organisasi. Untuk mengetahui informasi selengkapnya, lihat bagian Tentang batasan terkelola Kebijakan Organisasi.
- Anda menambahkan jalur Cloud Storage ke konfigurasi cluster. Untuk mengetahui informasi selengkapnya, lihat bagian Konfigurasi cluster.
Untuk mengetahui informasi selengkapnya tentang cara membuat WorkloadAllowlist Anda sendiri, lihat Membuat daftar yang diizinkan untuk workload Autopilot dengan hak istimewa.
Konfigurasi cluster
Untuk menjalankan workload dengan hak istimewa dalam mode Autopilot, admin cluster menambahkan satu atau beberapa jalur daftar yang diizinkan yang disetujui ke konfigurasi cluster. Setelah Anda menambahkan jalur ke cluster, operator aplikasi dapat menginstal daftar yang diizinkan dan workload dengan hak istimewa yang sesuai di cluster.
Secara default, Anda dapat menginstal daftar yang diizinkan dari partner Autopilot dan project open source yang disetujui. Kumpulan sumber yang disetujui default untuk daftar yang diizinkan ini dapat berubah karena kebijakan organisasi, seperti yang dijelaskan di bagian sebelumnya. Jika kebijakan organisasi mengontrol jalur daftar yang diizinkan yang disetujui, Anda harus berkoordinasi dengan administrator organisasi untuk mengidentifikasi jalur tersebut. Kemudian, Anda dapat menentukan satu atau beberapa jalur yang disetujui dalam konfigurasi cluster.
Untuk mengetahui informasi selengkapnya tentang cara mengonfigurasi cluster, lihat Menjalankan workload dengan hak istimewa di Autopilot.
Penginstalan daftar yang diizinkan
Untuk menginstal daftar yang diizinkan dari sumber yang disetujui di cluster Anda, gunakan resource kustom Kubernetes yang bernama AllowlistSynchronizer. Anda menentukan dan membuat AllowlistSynchronizer dengan cara yang sama seperti membuat resource Kubernetes lainnya seperti Pod dan Deployment. Setiap AllowlistSynchronizer memiliki daftar jalur ke daftar yang diizinkan yang ingin Anda instal di cluster.
Saat Anda membuat AllowlistSynchronizer, GKE akan menginstal daftar yang diizinkan dari jalur ini dan terus memperbarui daftar yang diizinkan. Setiap 10 menit, GKE akan memeriksa perubahan pada file daftar yang diizinkan. Jika ada update, sinkronisasi akan menginstal daftar yang diizinkan yang diperbarui di cluster.
Setelah GKE menginstal daftar yang diizinkan berdasarkan AllowlistSynchronizer, Anda dapat membuat workload dengan hak istimewa yang sesuai di cluster.
Untuk mengetahui informasi selengkapnya tentang cara menginstal daftar yang diizinkan di cluster, lihat Menjalankan workload dengan hak istimewa di Autopilot.
Jalur daftar yang diizinkan
Saat mengonfigurasi dukungan daftar yang diizinkan dalam kebijakan organisasi atau cluster, Anda menentukan jalur ke satu atau beberapa WorkloadAllowlist yang telah Anda setujui untuk diinstal. Sintaksis untuk jalur ini bergantung pada siapa yang membuat WorkloadAllowlist, sebagai berikut:
Partner Autopilot tertentu dan project open source yang disetujui:
gke://REPOSITORY_PATH/SELECTORGanti kode berikut:
REPOSITORY_PATH: jalur ke direktori yang berisi daftar yang diizinkan untuk workload, sepertiGrafana/alloy. Untuk mengetahui informasi selengkapnya tentang jalur daftar yang diizinkan untuk workload ini, lihat halaman berikut:SELECTOR: nama file tertentu atau karakter*, yang memilih setiap file di direktori tersebut.
Misalnya, jalur berikut memilih daftar yang diizinkan di direktori
Grafana/alloy:gke://Grafana/alloy/*Workload dengan hak istimewa milik pelanggan:
gs://DIRECTORY_PATH/SELECTORGanti
DIRECTORY_PATHdengan jalur ke direktori di Cloud Storage yang berisi file daftar yang diizinkan. Anda dapat menentukan beberapa jalur.
Anda dapat menentukan satu atau beberapa jalur sebelumnya dalam kebijakan organisasi atau konfigurasi cluster. Misalnya, Anda dapat menambahkan workload partner GKE dan workload milik pelanggan ke konfigurasi yang sama. Anda juga dapat menggunakan karakter * untuk memilih semua daftar yang diizinkan. Misalnya, gke://* memilih daftar yang diizinkan yang disetujui GKE dari sumber mana pun.
Tabel berikut menjelaskan konfigurasi yang diperlukan dalam kebijakan atau cluster organisasi untuk mendukung tujuan tertentu:
| Tujuan | Konfigurasi kebijakan organisasi | Konfigurasi cluster |
|---|---|---|
| Mengizinkan semua WorkloadAllowlist yang disetujui GKE | Lakukan tindakan berikut:
|
Lakukan salah satu hal berikut:
|
| Hanya mengizinkan WorkloadAllowlist yang disetujui GKE tertentu | Lakukan tindakan berikut:
|
Tentukan jalur ke WorkloadAllowlist yang disetujui GKE tertentu saat Anda membuat atau memperbarui cluster. Kebijakan organisasi dapat membatasi jalur yang disetujui GKE yang dapat Anda tentukan. |
| Hanya mengizinkan WorkloadAllowlist yang dikelola pelanggan | Lakukan tindakan berikut:
|
Tentukan jalur ke WorkloadAllowlist yang dikelola pelanggan saat Anda membuat
atau memperbarui cluster. Jalur yang Anda tentukan harus berada dalam parameter
allowPaths kebijakan organisasi. |
| Mencegah penggunaan WorkloadAllowlist | Lakukan tindakan berikut:
|
Tetapkan string kosong "" sebagai jalur yang disetujui saat Anda
membuat atau memperbarui cluster. |
Langkah berikutnya
- Membatasi workload GKE dengan hak istimewa di organisasi.
- Menjalankan workload dengan hak istimewa di Autopilot.