All Products
Search
Document Center

Alibaba Cloud Service Mesh:Audit operasi KubeAPI

Last Updated:Jun 21, 2026

Fitur audit operasi KubeAPI memungkinkan Anda memantau dan mengaudit operasi KubeAPI dalam Service Mesh dengan merekam serta melacak aktivitas pengguna. Anda dapat melihat ikhtisar audit, detail operasi akun, dan daftar operasi berdasarkan resource tertentu untuk melacak event penting, menganalisis statistik, serta meningkatkan keamanan dan ketertelusuran mesh.

Prasyarat

Aktifkan Simple Log Service.

Informasi latar belakang

  • Dalam topik ini, resource mengacu pada resource Istio, termasuk VirtualService, Gateway, DestinationRule, EnvoyFilter, Sidecar, dan ServiceEntry.

  • Setelah mengaktifkan fitur audit mesh, Anda akan dikenai biaya atas log audit yang dihasilkan. Untuk informasi lebih lanjut tentang penagihan, lihat Pay-by-feature.

Langkah 1: Aktifkan audit operasi KubeAPI

Instans ASM baru

  1. Login ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik Create ASM Instance. Pilih Enable Mesh Audit, konfigurasikan parameter lainnya, lalu klik Create Service Mesh.

    Untuk informasi lebih lanjut tentang parameter tersebut, lihat Buat instans ASM.

    Catatan

    Secara default, ASM membuat Project untuk log audit bernama mesh-log-${Mesh-ID} dan Logstore bernama audit-${Mesh-ID} dalam Project tersebut untuk menyimpan log.

Instans ASM yang sudah ada

  1. Login ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih Mesh Security Center > KubeAPI Operation Audit.

  3. Di halaman Mesh Audit, pilih Enable Mesh Audit, lalu klik OK.

Langkah 2: Lihat laporan audit KubeAPI

  1. Login ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

  2. Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih Mesh Security Center > KubeAPI Operation Audit.

  3. Di halaman Mesh Audit, klik tab API Access Overview atau Operation Details untuk melihat detail laporan.

    • API Access Overview: Lihat informasi detail tentang perilaku akses KubeAPI dari instans mesh.

      Halaman API Access Overview mencakup grafik lingkaran Access source distribution, panel Unauthorized access attempts, dan tabel Public network access list. Daftar akses jaringan publik mencakup kolom seperti Source IP address, Access count, Failure rate %, Unauthorized access attempts, High-risk IP, Country, Province, City, dan ISP.

    • Operation Details: Lihat daftar operasi terperinci untuk resource tertentu dalam instans mesh.

      Pilih atau masukkan tipe resource untuk melakukan kueri secara real-time. Anda dapat melihat jumlah total berbagai event, distribusi namespace, tren deret waktu, dan daftar operasi terperinci. Di bagian atas tab Resource operations tersedia filter seperti Resource type, Namespace, dan Status code. Area ikhtisar menampilkan jumlah operator, namespace, metode operasi, dan tingkat keberhasilan. Di bawah area ini, Anda dapat menemukan panel seperti timeline Operation trace, Create event namespace distribution, Update event namespace distribution, Access event namespace distribution, dan Delete event namespace distribution.

Operasi terkait

Catatan log terperinci

