All Products
Search
Document Center

Container Service for Kubernetes:Periksa workload kluster

Last Updated:Jun 22, 2026

ACK menyediakan fitur pemeriksaan untuk memindai workload kluster Anda guna mengidentifikasi risiko keamanan dalam konfigurasinya. Setelah tugas pemeriksaan dijalankan, sistem akan menghasilkan laporan pemeriksaan yang dapat digunakan untuk melihat dan menangani item berisiko serta memantau status kesehatan workload secara real time.

Prasyarat

  • Kluster menjalankan Kubernetes v1.14 atau yang lebih baru. Untuk meningkatkan kluster Anda, lihat Memperbarui kluster ACK secara manual.

  • Jika Anda adalah RAM user, lengkapi otorisasi RAM dan otorisasi RBAC seperti yang dijelaskan pada bagian berikut.

    • Otorisasi RAM

      Lengkapi otorisasi RAM pada halaman Inspections untuk memastikan bahwa pengguna RAM saat ini memiliki izin yang diperlukan guna mengakses halaman Inspections untuk kluster ini. Jika tidak, Anda tidak akan memiliki izin yang cukup dan tidak dapat menggunakan fitur-fitur pada halaman Inspections. Untuk informasi selengkapnya, lihat Memberikan izin untuk mengakses kluster dan resource cloud menggunakan RAM.

      Kebijakan otorisasi pemeriksaan

      {
        "Statement": [
          {
            "Action": [
              "cs:DescribePolarisConfig",
              "cs:DescribePolarisJob",
              "cs:DescribePolarisCronJob",
              "cs:UpdatePolarisJob",
              "cs:UpdatePolarisCronJob"
            ],
            "Effect": "Allow",
            "Resource": [
              "acs:cs:*:*:cluster/<yourclusterID>"
            ]
          }
        ],
        "Version": "1"
      }

      Jika Anda ingin menggunakan fitur laporan pemeriksaan, Anda harus memberikan izin baca kepada RAM user pada proyek Simple Log Service (SLS) tertentu yang digunakan oleh komponen pengumpulan log kluster Anda. Tanpa izin tersebut, Anda tidak dapat melihat laporan pemeriksaan. Untuk informasi selengkapnya, lihat Contoh otorisasi RAM kustom.

      Kebijakan otorisasi log SLS

      {
          "Version": "1",
          "Statement": [
              {
                  "Action": [
                      "log:Get*",
                      "log:List*"
                  ],
                  "Resource": "acs:log:*:*:project/<your_project_name>/*",
                  "Effect": "Allow"
              }
          ]
      }
    • Otorisasi RBAC

      Lengkapi otorisasi RBAC untuk resource pada halaman Inspections guna memberikan izin administrator untuk kluster tertentu kepada RAM user. Hal ini memastikan bahwa RAM user memiliki izin untuk mengoperasikan resource Kubernetes pada halaman Inspections. Untuk informasi selengkapnya, lihat Menggunakan RBAC untuk memberikan otorisasi operasi pada resource dalam kluster.

Jalankan pemeriksaan

  1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

  2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Security > Inspections.

  3. Opsional: Ikuti petunjuk di layar untuk menginstal atau memperbarui komponen pemeriksaan.

    Komponen security-inspector gratis tetapi mengonsumsi resource pod. Untuk informasi selengkapnya tentang komponen dan catatan rilisnya, lihat security-inspector.

  4. Jalankan pemeriksaan.

    Penting
    • Kami menyarankan menjalankan pemeriksaan selama jam sepi.

    • Secara default, pemeriksaan memindai semua item yang didukung. Di pojok kanan atas halaman Inspections, Anda dapat mengklik Configure Periodic Inspection untuk menentukan item yang akan dipindai. Untuk informasi selengkapnya, lihat Item pemeriksaan.

    • Untuk menjalankan pemeriksaan langsung, di pojok kanan atas halaman Inspections, klik Inspect.

    • Untuk menjalankan pemeriksaan berkala, di pojok kanan atas halaman Inspections, klik Configure Periodic Inspection. Kemudian, pilih Configure Periodic Inspection dan konfigurasikan periode pemeriksaan.

  5. Setelah pemeriksaan selesai, pada tab Inspections, temukan hasil pemeriksaan yang diinginkan dan klik Details di kolom Actions.

Detail pemeriksaan

Halaman Inspections mencantumkan hasil pemeriksaan terperinci untuk workload yang berbeda dan menyediakan fitur-fitur berikut:

  • Filter hasil berdasarkan kriteria seperti Passed or Failed, Namespace, dan Workload Type, serta lihat jumlah Number of Passed Items dan Risk Item untuk setiap workload.

  • Lihat detail untuk setiap item pemeriksaan, termasuk status pemeriksaan (Passed atau Failed) di tingkat pod dan kontainer, deskripsi terperinci, serta saran remediasi. Jika suatu item yang gagal tidak memerlukan remediasi, Anda dapat menambahkannya ke daftar putih.

  • Lihat file YAML dari suatu workload.

Laporan pemeriksaan

