Tentang penerimaan workload dengan hak istimewa dalam mode Autopilot

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:

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:

  1. Administrator organisasi memverifikasi bahwa batasan Kebijakan Organisasi terkelola container.managed.autopilotPrivilegedAdmission mengizinkan penginstalan daftar yang diizinkan dari sumber tertentu. Untuk mengetahui informasi selengkapnya, lihat bagian Batasan terkelola Kebijakan Organisasi untuk daftar yang diizinkan.
  2. 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.
  3. Admin cluster mengonfigurasi cluster Autopilot atau Standard untuk mengizinkan penginstalan daftar yang diizinkan dari sumber tertentu. Untuk mengetahui informasi selengkapnya, lihat bagian Konfigurasi cluster.
  4. 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 dengan gke://, atau dengan string kosong untuk menonaktifkan semua daftar yang diizinkan untuk cluster. True adalah 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 parameter allowPaths.

  • 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:

  • Menggunakan konfigurasi daftar yang diizinkan default: menghapus opsi konfigurasi daftar yang diizinkan, sehingga cluster dapat menginstal daftar yang diizinkan dari jalur mana pun yang memiliki awalan gke://.
  • Menonaktifkan penginstalan daftar yang diizinkan: menentukan nilai kosong untuk konfigurasi daftar yang diizinkan cluster.
  • Menentukan jalur daftar yang diizinkan GKE: menentukan satu atau beberapa jalur daftar yang diizinkan yang memiliki awalan gke://. Cluster hanya dapat menginstal daftar yang diizinkan dari jalur tersebut.
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:

  • Menggunakan konfigurasi daftar yang diizinkan default:menghapus opsi konfigurasi daftar yang diizinkan, sehingga cluster dapat menginstal daftar yang diizinkan dari jalur mana pun yang memiliki awalan gke://.
  • Menonaktifkan penginstalan daftar yang diizinkan: menentukan nilai kosong untuk konfigurasi daftar yang diizinkan cluster.
  • Menentukan jalur daftar yang diizinkan: menentukan satu atau beberapa jalur daftar yang diizinkan yang memiliki awalan gke:// atau ditentukan dalam parameter allowPaths.
False Nilai ditentukan.

Admin cluster harus melakukan salah satu tindakan berikut selama pembuatan atau modifikasi cluster:

  • Menonaktifkan penginstalan daftar yang diizinkan: menentukan nilai kosong untuk konfigurasi daftar yang diizinkan cluster.
  • Menentukan jalur daftar yang diizinkan: menentukan satu atau beberapa jalur daftar yang diizinkan dari parameter allowPaths.

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:

  1. Administrator organisasi Anda menambahkan jalur Cloud Storage ke kebijakan organisasi. Untuk mengetahui informasi selengkapnya, lihat bagian Tentang batasan terkelola Kebijakan Organisasi.
  2. 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/SELECTOR
    

    Ganti kode berikut:

    Misalnya, jalur berikut memilih daftar yang diizinkan di direktori Grafana/alloy:

    gke://Grafana/alloy/*
    
  • Workload dengan hak istimewa milik pelanggan:

    gs://DIRECTORY_PATH/SELECTOR
    

    Ganti DIRECTORY_PATH dengan 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:
  1. Tetapkan parameter allowAnyGKEPath ke nilai default True.
  2. Biarkan parameter allowPaths kosong.
Lakukan salah satu hal berikut:
  • Jangan mengonfigurasi daftar yang diizinkan untuk cluster Anda. Secara default, semua cluster mengizinkan penginstalan WorkloadAllowlist yang disetujui GKE.
  • Hanya tentukan gke://* sebagai jalur yang disetujui saat Anda mengonfigurasi daftar yang diizinkan untuk cluster Anda.
Hanya mengizinkan WorkloadAllowlist yang disetujui GKE tertentu Lakukan tindakan berikut:
  1. Tetapkan parameter allowAnyGKEPath ke False.
  2. Tentukan jalur ke WorkloadAllowlist yang disetujui GKE tertentu dalam parameter allowPaths.
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:
  1. Tetapkan parameter allowAnyGKEPath ke False.
  2. Tentukan jalur ke WorkloadAllowlist yang dikelola pelanggan dalam parameter allowPaths.
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:
  1. Tetapkan parameter allowAnyGKEPath ke False.
  2. Biarkan parameter allowPaths kosong.
Tetapkan string kosong "" sebagai jalur yang disetujui saat Anda membuat atau memperbarui cluster.

Langkah berikutnya