Untuk menjalankan kueri kustom dan menganalisis log audit, buka konsol Simple Log Service untuk melihat catatan log terperinci.

  1. Login ke Konsol Simple Log Service.

  2. Di bagian Projects, klik Project bernama mesh-log-${Mesh-ID}.

  3. Pilih Logstore bernama audit-${Mesh-ID} dan klik Search & Analyze untuk melihat log audit yang sesuai.

    Catatan
    • Saat Anda mengaktifkan audit mesh, Logstore bernama audit-${Mesh-ID} secara otomatis ditambahkan ke Project yang dihasilkan.

    • Logstore untuk log audit telah dikonfigurasi dengan indeks secara default. Jangan mengubah indeks tersebut. Jika tidak, laporan mungkin tidak berfungsi dengan benar.

    • Secara default, Simple Log Service menyimpan log audit API Server dari ASM selama 30 hari. Untuk mengubah periode retensi default, lihat Kelola Logstore.

    Cara umum untuk mencari log audit meliputi:

    • Untuk mengkueri operasi yang dilakukan oleh RAM user tertentu, masukkan ID RAM user di kotak pencarian dan klik Search & Analyze.

    • Untuk mengkueri operasi pada resource tertentu, masukkan nama resource di kotak pencarian dan klik Search & Analyze.

    • Untuk memfilter 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-manager di kotak pencarian dan klik Search & Analyze.

    Untuk informasi lebih lanjut tentang metode kueri dan analisis, lihat Ikhtisar kueri.

    Peringatan

    Untuk menerima notifikasi peringatan secara real-time terkait operasi pada resource tertentu, gunakan fitur peringatan Simple Log Service. Saluran notifikasi yang didukung mencakup SMS, chatbot DingTalk, email, webhook kustom, dan Notification Center. Untuk informasi lebih lanjut, lihat Peringatan.

    Anda juga dapat menggunakan pernyataan kueri dari laporan audit untuk mengkueri log audit:

    • Contoh 1: Peringatan saat eksekusi perintah kontainer

      Sebuah perusahaan memiliki pembatasan ketat terhadap penggunaan instans mesh-nya dan tidak mengizinkan pengguna login ke kontainer atau mengeksekusi perintah. Jika pengguna mengeksekusi perintah, peringatan harus segera dipicu. Peringatan tersebut harus mencakup detail seperti kontainer spesifik, perintah yang dieksekusi, operator, ID event, waktu, dan alamat IP sumber.

      • Pernyataan kueri:

        verb : create and objectRef.subresource:exec and stage:  ResponseStarted | SELECT auditID as "事件ID", date_format(from_unixtime(__time__), '%Y-%m-%d %T' ) as "操作时间",  regexp_extract("requestURI", '([^\?]*)/exec\?.*', 1)as "资源",  regexp_extract("requestURI", '\?(.*)', 1)as "命令" ,"responseStatus.code" as "状态码",
         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 "操作账号", 
        CASE WHEN json_array_length(sourceIPs) = 1 then json_format(json_array_get(sourceIPs, 0)) ELSE  sourceIPs END
        as "源地址" limit 100
      • Ekspresi kondisional:

        操作事件 =~ ".*"
    • Contoh 2: Peringatan saat kegagalan akses publik

      Instans mesh memiliki akses publik yang diaktifkan. Untuk mencegah serangan berbahaya, Anda perlu memantau jumlah upaya akses publik dan tingkat kegagalannya. Jika jumlah upaya akses dari alamat IP mencapai ambang batas (misalnya, 10) dan tingkat kegagalannya melebihi ambang batas (misalnya, 50%), peringatan harus segera dipicu. Peringatan tersebut harus mencakup wilayah geografis alamat IP pengguna, alamat IP sumber, dan apakah itu merupakan alamat IP berisiko tinggi.

      • Pernyataan kueri:

        * | select ip as "源地址", total as "访问次数", round(rate * 100, 2) as "失败率%", failCount as "非法访问次数", CASE when security_check_ip(ip) = 1 then 'yes' else 'no' end  as "是否高危IP",  ip_to_country(ip) as "国家", ip_to_province(ip) as "省", ip_to_city(ip) as "市", ip_to_provider(ip) as "运营商" 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 "访问次数" > 10 and "失败率%" > 50 ORDER by "访问次数" desc limit 100
      • Ekspresi kondisional:

        源地址 =~ ".*"

    Membuat ulang audit mesh

    Jika Anda secara tidak sengaja menghapus Project SLS untuk audit mesh, Anda harus membuatnya ulang agar dapat terus menggunakan fitur tersebut.

    1. Login ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

    2. Di halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih Mesh Security Center > KubeAPI Operation Audit.

    3. Di halaman Mesh Audit, pada dialog Rebuild Mesh Audit, klik Recreate.

      Nama Project yang dibuat ulang sama dengan nama Project sebelumnya dengan tambahan timestamp.

Dokumen terkait