Untuk memantau dan mengaudit operasi Kubernetes API (KubeAPI) secara komprehensif dalam Service Mesh (ASM), Anda dapat menggunakan fitur audit operasi KubeAPI dari ASM. Fitur ini mencatat dan melacak operasi rutin pengguna. Setelah mengaktifkan fitur audit mesh pada instance ASM, Anda dapat melihat detail laporan audit melalui tab Overview, Audit Operasi, Ikhtisar Operasi, atau Detail Operasi di halaman Audit Mesh. Dengan cara ini, Anda dapat lebih baik melacak peristiwa penting, mendapatkan statistik operasi sumber daya, serta meningkatkan keamanan dan jejak audit mesh. Selain itu, Anda dapat mengoptimalkan kebijakan keamanan dan manajemen sumber daya untuk memastikan stabilitas dan efisiensi service mesh.
Prasyarat
Informasi latar belakang
Sumber daya yang disebutkan dalam topik ini merujuk pada sumber daya Istio, termasuk layanan virtual, gateway Istio, aturan tujuan, filter envoy, proxy sidecar, dan entri layanan.
Setelah mengaktifkan fitur audit mesh, Anda akan dikenakan biaya atas log audit yang dihasilkan. Untuk informasi lebih lanjut tentang metode penagihan, lihat Bayar berdasarkan fitur.
Langkah 1: Aktifkan fitur audit operasi KubeAPI
Untuk instance ASM baru
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik Create ASM Instance. Di halaman Buat Service Mesh, aktifkan opsi Enable Mesh Audit di bagian Audit Mesh, konfigurasikan parameter sesuai kebutuhan bisnis Anda, lalu klik Create Service Mesh.
Untuk deskripsi item konfigurasi, lihat Buat instance ASM.
CatatanSecara default, proyek bernama mesh-log-${Mesh-ID} dibuat di Layanan Log Sederhana, dan Logstore bernama audit-${Mesh-ID} dibuat di proyek tersebut untuk menyimpan log audit.
Untuk instance ASM yang sudah ada
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Audit, aktifkan opsi Enable Mesh Audit dan klik OK.
Langkah 2: Lihat laporan audit KubeAPI
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Audit, klik tab Mesh Audit Overview atau Operation Details sesuai kebutuhan bisnis Anda untuk melihat detail laporan audit.
Mesh Audit Overview: Di tab ini, Anda dapat melihat detail operasi Kubernetes API yang dipanggil di instance ASM.

Operation Details: Di tab ini, Anda dapat melihat informasi rinci tentang operasi pada sumber daya tertentu di instance ASM.
Anda dapat menentukan jenis sumber daya untuk menanyakan informasi rinci tentang operasi pada sumber daya tersebut secara real-time. Informasi yang tersedia mencakup jumlah total operasi, distribusi operasi berdasarkan namespace, tren operasi seiring waktu, dan daftar operasi rinci.