Halaman Reports menampilkan hasil pemeriksaan terbaru dan mencakup informasi berikut:

  • Ikhtisar hasil pemindaian, termasuk jumlah total item pemeriksaan, jumlah dan persentase masing-masing jenis resource yang diperiksa, serta skor kesehatan keseluruhan.

  • Statistik untuk kategori pemindaian utama, termasuk pemeriksaan kesehatan, gambar, jaringan, resource, dan keamanan.

  • Hasil pemindaian terperinci untuk setiap konfigurasi workload, termasuk jenis resource, nama resource, namespace, jenis pemeriksaan, item pemeriksaan, dan hasilnya.

Item pemeriksaan

Fitur pemeriksaan konfigurasi memindai dan menampilkan hasil untuk item-item berikut.

Check ID

Check item

Description and security risk

Remediation

hostNetworkSet

Prevent containers from sharing the host network namespace

Memeriksa apakah hostNetwork: true dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini diaktifkan, kontainer dapat mengakses namespace jaringan host, sehingga menimbulkan risiko serangan jaringan dan penyadapan data dari dalam pod.

Ubah spesifikasi pod untuk menghapus bidang hostNetwork.

Contoh:

      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2

hostIPCSet

Prevent containers from sharing the host IPC namespace

Memeriksa apakah hostIPC: true dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini diaktifkan, kontainer dapat mengakses namespace IPC host, sehingga memungkinkan mereka menyerang atau menyadap data dari proses lain di host.

Ubah spesifikasi pod untuk menghapus bidang hostIPC.

Contoh:

      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2

hostPIDSet

Prevent containers from sharing the host PID namespace

Memeriksa apakah hostPID: true dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini diaktifkan, kontainer dapat mengakses namespace ID proses (PID) host, sehingga memungkinkan mereka menyerang atau mengumpulkan data dari proses lain di host.

Ubah spesifikasi pod untuk menghapus bidang hostPID.

Contoh:

      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2

hostPortSet

Prevent container processes from listening on node ports

Memeriksa apakah hostPort dikonfigurasi dalam spesifikasi pod suatu workload. Jika port kontainer dipetakan ke port pada node host, hal ini dapat menduduki port host dan menerima permintaan dari sumber yang tidak diinginkan.

Ubah spesifikasi pod untuk menghapus bidang hostPort.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80

runAsRootAllowed

Prevent containers from running as the root user

Memeriksa apakah runAsNonRoot: true dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, kontainer berjalan sebagai pengguna root secara default. Hal ini menimbulkan risiko proses berbahaya meretas aplikasi Anda, host, atau seluruh kluster.

Ubah spesifikasi pod untuk menambahkan runAsNonRoot: true.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          runAsNonRoot: true

runAsPrivileged

Prevent containers from running in privileged mode

Memeriksa apakah privileged: true dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini diaktifkan, kontainer memiliki akses root ke host. Hal ini menimbulkan risiko serius proses berbahaya meretas aplikasi Anda, host, atau seluruh kluster.

Ubah spesifikasi pod untuk menghapus bidang privileged.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext: {}

privilegeEscalationAllowed

Prevent privilege escalation in containers

Memeriksa apakah allowPrivilegeEscalation: false dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, proses anak dalam kontainer dapat memperoleh hak istimewa lebih banyak daripada proses induknya. Hal ini menimbulkan risiko serangan peningkatan hak istimewa.

Ubah spesifikasi pod untuk menambahkan bidang allowPrivilegeEscalation: false.

Contoh:

        ports:
        - containerPort: 80
        securityContext:
          allowPrivilegeEscalation: false
          readOnlyRootFilesystem: true
          runAsNonRoot: true
        volumeMounts:

capabilitiesAdded

Drop unnecessary Linux capabilities

Memeriksa bidang capabilities dalam spesifikasi pod suatu workload untuk kemampuan Linux berhak istimewa tinggi seperti SYS_ADMIN, NET_ADMIN, atau ALL. Jika kemampuan ini diberikan, proses berbahaya dapat menggunakannya untuk meretas aplikasi, komponen, atau kluster Anda.

Ubah spesifikasi pod untuk hanya menambahkan kemampuan Linux yang diperlukan dan hapus semua yang lain.

Jika tidak diperlukan kemampuan Linux tambahan, hapus semuanya. Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          capabilities:
            drop:
            - ALL

Jika kemampuan tertentu diperlukan, tambahkan hanya yang diperlukan dan hapus semua yang lain. Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          capabilities:
            add:
            - CHOWN
            drop:
            - ALL

notReadOnlyRootFilesystem

Use a read-only root filesystem for containers

Memeriksa apakah readOnlyRootFilesystem: true dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, filesystem root kontainer dapat ditulis. Hal ini menimbulkan risiko proses berbahaya memodifikasi file sistem.

Ubah spesifikasi pod untuk menambahkan readOnlyRootFilesystem: true. Jika Anda perlu menulis ke direktori tertentu, gunakan volumeMounts.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          readOnlyRootFilesystem: true

