All Products
Search
Document Center

Container Compute Service:Gunakan pemeriksaan konfigurasi untuk memeriksa workload kluster

Last Updated:Jun 17, 2026

Container Compute Service (ACS) menyediakan fitur pemeriksaan konfigurasi workload. Fitur ini membantu Anda memindai kluster guna mengidentifikasi risiko keamanan pada konfigurasi workload. Setelah menjalankan tugas pemeriksaan, ACS akan menghasilkan laporan pemeriksaan. Anda dapat menggunakan laporan tersebut untuk melihat dan menangani item yang gagal di kluster serta memantau status kesehatan real-time kluster.

Prasyarat

  • Anda telah membuat kluster ACS.

  • Jika Anda menggunakan RAM user, lengkapi otorisasi RAM dan otorisasi RBAC yang diperlukan.

    • RAM authorization

      Lengkapi otorisasi RAM pada halaman pemeriksaan ACS untuk memberikan izin kepada RAM user saat ini agar dapat mengoperasikan halaman tersebut untuk kluster saat ini. Jika tidak, Anda tidak dapat menggunakan fitur-fitur di halaman tersebut karena izin tidak mencukupi. Untuk informasi lebih lanjut, lihat Grant RAM permissions to a RAM user or RAM role.

      Authorization policy

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

      Jika Anda juga perlu menggunakan fitur laporan pemeriksaan, lengkapi otorisasi RAM untuk logproject yang ditentukan untuk Simple Log Service. logproject ini adalah yang digunakan oleh komponen logtail-ds dari kluster saat ini. Hal ini memastikan bahwa RAM user saat ini memiliki izin untuk membaca data dari logproject. Jika tidak, Anda tidak dapat melihat laporan pemeriksaan karena izin tidak mencukupi. Untuk informasi lebih lanjut, lihat RAM Custom Authorization Examples.

      Log reading authorization policy

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

      Lengkapi otorisasi RBAC untuk resource di halaman pemeriksaan ACS. Berikan izin administrator kepada RAM user untuk kluster tertentu guna memastikan RAM user memiliki izin untuk mengelola resource Kubernetes di halaman pemeriksaan. Untuk informasi lebih lanjut, lihat Configure RBAC authorization for a RAM user or RAM role.

Aktifkan fitur pemeriksaan workload kluster

  1. Masuk ke ACS console. Di panel navigasi kiri, klik Clusters.

  2. Di halaman Clusters, klik nama kluster target. Di panel navigasi kiri, pilih Security > Inspections.

  3. Opsional: Instal dan perbarui komponen pemeriksaan.

    Jika komponen pemeriksaan belum terinstal, ikuti petunjuk di layar untuk menginstal komponen security-inspector. Jika komponen belum mutakhir, ikuti petunjuk untuk memperbaruinya ke versi terbaru. Setelah komponen terinstal, Anda juga dapat membuka halaman Cluster Information, pilih tab Overview, lalu klik Security Inspection untuk membuka halaman Inspections.

    Untuk informasi lebih lanjut tentang komponen security-inspector dan riwayat perubahannya, lihat security-inspector.

  4. Di pojok kanan atas halaman Inspections, klik Inspect. Setelah pemeriksaan selesai, buka tab Inspections dan klik Details di kolom Actions untuk melihat hasilnya.

    Penting

    Untuk meminimalkan dampak terhadap stabilitas dan ketersediaan kluster, jalankan pemeriksaan selama jam sepi.

  5. Opsional: Di pojok kanan atas halaman Inspections, klik Configure Periodic Inspection untuk mengaktifkan atau menonaktifkan pemeriksaan periodik otomatis serta mengonfigurasi item yang akan diperiksa.

Detail pemeriksaan

Halaman Inspections menampilkan hasil pemeriksaan terperinci untuk berbagai workload dalam format tabel dan mencakup fitur-fitur berikut:

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

  • Lihat detail setiap item pemeriksaan, termasuk status pemeriksaan di tingkat pod dan kontainer (passed atau failed), deskripsi terperinci, dan rekomendasi penguatan. Jika suatu item yang gagal tidak memerlukan tindakan, Anda dapat menambahkannya ke daftar putih.

  • Lihat file YAML dari suatu workload.

Laporan pemeriksaan

Laporan pemeriksaan menampilkan hasil pemindaian terbaru, termasuk:

  • Ikhtisar pemindaian, termasuk jumlah total item yang diperiksa, jumlah dan persentase resource yang diperiksa, serta skor kesehatan keseluruhan.

  • Statistik berdasarkan kategori, termasuk hasil untuk 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 hasil pemeriksaan.

Item pemeriksaan

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

Inspection item

Description

Remediation

hostNetworkSet

Periksa Pod Spec dari workload untuk pengaturan hostNetwork: true guna menentukan apakah Pod berbagi namespace jaringan host. Jika pengaturan ini diaktifkan, terdapat risiko bahwa kontainer dalam Pod dapat menyerang jaringan host atau menyadap data jaringan host.

