Fitur manajemen kebijakan keamanan ACK menyediakan aturan kebijakan keamanan yang sesuai untuk skenario kontainer Kubernetes. Kebijakan baru telah ditambahkan untuk membatasi pod agar menyuntikkan ASM Sidecar, meningkatkan keamanan cluster yang terhubung ke ASM. Topik ini menjelaskan cara mengaktifkan penyuntikan paksa kebijakan Sidecar di cluster ACK dan menunjukkan efek setelah kebijakan ini diaktifkan.
Latar Belakang
Tata kelola kebijakan
PSP ditandai sebagai Deprecated di Kubernetes 1.21 dan versi berikutnya. Oleh karena itu, ACK mengoptimalkan fitur tata kelola kebijakan berbasis PSP. ACK menggunakan OPA sebagai pengontrol admission Gatekeeper untuk memperluas fitur seperti pemantauan status tata kelola kebijakan, pengumpulan log, dan pengambilan log. Selain itu, berbagai macam pustaka kebijakan disediakan untuk memungkinkan Anda menggunakan lebih banyak kebijakan keamanan yang menargetkan skenario Kubernetes. Anda dapat langsung mengonfigurasi kebijakan keamanan di konsol, yang sangat menyederhanakan konfigurasi tata kelola kebijakan.
Berikut adalah deskripsi kebijakan utama:
Infra: Kebijakan jenis ini digunakan untuk menerapkan kontrol keamanan pada sumber daya infrastruktur.
Kepatuhan: Kebijakan jenis ini disesuaikan berdasarkan standar kepatuhan Kubernetes, seperti Pengerasan Keamanan Kubernetes Alibaba Cloud.
PSP: Kebijakan jenis ini digunakan untuk menggantikan sumber daya PSP.
K8s-general: Kebijakan jenis ini digunakan untuk menerapkan kontrol keamanan pada sumber daya Kubernetes berdasarkan standar praktik terbaik keamanan Alibaba Cloud.
Penyuntikan Sidecar
Jika Anda menginstal proxy sidecar di pod aplikasi, wadah independen dibuat di pod untuk menyediakan fitur proxy sidecar. Untuk memanfaatkan sepenuhnya fitur-fitur ini, setiap layanan dalam aplikasi Anda memerlukan proxy sidecar untuk berjalan di pod layanan tersebut. Proxy sidecar mencegat semua lalu lintas HTTP arah masuk dan arah keluar dari layanan dan berkomunikasi dengan komponen Pilot di bidang kontrol Istio dari instance ASM yang sesuai.
Prasyarat
Cluster menjalankan Kubernetes 1.16 atau yang lebih baru. Untuk informasi lebih lanjut tentang cara memperbarui cluster ACK, lihat Memperbarui cluster ACK secara manual.
Saat Anda mengelola kebijakan keamanan sebagai Pengguna Resource Access Management (RAM), pastikan bahwa pengguna RAM diberikan izin berikut:
cs:DescribePolicies: menanyakan kebijakan.cs:DescribePoliceDetails: menanyakan informasi tentang suatu kebijakan.cs:DescribePolicyGovernanceInCluster: menanyakan informasi tentang kebijakan dalam cluster.cs:DescribePolicyInstances: menanyakan instance kebijakan yang diterapkan dalam cluster.cs:DescribePolicyInstancesStatus: menanyakan informasi tentang instance kebijakan dalam cluster.cs:DeployPolicyInstance: menerapkan instance kebijakan dalam cluster.cs:DeletePolicyInstance: menghapus instance kebijakan dalam cluster.cs:ModifyPolicyInstance: memodifikasi instance kebijakan dalam cluster.
Untuk informasi lebih lanjut tentang cara membuat kebijakan RAM kustom, lihat Buat kebijakan RAM kustom.
Metode konfigurasi
Setelah cluster ditambahkan ke instance ASM, penyuntikan otomatis tingkat namespace tidak diaktifkan secara default. Jika penyuntikan otomatis diaktifkan dalam cluster, Anda mungkin gagal membuat pod di namespace terkait atau cluster akan menerima peringatan keamanan risiko tinggi setelah pembuatan pod, dan log peringatan yang sesuai akan dihasilkan. Gambar berikut menunjukkan proses konfigurasi:
Masuk ke Konsol ACK. Di panel navigasi di sebelah kiri, klik Clusters.
Di halaman Clusters, temukan cluster yang Anda inginkan dan klik namanya. Di panel di sebelah kiri, pilih .
Di halaman Policy Governance, instal atau tingkatkan komponen (jika diperlukan) sesuai petunjuk, lalu lakukan operasi berikut sesuai kebutuhan.
Aktifkan kebijakan penyuntikan paksa dari daftar kebijakan keamanan.
Klik tab My Policies untuk melihat nama semua kebijakan yang diterapkan di cluster.
Temukan kebijakan ASMSidecarInjectionEnforced di kolom Nama Kebijakan, dan klik Enable di kolom Tindakan.
Konfigurasikan parameter berikut, lalu klik Create:
Parameter
Deskripsi
Action
Anda dapat memilih salah satu opsi berikut berdasarkan kebutuhan bisnis Anda:
Blokir: memblokir penyebaran sumber daya yang sesuai dengan kebijakan.
Peringatan: menghasilkan peringatan untuk penyebaran sumber daya yang sesuai dengan kebijakan. Penyebaran sumber daya masih dapat dilakukan.
Applicable Scope
Pilih namespace tempat Anda ingin menerapkan instance kebijakan. Anda juga dapat memilih semua namespace (tidak direkomendasikan).
Parameters
Biarkan parameter ini tidak ditentukan.
Buat instance kebijakan.
Klik tab My Policies, lalu klik Create Policy Instance. Dalam kotak dialog Create Policy Instance, konfigurasikan parameter berikut.
Parameter
Deskripsi
Policy Type
Pilih infra. Untuk informasi lebih lanjut, lihat Kebijakan keamanan yang telah ditentukan sebelumnya oleh ACK.
Policy Name
Berdasarkan jenis kebijakan yang dipilih, pilih ASMSidecarInjectionEnforced dari daftar drop-down Nama Kebijakan.
Action
Anda dapat memilih salah satu opsi berikut berdasarkan kebutuhan bisnis Anda:
Blokir: memblokir penyebaran sumber daya yang sesuai dengan kebijakan.
Peringatan: menghasilkan peringatan untuk penyebaran sumber daya yang sesuai dengan kebijakan. Penyebaran sumber daya masih dapat dilakukan.
Applicable Scope
Pilih namespace tempat Anda ingin menerapkan instance kebijakan. Anda juga dapat memilih semua namespace (tidak direkomendasikan).
Parameters
Biarkan parameter ini tidak ditentukan.
Verifikasi kebijakan.
Penyuntikan otomatis tidak diaktifkan untuk namespace default dan kebijakan penyuntikan paksa diaktifkan untuk ACK dengan Action diatur ke Block.
Lihat beban kerja.
Gambar berikut menunjukkan bahwa pod gagal dibuat.

Klik tab Overview. Di bagian Actions within Last 7 Days, catatan pemblokiran ditampilkan.

Edit kebijakan dan pilih Action sebagai Alert.
Redeploy aplikasi HTTPBin.
Lihat beban kerja.
Gambar berikut menunjukkan bahwa aplikasi berhasil diterapkan.

Klik tab Overview. Di bagian Actions within Last 7 Days, catatan peringatan ditampilkan.