Operasi terkait
Lihat log audit
Jika ingin menanyakan dan menganalisis log audit, buka konsol Layanan Log Sederhana untuk melihat log rinci.
Masuk ke Konsol Layanan Log Sederhana.
Di bagian Projects, klik proyek bernama mesh-log-${Mesh-ID}.
Klik Logstore audit-${Mesh-ID} yang dibuat untuk instance ASM. Kemudian, klik Search & Analyze untuk melihat log audit.
CatatanKetika mengaktifkan fitur audit mesh, Logstore bernama audit-${Mesh-ID} dibuat di proyek yang ditentukan.
Secara default, indeks sudah disiapkan di Logstore. Jangan ubah indeks tersebut karena dapat menyebabkan kegagalan pembuatan laporan dari log audit.
Secara default, log audit server API dari ASM disimpan selama 30 hari di Logstore yang sesuai di Layanan Log Sederhana. Untuk informasi lebih lanjut tentang cara mengubah periode retensi log default, lihat Kelola logstore.
Anda dapat menggunakan metode berikut untuk menanyakan log audit:
Untuk menanyakan operasi yang dilakukan oleh pengguna RAM, masukkan ID pengguna RAM di kotak pencarian dan klik Search & Analyze.
Untuk menanyakan operasi yang dilakukan pada sumber daya, masukkan nama sumber daya di kotak pencarian dan klik Search & Analyze.
Untuk menanyakan operasi yang dilakukan oleh komponen sistem, masukkan
NOT user.username: node NOT user.username: serviceaccount NOT user.username: apiserver NOT user.username: kube-scheduler NOT user.username: kube-controller-managerdi kotak pencarian dan klik Search & Analyze.
Untuk informasi lebih lanjut tentang metode pencarian dan statistik, lihat Ikhtisar pencarian log.
Tetapkan peringatan
Layanan Log Sederhana memungkinkan Anda menetapkan peringatan untuk memantau operasi yang dilakukan pada sumber daya tertentu secara real-time. Peringatan dapat dikirim melalui pesan SMS, chatbot DingTalk, email, webhook kustom, dan Pusat Pesan dari Konsol Manajemen Alibaba Cloud. Untuk informasi lebih lanjut, lihat Peringatan.
Anda juga dapat menjalankan pernyataan kueri di laporan audit untuk menanyakan log audit.
Contoh 1: Tetapkan peringatan pada eksekusi perintah di kontainer
Sebuah perusahaan memerlukan kontrol akses ketat pada instance ASM-nya dan tidak mengizinkan pengguna untuk masuk atau menjalankan perintah di kontainer di instance ASM. Perusahaan tersebut ingin segera diberitahu jika pengguna mencoba masuk atau menjalankan perintah di kontainer. Notifikasi peringatan harus mencakup informasi berikut: kontainer yang dimasuki, perintah yang dieksekusi, operator, ID peristiwa, waktu operasi, dan alamat IP sumber.
Pernyataan kueri contoh:
verb : create and objectRef.subresource:exec and stage: ResponseStarted | SELECT auditID as "Event ID", date_format(from_unixtime(__time__), '%Y-%m-%d %T' ) as "Operation time", regexp_extract("requestURI", '([^\?]*)/exec\?.*', 1)as "Resource", regexp_extract("requestURI", '\?(.*)', 1)as "Command" ,"responseStatus.code" as "Status code", CASE WHEN "user.username" != 'kubernetes-admin' then "user.username" WHEN "user.username" = 'kubernetes-admin' and regexp_like("annotations.authorization.k8s.io/reason", 'RoleBinding') then regexp_extract("annotations.authorization.k8s.io/reason", ' to User "(\w+)"', 1) ELSE 'kubernetes-admin' END as "Username", CASE WHEN json_array_length(sourceIPs) = 1 then json_format(json_array_get(sourceIPs, 0)) ELSE sourceIPs END as "Source IP address" limit 100Ekspresi kondisional contoh:
Peristiwa operasi =~ ".*"
Contoh 2: Tetapkan peringatan pada akses Internet gagal ke server API
Untuk mencegah serangan pada instance ASM yang mengizinkan akses Internet, sebuah perusahaan memantau jumlah koneksi dari alamat IP sumber melalui Internet dan tingkat kegagalan koneksi. Perusahaan tersebut memerlukan peringatan dikirim segera ketika jumlah koneksi dari alamat IP sumber dan tingkat kegagalan koneksi melebihi ambang batas yang ditentukan. Misalnya, perusahaan memerlukan peringatan dikirim ketika jumlah koneksi dari alamat IP sumber mencapai 10 dan lebih dari lima dari koneksi tersebut gagal. Notifikasi peringatan harus mencakup informasi berikut: alamat IP sumber, wilayah tempat alamat IP sumber berasal, dan apakah alamat IP sumber berisiko.
Pernyataan kueri contoh:
* | select ip as "Alamat IP Sumber", total as "Jumlah permintaan koneksi Internet", round(rate * 100, 2) as "Tingkat kegagalan koneksi", failCount as "Jumlah permintaan koneksi Internet tidak sah", CASE when security_check_ip(ip) = 1 then 'ya' else 'tidak' end as "Apakah alamat IP berisiko", ip_to_country(ip) as "Negara", ip_to_province(ip) as "Provinsi", ip_to_city(ip) as "Kota", ip_to_provider(ip) as "ISP" from (select CASE WHEN json_array_length(sourceIPs) = 1 then json_format(json_array_get(sourceIPs, 0)) ELSE sourceIPs END as ip, count(1) as total, sum(CASE WHEN "responseStatus.code" < 400 then 0 ELSE 1 END) * 1.0 / count(1) as rate, count_if("responseStatus.code" = 403) as failCount from log group by ip limit 10000) where ip_to_domain(ip) != 'intranet' having "Jumlah koneksi" > 10 and "Tingkat kegagalan koneksi" > 50 ORDER by "Jumlah koneksi" desc limit 100Ekspresi kondisional contoh:
Alamat IP Sumber =~ ".*"
Buat ulang proyek yang dihapus
Jika Anda secara tidak sengaja menghapus proyek yang digunakan untuk audit mesh dari Layanan Log Sederhana tetapi masih ingin menggunakan fitur audit mesh, Anda harus membuat ulang proyek yang dihapus.
Masuk ke Konsol ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih .
Di halaman Mesh Audit, klik Recreate di pesan Rebuild Mesh Audit.
Proyek yang dibuat ulang dinamai setelah nama proyek sebelum penghapusan dengan tambahan cap waktu saat proyek dibuat ulang.
Referensi
Untuk informasi lebih lanjut tentang cara mengirim peringatan ke kontak peringatan secara tepat waktu untuk perubahan sumber daya penting, lihat Konfigurasikan peringatan audit untuk operasi pada sumber daya ASM.
Anda dapat mengonfigurasi kemampuan keamanan zero trust seperti identitas workload, otentikasi peer, otentikasi permintaan, dan kebijakan otorisasi di ASM untuk mengelola sumber daya mesh secara lebih rinci dan meningkatkan keamanan mesh. Untuk informasi lebih lanjut, lihat Ikhtisar keamanan zero trust.