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 Otorisasi Biner penerapan kebijakan di seluruh produk yang saling bergantung Google Cloud 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 mencakup pesan status penerapan. Anda dapat melihat entri log ini di Google Cloud konsol 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 Anda lihat.

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

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

    Buka Logs Explorer

  2. Pilih Google Cloud project yang Cloud Audit Logs-nya 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 akses darurat: Deployment melewati pemeriksaan kebijakan menggunakan mekanisme akses darurat. Untuk mengetahui informasi selengkapnya, lihat Menggunakan akses darurat.
  • 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 Cloud Audit Logs.

Mengkueri Cloud Audit Logs untuk peristiwa deployment yang diblokir

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

Logs Explorer

Untuk melihat peristiwa deployment yang diblokir di Logs Explorer Cloud Audit Logs, lakukan hal 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 time-range selector.

gcloud

Untuk melihat peristiwa pelanggaran kebijakan dari minggu lalu di Cloud Audit Logs 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 akses darurat 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 mengkueri peristiwa ini.

Mengkueri Cloud Audit Logs untuk pod dengan akses darurat yang ditentukan

Logs Explorer

Untuk melihat peristiwa akses darurat di Logs Explorer Cloud Audit Logs, lakukan hal 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")
    "image-policy.k8s.io/break-glass"
    
  3. Pilih rentang waktu di time-range selector.

gcloud

Untuk melihat peristiwa akses darurat dari minggu lalu di Cloud Audit Logs 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 container 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 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")
    ("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 time-range selector.

gcloud

Untuk melihat peristiwa fail open dari minggu lalu di Cloud Audit Logs 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 image yang tidak sesuai di-deploy, tetapi menulis detail tentang deployment ke log audit. Mode uji coba memungkinkan Anda menguji kebijakan di lingkungan produksi sebelum berlaku.

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

Mengkueri Cloud Audit Logs untuk peristiwa uji coba

Logs Explorer

Untuk melihat peristiwa uji coba di Logs Explorer Cloud Audit Logs, lakukan hal 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")
    labels."imagepolicywebhook.image-policy.k8s.io/dry-run"="true"
    
  3. Pilih rentang waktu di time-range selector.

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"'