Tanpa lapisan penegakan kebijakan, workload apa pun dapat diterapkan ke kluster Anda tanpa mempertimbangkan postur keamanannya. Container Service for Kubernetes (ACK) mengintegrasikan Open Policy Agent (OPA) sebagai admission controller Gatekeeper untuk mencegat penerapan dan pembaruan Pod sebelum diterapkan, sehingga hanya workload yang mematuhi kebijakan keamanan Anda yang dapat berjalan di kluster. Fitur governance kebijakan memperluas OPA dengan pemantauan status, pengumpulan log, dan pengambilan log, serta menyediakan pustaka kebijakan keamanan yang telah ditentukan sebelumnya yang dapat Anda konfigurasi langsung di Konsol ACK.
PodSecurityPolicy (PSP) telah ditinggalkan mulai Kubernetes 1.21. Fitur governance kebijakan ACK menggantikan manajemen kebijakan berbasis PSP.
Prasyarat
Sebelum memulai, pastikan Anda telah memiliki:
-
Kluster ACK yang dikelola atau kluster khusus ACK yang menjalankan Kubernetes 1.16 atau versi lebih baru. Lihat Buat kluster khusus ACK atau Buat kluster ACK yang dikelola. Untuk meningkatkan kluster yang sudah ada, lihat Perbarui kluster ACK.
-
Jika mengelola kebijakan keamanan sebagai pengguna Resource Access Management (RAM), Anda memerlukan izin RAM berikut: Untuk membuat kebijakan RAM kustom, lihat Buat kebijakan RAM kustom.
Izin Deskripsi cs:DescribePoliciesKebijakan Kueri cs:DescribePoliceDetailsKueri informasi tentang suatu kebijakan cs:DescribePolicyGovernanceInClusterKueri informasi kebijakan dalam kluster cs:DescribePolicyInstancesKueri instans kebijakan yang diterapkan di kluster cs:DescribePolicyInstancesStatusKueri informasi instans kebijakan dalam kluster cs:DeployPolicyInstanceTerapkan instans kebijakan di kluster cs:DeletePolicyInstanceHapus instans kebijakan di kluster cs:ModifyPolicyInstanceUbah instans kebijakan di kluster
Batasan
-
Governance kebijakan hanya berlaku untuk node Linux.
-
Hanya kebijakan ACK yang telah ditentukan sebelumnya yang didukung. Kebijakan kustom tidak tersedia.
Langkah 1: Instal atau perbarui komponen governance kebijakan
Fitur governance kebijakan memerlukan tiga komponen:
| Komponen | Deskripsi |
|---|---|
| gatekeeper | Admission controller Kubernetes berbasis OPA yang mengelola dan menegakkan kebijakan keamanan di kluster ACK, termasuk manajemen label namespace. Gunakan hanya komponen gatekeeper yang disediakan oleh ACK. Jika Anda telah menginstal gatekeeper pihak ketiga, uninstal terlebih dahulu. Untuk catatan rilis, lihat gatekeeper. |
| logtail-ds | Komponen log yang mengumpulkan dan mengambil event pemblokiran serta peringatan yang dihasilkan dari pelanggaran kebijakan keamanan. |
| policy-template-controller | Controller Kubernetes berbasis templat kebijakan keamanan Alibaba Cloud yang mengelola status kluster ACK dan instans kebijakan di berbagai templat kebijakan. |
Untuk menginstal atau memperbarui komponen-komponen ini:
-
Login ke Konsol ACK. Di panel navigasi sebelah kiri, klik Clusters.
-
Pada halaman Clusters, klik nama kluster target. Di panel sebelah kiri, pilih Security > Policy Governance.
-
Pada halaman Policy Governance, ikuti petunjuk di layar untuk menginstal atau memperbarui komponen.
Langkah 2: Bekerja dengan governance kebijakan
Lihat ikhtisar kebijakan keamanan
Pada halaman Policy Governance, klik tab Overview untuk melihat:
-
Rangkuman kebijakan keamanan di kluster: jumlah kebijakan berisiko tinggi dan menengah, jumlah yang telah diaktifkan, serta kebijakan yang disarankan untuk diaktifkan.
-
Jumlah event pemblokiran dan peringatan selama tujuh hari terakhir.
-
Catatan penegakan kebijakan selama tujuh hari terakhir. Tabel secara default menampilkan 100 event pemblokiran atau peringatan terbaru.
Untuk melihat semua event di luar 100 default, arahkan kursor ke ikon di samping Actions within Last 7 Days, lalu klik tautan Simple Log Service pada pop-up untuk login ke konsol Simple Log Service dan melihat semua log di Logstore yang sesuai.
Buat instans kebijakan
Klik tab My Policies, lalu klik Create Policy Instance dan konfigurasikan parameter berikut.
| Parameter | Deskripsi |
|---|---|
| Policy Type | Kategori kontrol keamanan. Lihat Jenis kebijakan untuk detailnya. |
| Action | Block: mencegah penerapan resource yang sesuai dengan kebijakan. Alert: menghasilkan peringatan untuk penerapan yang sesuai tanpa memblokirnya. Mulailah dengan Alert untuk mengamati dampak sebelum beralih ke Block. |
| Policy Name | Pilih kebijakan dari daftar drop-down. |
| Applicable Scope | Namespace tempat instans kebijakan berlaku. |
| Parameters | Jika editor kosong, tidak ada parameter yang diperlukan. Jika parameter ditampilkan, konfigurasikan berdasarkan deskripsinya. |
Tip: Saat menerapkan kebijakan baru di lingkungan produksi, mulailah dengan aksi Alert untuk mengidentifikasi workload mana yang akan terpengaruh. Setelah memastikan tidak ada workload kritis yang terdampak, alihkan ke Block untuk menegakkan kebijakan. Hal ini mencegah gangguan tak terduga pada layanan yang sedang berjalan.
Jenis kebijakan
| Jenis | Apa yang dikontrol |
|---|---|
| Infra | Resource infrastruktur — menegakkan kontrol keamanan pada resource infrastruktur. |
| Compliance | Garis dasar keamanan Kubernetes — memastikan kepatuhan keamanan terhadap garis dasar yang ditetapkan oleh Alibaba Cloud Kubernetes Security Hardening. |
| PSP | Pengaturan keamanan tingkat Pod — menggantikan resource PSP. |
| K8s-general | Resource Kubernetes — menegakkan kontrol keamanan pada resource Kubernetes berdasarkan praktik terbaik keamanan Alibaba Cloud. |
Lihat dan kelola kebijakan yang ada
Pada tab My Policies, semua kebijakan di kluster saat ini akan ditampilkan. Gunakan filter di pojok kanan atas untuk mempersempit daftar. Kebijakan yang diaktifkan muncul di bagian atas. Kolom Instances menunjukkan jumlah instans kebijakan yang diterapkan untuk setiap kebijakan.
Jika jumlah Instances nol, kebijakan tersebut belum diterapkan. Klik Enable di kolom Actions untuk mengonfigurasi dan menerapkannya.
Untuk mengubah instans kebijakan, klik Modify di kolom Actions. Jika lebih dari satu instans diterapkan untuk suatu kebijakan, klik View Instances terlebih dahulu, lalu klik Modify untuk instans target.
Untuk menghapus semua instans suatu kebijakan, klik Delete di kolom Actions.
Untuk daftar lengkap kebijakan yang telah ditentukan sebelumnya beserta templatnya, lihat Kebijakan keamanan yang telah ditentukan sebelumnya untuk ACK.
Langkah selanjutnya
-
Tinjau semua kebijakan yang telah ditentukan sebelumnya untuk governance kebijakan (Compliance, Infra, K8s-general, dan PSP): Kebijakan keamanan yang telah ditentukan sebelumnya untuk ACK.
-
Jalankan inspeksi kluster untuk mengidentifikasi risiko keamanan dalam konfigurasi workload: Gunakan fitur inspeksi untuk mendeteksi risiko keamanan dalam workload kluster ACK.