Dokumen ini menjelaskan cara menggunakan Cloud Audit Logs untuk Google Distributed Cloud (khusus software) di bare metal. Google Distributed Cloud menggunakan Logging Audit Kubernetes, yang menyimpan kumpulan data kronologis terkait panggilan yang dilakukan ke server Kubernetes API cluster. Log audit berguna untuk menyelidiki permintaan API yang mencurigakan dan mengumpulkan statistik. Untuk mengetahui informasi tentang logging audit untuk GKE On-Prem API, lihat Logging audit Cloud API.
Tentang Cloud Audit Logs
Log audit ditulis ke Cloud Audit Logs di project Google Cloud Anda. Menulis ke Cloud Audit Logs memiliki beberapa manfaat dibandingkan menulis ke disk atau merekam log di sistem logging on-premise:
- Log audit untuk semua cluster GKE dapat dipusatkan.
- Entri log yang ditulis ke Cloud Audit Logs tidak dapat diubah.
- Entri Cloud Audit Logs disimpan selama 400 hari.
- Fitur Cloud Audit Logs disertakan dalam harga software Google Distributed Cloud saja.
- Anda dapat mengonfigurasi Google Distributed Cloud untuk menulis log ke disk atau ke Cloud Audit Logs.
Logging audit berbasis disk
Jika Cloud Audit Logs dinonaktifkan secara eksplisit, log audit akan ditulis ke disk persisten sehingga cluster dimulai ulang dan upgrade tidak menyebabkan log hilang. Software Google Distributed Cloud hanya menyimpan hingga 1 GiB entri log audit.
Akses log audit berbasis disk dengan login ke Node bidang kontrol. Log
terletak di direktori /var/log/apiserver/
.
Cloud Audit Logs
Entri log audit Aktivitas Admin dari semua server Kubernetes API dikirim ke
Google Cloud, menggunakan project dan lokasi yang Anda tentukan saat
membuat cluster pengguna. Untuk melakukan buffering dan menulis entri log ke Cloud Audit Logs, Google Distributed Cloud men-deploy kumpulan daemon audit-proxy
yang berjalan di node bidang kontrol.
Batasan
Di bare metal, Cloud Audit Logs memiliki batasan berikut:
- Logging akses data tidak didukung.
- Mengubah kebijakan audit Kubernetes tidak didukung.
- Cloud Audit Logs tidak tahan terhadap pemadaman jaringan yang berkepanjangan. Jika entri log tidak dapat diekspor ke Google Cloud, entri tersebut akan di-cache dalam buffering disk sebesar 10 GiB. Jika buffer tersebut terisi, entri terlama akan dihapus.
Membuat akun layanan untuk Cloud Audit Logs
Sebelum dapat menggunakan Cloud Logging dan Cloud Monitoring dengan software khusus Google Distributed Cloud, Anda harus mengonfigurasi hal berikut terlebih dahulu:
Buat Ruang Kerja Cloud Monitoring dalam project Google Cloud, jika Anda belum memilikinya.
Di konsol Google Cloud, klik tombol berikut dan ikuti alur kerja.
Klik tombol berikut untuk mengaktifkan API yang diperlukan:
Tetapkan peran IAM berikut ke akun layanan yang digunakan oleh agen Stackdriver:
logging.logWriter
monitoring.metricWriter
stackdriver.resourceMetadata.writer
monitoring.dashboardEditor
Mengakses Cloud Audit Logs
Konsol
Di konsol Google Cloud, buka halaman Logs Explorer di menu Logging.
Jika halaman Logs Viewer Lama terbuka, pilih Upgrade ke Logs Explorer baru dari menu drop-down Upgrade.
Klik Kueri untuk mengakses kolom guna mengirimkan kueri.
Isi kolom dengan kueri berikut:
resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" protoPayload.serviceName="anthosgke.googleapis.com"
Ganti
PROJECT_ID
dengan project ID Anda.Klik Run query untuk menampilkan semua log audit dari cluster yang dikonfigurasi untuk login ke project ini.
gcloud
Cantumkan dua entri log pertama dalam log Aktivitas Admin project Anda yang
berlaku untuk jenis resource k8s_cluster
:
gcloud logging read \
'logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" \
AND resource.type="k8s_cluster" \
AND protoPayload.serviceName="anthosgke.googleapis.com" ' \
--limit 2 \
--freshness 300d
Ganti PROJECT_ID
dengan project ID Anda.
Output menampilkan dua entri log. Perhatikan bahwa untuk setiap entri log, kolom logName
memiliki nilai
projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity
dan protoPayload.serviceName
sama dengan anthosgke.googleapis.com
.
Kebijakan audit
Kebijakan audit Kubernetes menentukan aturan untuk peristiwa mana yang dicatat sebagai entri log dan menentukan data apa yang harus disertakan dalam entri log. Mengubah kebijakan ini untuk mengubah perilaku Cloud Audit Logs tidak didukung.