Modifikasi Pod Spec dan hapus field hostNetwork.

Contoh:

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

hostIPCSet

Periksa apakah suatu workload berbagi namespace IPC host dengan memeriksa Pod Spec-nya untuk pengaturan hostIPC: true. Jika pengaturan ini diaktifkan, terdapat risiko bahwa kontainer dalam Pod dapat menyerang proses di host atau menyadap datanya.

Modifikasi Pod Spec dan hapus field hostIPC.

Contoh:

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

hostPIDSet

Tentukan apakah namespace PID host dibagikan dengan memeriksa apakah hostPID: true dikonfigurasi dalam Pod Spec dari workload. Jika pengaturan ini dikonfigurasi, terdapat risiko bahwa kontainer dalam Pod dapat menyerang atau mengumpulkan data dari proses host.

Modifikasi Pod Spec dan hapus field hostPID.

Contoh:

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

hostPortSet

Dengan memeriksa parameter hostPort dalam Pod Spec suatu workload, Anda dapat menentukan apakah port pendengar kontainer dipetakan ke port tertentu di host. Konfigurasi ini berisiko menghabiskan port host yang tersedia dan memungkinkan port kontainer diakses oleh pihak yang tidak berwenang.

Modifikasi Pod Spec dan hapus field hostPort.

Contoh:

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

runAsRootAllowed

Periksa apakah kontainer diizinkan berjalan sebagai pengguna root dengan memverifikasi bahwa runAsNonRoot: true tidak dikonfigurasi dalam Pod Spec dari workload. Jika pengaturan ini tidak dikonfigurasi, terdapat risiko bahwa proses berbahaya dalam kontainer dapat mengompromikan aplikasi pengguna, host, atau bahkan seluruh kluster.

Modifikasi Pod spec dan tambahkan runAsNonRoot: true.

Contoh:

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

runAsPrivileged

Periksa Pod spec dari workload untuk menentukan apakah privileged: true dikonfigurasi, yang memungkinkan kontainer berjalan dalam mode istimewa. Jika pengaturan ini dikonfigurasi, terdapat risiko bahwa proses berbahaya dalam kontainer dapat mengompromikan aplikasi pengguna, host, atau bahkan kluster.

Modifikasi Pod Spec dan hapus field privileged.

Contoh:

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

privilegeEscalationAllowed

Periksa apakah allowPrivilegeEscalation: false dikonfigurasi dalam Pod Spec dari workload. Pengaturan ini mencegah proses anak dalam kontainer mendapatkan hak istimewa lebih banyak daripada proses induknya. Jika pengaturan ini tidak dikonfigurasi, proses berbahaya dalam kontainer dapat meningkatkan hak istimewanya.

Modifikasi Pod spec untuk menambahkan field allowPrivilegeEscalation: false.

Contoh:

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

capabilitiesAdded

Periksa field capabilities dalam Pod spec dari workload untuk melihat apakah kemampuan Linux istimewa seperti SYS_ADMIN, NET_ADMIN, atau ALL dikonfigurasi. Jika iya, terdapat risiko bahwa proses berbahaya dalam kontainer dapat menggunakan hak istimewa ini untuk mengompromikan aplikasi pengguna, atau mengganggu komponen atau kluster.

Modifikasi pod spec untuk hanya menambahkan kemampuan Linux yang diperlukan dan menghapus semua yang lain.

Jika tidak diperlukan kemampuan Linux tambahan, hapus semua yang tidak perlu. Contoh:

    spec:
      containers:
      - name: nginx
        image: nginx:1.14.2
        ports:
        - containerPort: 80
        securityContext:
          capabilities:
-           add:
-           - SYS_ADMIN
-           - NET_ADMIN
-           - KILL
+           drop:
+           - ALL

Tambahkan hanya kemampuan Linux yang diperlukan dan hapus semua yang tidak perlu. Contoh:

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

notReadOnlyRootFileSystem

Periksa Pod Spec dari workload untuk menentukan apakah readOnlyRootFilesystem: true tidak dikonfigurasi. Jika pengaturan ini tidak dikonfigurasi, filesystem root kontainer dapat ditulis. Hal ini berisiko memungkinkan proses berbahaya dalam kontainer memodifikasi file sistem.

Modifikasi Pod Spec dan tambahkan readOnlyRootFilesystem: true.

Contoh:

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

Jika Anda perlu memodifikasi file di direktori tertentu, Anda dapat menggunakan field 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

Anda dapat memeriksa apakah resource CPU minimum yang diperlukan untuk kontainer telah ditentukan dengan memeriksa field resources.requests.cpu dalam Pod Spec dari workload. Jika field ini tidak ditentukan, Pod berisiko dijadwalkan ke node dengan sumber daya terbatas, dan proses di dalam kontainer mungkin berjalan lambat.

Modifikasi Pod Spec dan tambahkan field resources.requests.cpu.

Contoh:

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

cpuLimitsMissing

