Lihat 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 Anda, 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 menulis detail tentang deployment tersebut ke log audit di Kemampuan observasi Google Cloud. Entri log audit ini mencakup pesan status penegakan. Anda dapat melihat entri log ini di Google Cloud Console atau di command line menggunakan perintah gcloud logging read.

Untuk penelusuran di lain waktu dalam panduan ini, Anda dapat 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 Konsol Google Cloud:

    Buka Logs Explorer

  2. Pilih project Google Cloud yang ingin Anda lihat Cloud Audit Logs-nya.

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 mengabaikan pemeriksaan kebijakan menggunakan mekanisme akses darurat. Untuk 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

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

Membuat kueri Log Audit Cloud 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 Explorer, lakukan 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")
    NOT "kube-system"
    NOT "istio-system"
    

  3. Pilih rentang waktu di pemilih rentang waktu.

gcloud

Untuk melihat peristiwa pelanggaran kebijakan dari seminggu terakhir 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")
   NOT "kube-system"
   NOT "istio-system"'

Peristiwa akses darurat di Cloud Audit Logs

Dengan Otorisasi Biner, Anda dapat mengganti kebijakan menggunakan label breakless 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 Log Audit Cloud untuk pod dengan akses darurat yang ditentukan

Logs Explorer

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

  1. Buka halaman Logs Explorer.

  2. Masukkan teks berikut di kotak kueri penelusuran:

    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 akses darurat dari seminggu terakhir 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 kegagalan pembukaan 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.

Peristiwa terbuka Cloud Audit Logs menggagalkan kueri

Logs Explorer

Untuk melihat peristiwa gagal terbuka di Cloud Audit Logs Explorer, lakukan hal berikut:

  1. Buka halaman Logs Explorer.

  2. Masukkan teks berikut di kotak kueri penelusuran:

    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 yang gagal dibuka 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 gambar yang tidak sesuai di-deploy, tetapi menulis detail tentang deployment tersebut ke log audit. Mode uji coba memungkinkan Anda menguji kebijakan di lingkungan produksi sebelum kebijakan tersebut berlaku.

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

Membuat kueri Cloud Audit Logs untuk peristiwa uji coba

Logs Explorer

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

  1. Buka halaman Logs Explorer.

  2. Masukkan teks berikut di kotak kueri penelusuran:

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