Anda dapat mengontrol workload istimewa mana 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 istimewa yang dapat Anda jalankan dalam mode Autopilot, dan metode untuk mengontrol penerimaan workload 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 akun dan identitas yang ingin meningkatkan postur keamanan organisasi Anda dengan memblokir semua workload istimewa, kecuali workload tertentu.
Tentang workload istimewa dalam mode Autopilot
Untuk meningkatkan postur keamanan Anda, cluster dan node mode Autopilot menerapkan
batasan keamanan tertentu secara
default. Misalnya, Autopilot menolak sebagian besar Pod yang menetapkan kolom
spec.securityContext.privileged ke true dalam penampung. Workload istimewa di Autopilot adalah workload yang tidak memenuhi batasan default ini. Secara default, node Autopilot di organisasi Google Cloud
menolak workload dengan hak istimewa.
Workload istimewa tertentu dapat berjalan dalam mode Autopilot hanya 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 organisasi mendukung daftar yang diizinkan dari partner Autopilot dan project open source terverifikasi. Google Cloud
Administrator organisasi dapat mengubah perilaku default ini dengan cara berikut menggunakan Layanan Kebijakan Organisasi:
- Izinkan semua workload dari partner Autopilot GKE dan workload open source terverifikasi. Ini adalah perilaku default di semua organisasiGoogle Cloud .
- Mengizinkan workload partner tertentu atau workload open source terverifikasi.
- Hanya izinkan workload istimewa milik pelanggan tertentu.
- Menolak semua beban kerja yang memiliki 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 yang memiliki hak istimewa dalam mode Autopilot dalam situasi seperti berikut:
- Anda menjalankan workload dalam mode Autopilot di cluster Standard dan Anda ingin workload yang memiliki hak istimewa dijalankan di node tersebut.
- Anda hanya ingin mengizinkan serangkaian workload istimewa tertentu untuk berjalan di organisasi, folder, atau project Anda.
Sumber workload Autopilot yang memiliki hak istimewa
Tabel berikut menjelaskan jenis workload istimewa yang dapat Anda jalankan di Autopilot:
| Jenis workload yang memiliki hak istimewa | |
|---|---|
| Workload partner autopilot | Sebagian partner menyediakan workload dengan hak istimewa untuk mode Autopilot. Google Cloud GKE memverifikasi workload partner ini. Beban kerja ini tersedia untuk semua pelanggan. Secara default, setiap pelanggan dapat menginstal daftar yang diizinkan yang sesuai di cluster Autopilot atau Standard mana pun. Untuk mengetahui informasi selengkapnya tentang workload partner yang tersedia, lihat Partner Autopilot. |
| Beban kerja open source | Workload open source istimewa tertentu memiliki daftar yang diizinkan yang memungkinkan Anda menjalankan workload tersebut dalam mode Autopilot. GKE memverifikasi workload ini. Secara default, pelanggan mana pun dapat menginstal daftar yang diizinkan yang sesuai di cluster Autopilot atau Standard mana pun. Untuk mengetahui informasi selengkapnya tentang workload open source yang tersedia, lihat Menjalankan workload open source yang memiliki hak istimewa di GKE Autopilot. |
| Workload milik pelanggan | Jika Anda adalah pelanggan yang memenuhi syarat dan memiliki workload istimewa yang ingin Anda jalankan di node Autopilot, Anda dapat membuat daftar yang diizinkan untuk workload tersebut. Kemampuan ini dinonaktifkan secara default untuk semua Google Cloud organisasi. Anda menggunakan Organization Policy Service untuk menambahkan jalur daftar yang diizinkan untuk beban kerja tertentu, lalu memperbarui cluster untuk menginstal daftar yang diizinkan tersebut. Untuk mengetahui informasi selengkapnya, lihat bagian Workload istimewa milik pelanggan. |
Cara kerja kontrol penerimaan beban kerja yang memiliki hak istimewa
Untuk mengizinkan workload 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 WorkloadAllowlists apa pun di cluster, dan hanya mengizinkan penerimaan jika detailnya cocok. Secara default, setiap cluster Autopilot atau Standard di organisasi memungkinkan Anda menginstal Daftar Izin Workload untuk workload partner Autopilot dan untuk workload open source. Google Cloud
Pada tingkat tinggi, menjalankan workload istimewa di node Autopilot melibatkan langkah-langkah berikut:
- Administrator organisasi memverifikasi bahwa batasan Kebijakan Organisasi yang dikelola
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 istimewa milik pelanggan, administrator platform membuat daftar yang diizinkan yang cocok dengan workload istimewa. Untuk mengetahui informasi selengkapnya, lihat bagian Customer-owned privileged workloads.
- 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 istimewa di cluster.
Batasan yang dikelola Kebijakan Organisasi untuk daftar yang diizinkan
Secara default, setiap organisasi Google Cloud menerapkan kebijakan organisasi yang didasarkan pada
container.managed.autopilotPrivilegedAdmission
batasan terkelola.
Batasan terkelola ini memiliki parameter berikut:
allowAnyGKEPath: nilai boolean yang memungkinkan admin cluster mengonfigurasi cluster untuk penginstalan daftar yang diizinkan dari jalur yang memiliki awalangke://. Nilai berikut didukung:true: memungkinkan admin cluster mengonfigurasi cluster dengan sumber daftar yang diizinkan default GKE, dengan jalur daftar yang diizinkan yang dimulai dengangke://, atau dengan string kosong (yang mencegah semua daftar yang diizinkan). Ini adalah nilai default untuk parameterallowAnyGKEPath.false: mewajibkan admin cluster mengonfigurasi cluster dengan string kosong untuk sumber daftar yang diizinkan atau dengan jalur daftar yang diizinkan dari parameterallowPaths.
allowPaths: daftar sumber yang disetujui dan diizinkan yang dapat ditentukan nilainya oleh admin cluster saat mengonfigurasi cluster.
Sebagai administrator organisasi, Anda dapat memperbarui parameter kebijakan ini untuk mengontrol beban kerja istimewa mana yang dapat berjalan di organisasi Anda. Google CloudMisalnya, konfigurasi kebijakan organisasi berikut memungkinkan admin cluster menginstal daftar yang diizinkan hanya untuk beban kerja partner Google Cloudtertentu:
name: organizations/ORGANIZATION_ID/policies/container.managed.autopilotPrivilegedAdmission
spec:
rules:
- enforce: true
parameters:
allowAnyGKEPath: ALLOW_GKE_PATHS
allowPaths:
- PATH1
- PATH2
- PATH3
Ganti kode berikut:
ALLOW_GKE_PATHS: apakah akan mengizinkan daftar yang diizinkan yang disetujui GKE. Tentukan salah satu nilai berikut:True: mengizinkan konfigurasi cluster dengan beban kerja partner GKE atau beban kerja open source terverifikasi. Ini adalah nilai defaultnya.False: memungkinkan konfigurasi cluster hanya dengan jalur di kolomallowPaths.
PATH1,: daftar jalur ke sumber daftar yang diizinkan yang disetujui yang dapat digunakan admin cluster saat mereka mengonfigurasi cluster. Secara default, parameter ini kosong. Jika Anda menentukan jalur untuk parameter ini, admin cluster harus menentukan nol atau lebih jalur tersebut saat mereka membuat atau mengupdate cluster.PATH2,...
Untuk mengetahui informasi selengkapnya tentang mengontrol penerimaan workload istimewa dalam kebijakan organisasi, lihat Membatasi workload GKE istimewa di organisasi.
Workload istimewa milik pelanggan
Sebagai pelanggan GKE, Anda mungkin memiliki workload khusus Anda sendiri yang memerlukan lebih banyak hak istimewa di cluster daripada yang diizinkan oleh 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 WorkloadAllowlist Kubernetes. 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 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 yang memiliki hak istimewa.
Konfigurasi cluster
Untuk menjalankan workload 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 istimewa yang sesuai di cluster.
Secara default, Anda dapat menginstal daftar yang diizinkan dari partner Autopilot dan project open source yang disetujui. Set default sumber yang disetujui 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 Anda 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 istimewa di Autopilot.
Penginstalan daftar yang diizinkan
Untuk menginstal daftar yang diizinkan dari sumber yang disetujui di cluster, Anda menggunakan resource kustom Kubernetes bernama AllowlistSynchronizer. Anda menentukan dan membuat AllowlistSynchronizer dengan cara yang sama seperti saat Anda 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 memeriksa perubahan pada file daftar yang diizinkan. Jika ada update, penyinkron akan menginstal daftar yang diizinkan yang telah diupdate di cluster.
Setelah GKE menginstal daftar yang diizinkan berdasarkan AllowlistSynchronizer, Anda dapat membuat workload istimewa yang sesuai di cluster.
Untuk mengetahui informasi selengkapnya tentang cara menginstal daftar yang diizinkan di cluster, lihat Menjalankan workload istimewa di Autopilot.
Jalur daftar yang diizinkan
Saat mengonfigurasi dukungan daftar yang diizinkan dalam kebijakan atau cluster organisasi, 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 beban kerja, sepertiGrafana/alloy. Untuk mengetahui informasi selengkapnya tentang jalur yang diizinkan untuk workload ini, lihat halaman berikut:SELECTOR: nama file tertentu atau*karakter, yang memilih setiap file dalam direktori tersebut.
Misalnya, jalur berikut memilih daftar yang diizinkan di direktori
Grafana/alloy:gke://Grafana/alloy/*Workload 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 beban kerja partner GKE dan beban kerja 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 organisasi atau cluster 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 tertentu yang disetujui GKE | Lakukan tindakan berikut:
|
Tentukan jalur ke WorkloadAllowlists khusus yang disetujui GKE saat Anda membuat atau memperbarui cluster. Kebijakan organisasi dapat membatasi jalur yang disetujui GKE yang dapat Anda tentukan. |
| Hanya izinkan WorkloadAllowlists yang dikelola pelanggan | Lakukan tindakan berikut:
|
Tentukan jalur ke WorkloadAllowlists yang dikelola pelanggan saat Anda membuat
atau memperbarui cluster. Jalur yang Anda tentukan harus berada di
parameter allowPaths dari kebijakan organisasi. |
| Mencegah penggunaan WorkloadAllowlists | Lakukan tindakan berikut:
|
Tetapkan string kosong "" sebagai jalur yang disetujui saat Anda
membuat atau memperbarui cluster. |
Langkah berikutnya
- Membatasi workload GKE yang memiliki hak istimewa di organisasi.
- Menjalankan workload istimewa di Autopilot.