Jika Anda perlu memodifikasi file di direktori tertentu, gunakan bidang volumeMounts.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          readOnlyRootFilesystem: true
          runAsNonRoot: true
        volumeMounts:
        - mountPath: /path/to/write
          name: writeable
      volumes:
      - emptyDir: {}
        name: writeable

cpuRequestsMissing

Set CPU requests for containers

Memeriksa apakah resources.requests.cpu dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, pod mungkin dijadwalkan ke node dengan resource CPU yang tidak mencukupi, sehingga menyebabkan kinerja lambat.

Ubah spesifikasi pod untuk menambahkan bidang resources.requests.cpu.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        resources:
          requests:
            cpu: 100m

cpuLimitsMissing

Set CPU limits for containers

Memeriksa apakah resources.limits.cpu dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, proses abnormal dalam kontainer dapat mengonsumsi resource node secara berlebihan, sehingga berpotensi menghabiskan resource CPU node atau seluruh kluster.

Ubah spesifikasi pod untuk menambahkan bidang resources.limits.cpu.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        resources:
          requests:
            cpu: 100m
          limits:
            cpu: 100m

memoryRequestsMissing

Set memory requests for containers

Memeriksa apakah resources.requests.memory dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, pod mungkin dijadwalkan ke node dengan memori yang tidak mencukupi, sehingga menyebabkan error kehabisan memori (OOM).

Ubah spesifikasi pod untuk menambahkan bidang resources.requests.memory.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        resources:
          requests:
            cpu: 100m
            memory: 128Mi

memoryLimitsMissing

Set memory limits for containers

Memeriksa apakah resources.limits.memory dikonfigurasi dalam spesifikasi pod suatu workload. Jika pengaturan ini tidak dikonfigurasi, proses abnormal dalam kontainer dapat mengonsumsi resource node secara berlebihan, sehingga berpotensi menghabiskan memori node atau seluruh kluster.

Ubah spesifikasi pod untuk menambahkan bidang resources.limits.memory.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        resources:
          requests:
            cpu: 100m
            memory: 128Mi
          limits:
            cpu: 100m
            memory: 128Mi

readinessProbeMissing

Configure readiness probes for containers

Memeriksa apakah readinessProbe dikonfigurasi dalam spesifikasi pod suatu workload. Tanpa readiness probe, trafik dapat dikirim ke kontainer sebelum siap melayani permintaan, sehingga menyebabkan error aplikasi.

Ubah spesifikasi pod untuk menambahkan bidang readinessProbe.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        readinessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 20

livenessProbeMissing

Configure liveness probes for containers

Memeriksa apakah livenessProbe dikonfigurasi dalam spesifikasi pod suatu workload. Tanpa liveness probe, kontainer yang tidak responsif tidak akan dimulai ulang secara otomatis, sehingga menyebabkan downtime aplikasi.

Ubah spesifikasi pod untuk menambahkan bidang livenessProbe.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        livenessProbe:
          httpGet:
            path: /health
            port: 8080
          initialDelaySeconds: 5
          periodSeconds: 20

tagNotSpecified

Use a specific image tag for containers

Memeriksa apakah bidang image dalam spesifikasi pod suatu workload tidak memiliki tag gambar atau menggunakan tag latest. Jika tag gambar tertentu tidak digunakan, workload mungkin menjalankan versi gambar kontainer yang tidak diharapkan, sehingga menyebabkan error aplikasi.

Ubah bidang image dalam spesifikasi pod untuk menggunakan tag gambar tertentu. Jangan gunakan tag latest.

Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2

anonymousUserRBACBinding

Prohibit anonymous user access to the cluster

Memeriksa binding Role-Based Access Control (RBAC) di kluster untuk menemukan konfigurasi apa pun yang memberikan akses kepada pengguna anonim. Jika akses anonim diizinkan, pengguna berbahaya dapat mencuri informasi sensitif atau menyerang kluster.

Ubah binding RBAC untuk menghapus izin apa pun yang memungkinkan pengguna anonim mengakses resource kluster.

Contoh:

  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: 'foo-group'

Event

Jenis peristiwa

Nama event

Contoh konten

Deskripsi

Aksi

Normal

SecurityInspectorConfigAuditStart

Starting config audit

Tugas pemeriksaan dimulai.

Tidak diperlukan tindakan.

Normal

SecurityInspectorConfigAuditFinished

Config audit finished

Tugas pemeriksaan selesai.

Tidak diperlukan tindakan.

Warning

SecurityInspectorConfigAuditHighRiskFound

Found 2 high-risk items after config audit

Setelah pemeriksaan, ditemukan item berisiko tinggi yang belum ditangani pada beberapa workload.

  1. Pada halaman Inspections kluster, buka tab Inspections untuk melihat hasil pemeriksaan terperinci.

  2. Filter hasil berdasarkan Passed or Failed, Namespace, dan Workload Type untuk mengidentifikasi workload yang berisiko.

  3. Klik Details untuk suatu workload guna melihat hasil setiap item pemeriksaannya.

    • Untuk item yang Anda pastikan tidak perlu diperbaiki, klik Add to Whitelist.

    • Untuk item yang perlu diperbaiki, klik Details dan ikuti saran remediasi untuk memperbaiki item tersebut.