Melihat log audit untuk GKE

Halaman ini menunjukkan cara melihat informasi tentang status deployment dan penerapan kebijakan di Cloud Audit Logs.

Untuk mempelajari lebih lanjut terminologi antarmuka pengguna Cloud Audit Logs yang digunakan di halaman ini, lihat Melihat log.

Anda dapat menilai postur keamanan aplikasi, termasuk penerapan kebijakan Otorisasi Biner di seluruh produk Google Cloud yang saling bergantung dalam satu dasbor. Untuk mempelajari lebih lanjut, lihat Pemantauan keamanan.

Ringkasan

Saat Anda menggunakan Otorisasi Biner untuk men-deploy image container ke Google Kubernetes Engine (GKE), GKE akan menulis detail tentang deployment ke log audit di Google Cloud Observability. Entri log audit ini menyertakan pesan status penerapan. Anda dapat melihat entri log ini di Konsol Google Cloud atau di command line menggunakan perintah gcloud logging read.

Untuk penelusuran nanti dalam panduan ini, Anda akan mengakses Cloud Audit Logs dan memilih project dengan peristiwa yang ingin dilihat.

Untuk akses umum ke Cloud Audit Logs, lakukan hal berikut:

  1. Buka halaman Google Cloud Observability Logging > Logs (Logs Explorer) di konsol Google Cloud:

    Buka Logs Explorer

  2. Pilih project Google Cloud yang log auditnya ingin Anda lihat.

Pesan status penerapan

GKE menulis pesan ke log audit untuk kondisi penerapan berikut:

  • Deployment diblokir: Deployment diblokir karena kebijakan Otorisasi Biner.
  • Peristiwa breakglass: Deployment mengabaikan pemeriksaan kebijakan menggunakan mekanisme breakglass. Untuk informasi selengkapnya, lihat Menggunakan breakglass.
  • Fail open: Deployment diizinkan karena backend Otorisasi Biner tidak tersedia.
  • Uji coba: Deployment diizinkan dengan pelanggaran kebijakan karena mode uji coba ditetapkan dalam kebijakan Otorisasi Biner.

Peristiwa deployment yang diblokir di Cloud Audit Logs

Jika image container diblokir karena melanggar kebijakan Otorisasi Biner, Anda dapat menemukan peristiwa deployment yang diblokir di Log Audit Cloud.

Mengkueri Cloud Audit Logs untuk peristiwa deployment yang diblokir

Bagian ini menjelaskan cara membuat kueri Cloud Audit Logs untuk peristiwa deployment yang diblokir.

Logs Explorer

Untuk melihat peristiwa deployment yang diblokir di Cloud Audit Logs Logs Explorer, lakukan langkah-langkah berikut:

  1. Buka halaman Logs Explorer.

  2. Masukkan kueri berikut di kotak search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    protoPayload.response.status="Failure"
    (protoPayload.response.reason="VIOLATES_POLICY" OR
    protoPayload.response.reason="Forbidden")
    

  3. Pilih rentang waktu di pemilih rentang waktu.

gcloud

Untuk melihat peristiwa pelanggaran kebijakan dari minggu lalu di Log Audit Cloud menggunakan Google Cloud CLI, jalankan perintah berikut:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster"
   logName:"cloudaudit.googleapis.com%2Factivity"
   (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
   protoPayload.response.status="Failure"
   (protoPayload.response.reason="VIOLATES_POLICY" OR
   protoPayload.response.reason="Forbidden")'

Peristiwa akses darurat di Cloud Audit Logs

Otorisasi Biner memungkinkan Anda mengganti kebijakan menggunakan label breakglass dalam spesifikasi Pod. Saat image di-deploy dengan akses darurat, Otorisasi Biner akan mencatat peristiwa akses darurat di Cloud Audit Logs. Bagian berikut menjelaskan cara membuat kueri untuk peristiwa ini.

Membuat kueri Cloud Audit Logs untuk pod dengan breakglass yang ditentukan

Logs Explorer

Untuk melihat peristiwa akses darurat di Logs Explorer Cloud Audit Logs, lakukan langkah-langkah berikut:

  1. Buka halaman Logs Explorer.

  2. Masukkan kode berikut di kotak search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
    "image-policy.k8s.io/break-glass"
    
  3. Pilih rentang waktu di pemilih rentang waktu.

gcloud

Untuk melihat peristiwa breakglass dari minggu lalu di Log Audit Cloud menggunakan gcloud CLI, jalankan perintah berikut:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster" AND
  logName:"cloudaudit.googleapis.com%2Factivity" AND
  (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update") AND
  "image-policy.k8s.io/break-glass"'

Peristiwa fail open di Cloud Audit Logs

Fail open terjadi saat deployment image container dicoba, penerapan Otorisasi Biner tidak tersedia atau waktu tunggu habis, dan image penampung diizinkan untuk di-deploy.

Dalam hal ini, hasil verifikasi tidak diketahui dan entri log dicatat.

Mengkueri peristiwa fail open Cloud Audit Logs

Logs Explorer

Untuk melihat peristiwa fail open di Logs Explorer Cloud Audit Logs, lakukan hal berikut:

  1. Buka halaman Logs Explorer.

  2. Masukkan kode berikut di kotak search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    ("image-policy.k8s.io/failed-open" OR
     "imagepolicywebhook.image-policy.k8s.io/failed-open" OR
     "failed-open.validating.webhook.admission.k8s.io")
    
  3. Pilih rentang waktu di pemilih rentang waktu.

gcloud

Untuk melihat peristiwa fail open dari minggu lalu di Log Audit Cloud menggunakan gcloud CLI, jalankan perintah berikut:

gcloud logging read --order="desc" --freshness=7d \
  'resource.type="k8s_cluster"
   logName:"cloudaudit.googleapis.com%2Factivity"
   (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
    protoPayload.methodName="io.k8s.core.v1.pods.update")
   ("image-policy.k8s.io/failed-open" OR
    "imagepolicywebhook.image-policy.k8s.io/failed-open" OR
    "failed-open.validating.webhook.admission.k8s.io")'

Peristiwa uji coba di Cloud Audit Logs

Mode uji coba adalah mode penerapan dalam kebijakan yang memungkinkan deployment gambar yang tidak sesuai, tetapi menulis detail tentang deployment ke log audit. Mode uji coba memungkinkan Anda menguji kebijakan di lingkungan produksi sebelum kebijakan tersebut diterapkan.

Jika image container gagal lulus pemeriksaan yang diperlukan dalam kebijakan, tetapi diizinkan untuk di-deploy dengan mode uji coba, Cloud Audit Logs akan berisi imagepolicywebhook.image-policy.k8s.io/dry-run: "true".

Mengkueri Cloud Audit Logs untuk peristiwa dry run

Logs Explorer

Untuk melihat peristiwa uji coba di Cloud Audit Logs Logs Explorer, lakukan hal berikut:

  1. Buka halaman Logs Explorer.

  2. Masukkan kode berikut ke dalam kotak search-query:

    resource.type="k8s_cluster"
    logName:"cloudaudit.googleapis.com%2Factivity"
    (protoPayload.methodName="io.k8s.core.v1.pods.create" OR
     protoPayload.methodName="io.k8s.core.v1.pods.update")
    labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"
    
  3. Pilih rentang waktu di pemilih rentang waktu.

gcloud

Untuk melihat peristiwa deployment uji coba dari minggu lalu di Cloud Audit Logs menggunakan gcloud CLI, jalankan perintah berikut:

gcloud logging read --order="desc" --freshness=7d \
  'labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"'