Periksa apakah field resources.limits.cpu dikonfigurasi dalam Pod Spec dari workload. Jika field ini tidak dikonfigurasi, proses abnormal dalam kontainer dapat mengonsumsi banyak resource node, yang berisiko menghabiskan resource seluruh node atau bahkan kluster.

Modifikasi Pod Spec dan tambahkan field resources.limits.cpu.

Contoh:

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

memoryRequestsMissing

Periksa apakah field resources.requests.memory dikonfigurasi dalam Pod Spec dari workload. Jika field ini tidak dikonfigurasi, Pod berisiko dijadwalkan pada node dengan sumber daya terbatas, yang dapat menyebabkan proses dalam kontainer mengalami error Out of Memory (OOM).

Modifikasi Pod Spec dan tambahkan field resources.requests.memory.

Contoh:

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

memoryLimitsMissing

Periksa apakah field resources.limits.memory dikonfigurasi dalam Pod Spec dari workload. Jika field ini tidak dikonfigurasi, tidak ada batas memori maksimum yang ditetapkan untuk kontainer. Hal ini berisiko memungkinkan proses abnormal dalam kontainer mengonsumsi banyak resource node dan bahkan menghabiskan resource seluruh node atau kluster.

Modifikasi Pod Spec dan tambahkan field resources.limits.memory.

Contoh:

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

readinessProbeMissing

Jika field readinessProbe tidak dikonfigurasi dalam Pod Spec suatu workload, tidak ada probe yang tersedia untuk memeriksa apakah aplikasi dalam kontainer dapat menangani permintaan. Hal ini berisiko menyebabkan permintaan tetap dikirim ke kontainer meskipun aplikasi mengalami gangguan, yang dapat menyebabkan gangguan layanan.

Modifikasi Pod Spec dan tambahkan field readinessProbe.

Contoh:

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

livenessProbeMissing

Pemeriksaan ini memverifikasi apakah livenessProbe dikonfigurasi dalam Pod Spec suatu workload. Probe kelangsungan hidup digunakan untuk mendeteksi apakah aplikasi dalam kontainer mengalami anomali dan perlu dimulai ulang. Jika probe ini tidak dikonfigurasi, terdapat risiko gangguan layanan karena kontainer tidak akan dimulai ulang secara tepat waktu untuk pulih dari kegagalan aplikasi.

Modifikasi Pod Spec dan tambahkan field livenessProbe.

Contoh:

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

tagNotSpecified

Dengan memeriksa apakah nilai field image dalam Pod Spec suatu workload tidak mengandung tag gambar atau menggunakan latest sebagai tag gambarnya, Anda dapat memeriksa apakah kontainer dikonfigurasi untuk berjalan dengan gambar kontainer yang memiliki tag tertentu. Jika tag tertentu tidak dikonfigurasi, versi tak terduga dari gambar kontainer mungkin dijalankan saat kontainer dimulai, yang berisiko menyebabkan gangguan layanan.

Modifikasi field image dalam Pod Spec. Gunakan tag gambar tertentu dan jangan gunakan latest sebagai tag gambar.

Contoh:

    spec:
      containers:
      - name: nginx
-       image: nginx:latest
+       image: nginx:1.14.2
        livenessProbe:

anonymousUserRBACBinding

Memeriksa binding Role-based access control (RBAC) di kluster untuk konfigurasi yang memberikan akses kepada pengguna anonim. Jika akses anonim ke resource kluster diizinkan, pengguna anonim dapat mencuri informasi sensitif atau menyerang dan mengompromikan kluster.

Modifikasi binding RBAC yang teridentifikasi untuk menghapus izin yang memungkinkan pengguna anonim mengakses resource kluster.

Contoh:

  - apiGroup: rbac.authorization.k8s.io
    kind: Group
    name: 'foo-group'
- - apiGroup: rbac.authorization.k8s.io
-   kind: User
-   name: 'system:anonymous'
- - apiGroup: rbac.authorization.k8s.io
-   kind: Group
-   name: 'system:unauthenticated'

Events

Type

Name

Example message

Description

Actions

Normal

SecurityInspectorConfigAuditStart

Starting config audit

Tugas pemeriksaan dimulai.

Tidak diperlukan tindakan.

Normal

SecurityInspectorConfigAuditFinished

Config audit finished

Tugas pemeriksaan selesai.

Tidak diperlukan tindakan.

Warning

SecurityInspectorConfigAuditHighRiskFound

Config audit found 2 high risks

Pemeriksaan menemukan item berisiko tinggi yang belum terselesaikan di satu atau beberapa workload.

  1. Di halaman Inspections kluster Anda, lihat hasil pemeriksaan terperinci.

  2. Gunakan opsi filter Failed, All Namespaces, dan Show All Workloads untuk menemukan workload yang terpengaruh. Lalu, klik Details untuk melihat hasil pemeriksaan dan rekomendasi remediasi untuk setiap item.

    • Untuk item yang Anda pastikan tidak memerlukan remediasi, klik Add to Whitelist.

    • Untuk item yang memerlukan remediasi, ikuti rekomendasi yang diberikan.