Dokumen ini menjelaskan cara menggunakan Cloud Audit Logs untuk Google Distributed Cloud (khusus software). Google Distributed Cloud menggunakan Kubernetes Audit Logging, yang menyimpan kumpulan data kronologis terkait panggilan yang dilakukan ke server Kubernetes API cluster. Log audit berguna untuk menyelidiki permintaan API yang mencurigakan dan untuk 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 Anda Google Cloud . Menulis ke Cloud Audit Logs memiliki beberapa manfaat dibandingkan menulis ke disk atau mengambil log dalam sistem logging lokal:
- Log audit untuk semua cluster 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 Google Distributed Cloud.
- 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 memulai ulang dan mengupgrade cluster tidak akan menyebabkan log hilang. Google Distributed Cloud khusus software menyimpan hingga 1 GiB entri log audit.
Akses log audit berbasis disk dengan login ke Node panel 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 Anda
membuat cluster pengguna. Untuk melakukan buffering dan menulis entri log ke Cloud Audit Logs, Google Distributed Cloud men-deploy set daemon audit-proxy yang berjalan di node panel kontrol.
Batasan
Cloud Audit Logs memiliki batasan berikut:
- Logging akses data (permintaan get, list, watch) tidak didukung.
- Mengubah kebijakan audit Kubernetes tidak didukung.
- Cloud Audit Logs tidak tahan terhadap gangguan jaringan yang diperpanjang. Jika entri log tidak dapat diekspor ke Google Cloud, entri log akan di-cache dalam buffer disk 10 GB. Jika buffer tersebut terisi, entri terlama akan dihapus.
- Satu project dapat mendukung hingga sekitar 1.000 akun layanan untuk digunakan dengan Cloud Audit Logs. Beberapa cluster dapat menggunakan akun layanan yang sama.
Membuat akun layanan untuk Cloud Audit Logs
Sebelum dapat menggunakan Cloud Logging dan Cloud Monitoring dengan Google Distributed Cloud khusus software, Anda harus mengonfigurasi hal berikut terlebih dahulu:
Buat Ruang Kerja Cloud Monitoring dalam Google Cloud project, jika Anda belum memilikinya.
Di Google Cloud konsol, 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.logWritermonitoring.metricWriterstackdriver.resourceMetadata.writermonitoring.dashboardEditor
Mengakses Cloud Audit Logs
Konsol
Di Google Cloud konsol, buka halaman Logs Explorer di menu Logging.
Jika halaman Legacy Logs Viewer terbuka, pilih Upgrade to the new Logs Explorer dari menu drop-down Upgrade.
Klik di kolom Query untuk memasukkan kueri.
Masukkan kueri berikut ke kolom Query:
resource.type="k8s_cluster" logName="projects/PROJECT_ID/logs/externalaudit.googleapis.com%2Factivity" protoPayload.serviceName="anthosgke.googleapis.com"Ganti
PROJECT_IDdengan 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 di 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_IDdengan project ID Anda.
Output-nya 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. Perilaku Cloud Audit Logs ditentukan oleh kebijakan logging audit Kubernetes yang dikonfigurasi secara statis. Mengubah kebijakan ini untuk mengubah perilaku Cloud Audit Logs tidak didukung.