Halaman ini menjelaskan entri log Cloud Audit Logs secara mendetail: struktur, cara membaca, dan cara menafsirkannya.
Cloud Audit Logs menyediakan log audit berikut untuk setiap Trusted Cloud project, folder, dan organisasi:
- Log audit Aktivitas Admin
- Log audit Akses Data
- Log audit Peristiwa Sistem
- Log audit Kebijakan Ditolak
Untuk membaca ringkasan umum tentang Cloud Audit Logs, lihat Cloud Audit Logs.
Format entri log audit
Entri log audit adalah jenis entri log Cloud Logging. Seperti semua
entri log Logging, entri log audit disimpan dalam objek
LogEntry
. Yang membedakan entri log audit dari entri log lainnya adalah kolom protoPayload
. Dalam entri
log audit, kolom protoPayload
entri log berisi objek
AuditLog
yang menyimpan data
logging audit.
Singkatnya, setiap entri log audit ditandai dengan informasi berikut:
- Project, folder, atau organisasi yang memiliki entri log.
- Resource tempat entri log diterapkan. Informasi ini terdiri dari jenis resource dari Daftar resource yang dimonitor dan nilai tambahan yang menunjukkan instance tertentu. Misalnya, Anda dapat melihat entri log audit dari satu instance VM Compute Engine atau dari semua instance VM.
- Stempel waktu.
Layanan: Layanan adalah produk Trusted Cloud individual, seperti Compute Engine, Cloud SQL, atau Pub/Sub. Setiap layanan diidentifikasi berdasarkan nama: Compute Engine adalah
compute.googleapis.com
, Cloud SQL adalahcloudsql.googleapis.com
, dan seterusnya. Informasi ini tercantum di kolomprotoPayload.serviceName
entri log audit.Jenis resource termasuk dalam satu layanan, tetapi layanan dapat memiliki beberapa jenis resource. Untuk mengetahui daftar layanan dan resource, buka Memetakan layanan ke resource.
Payload, yang merupakan jenis
protoPayload
. Payload setiap entri log audit adalah objek jenisAuditLog
, yang menentukan serangkaian kolom khusus untuk Cloud Audit Logs, sepertiserviceName
danauthenticationInfo
. Entri ini juga memiliki kolom opsional,metadata
, yang digunakan oleh layanan Trusted Cloud by S3NS untuk mencantumkan informasi khusus layanan dalam entri log audit. Beberapa Trusted Cloud by S3NS layanan masih menggunakan kolomserviceData
yang lebih lama untuk mencantumkan informasi spesifik per layanan. Untuk mengetahui daftar layanan yang menggunakan kolomserviceData
, lihat Data audit khusus layanan.Nama log: Entri log audit termasuk dalam log di dalam akun penagihan, project, folder, dan organisasi. Tabel berikut mencantumkan nama log:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fpolicy folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fsystem_event folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fpolicy billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fpolicy organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fsystem_event organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fpolicy
Dalam akun penagihan, project, folder, atau organisasi, nama log ini biasanya disingkat menjadi activity, data_access, system_event, dan policy.
Contoh entri log audit
Bagian ini menggunakan contoh entri log audit untuk menjelaskan cara menemukan informasi yang paling penting dalam entri log audit.
Contoh berikut adalah entri log audit Aktivitas Admin yang mencatat perubahan pada kebijakan Identity and Access Management (IAM) dengan PROJECT_ID my-gcp-project-id
.
Kolom serviceName
mengidentifikasi layanan yang menulis log audit.
Agar lebih singkat, beberapa bagian entri log dihilangkan, dan beberapa kolom ditandai:
{ protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog", status: {}, authenticationInfo: { principalEmail: "user@example.com" }, serviceName: "appengine.googleapis.com", methodName: "SetIamPolicy", authorizationInfo: [...], serviceData: { @type: "type.googleapis.com/google.appengine.legacy.AuditData", policyDelta: { bindingDeltas: [ action: "ADD", role: "roles/logging.privateLogViewer", member: "user:user@example.com" ], } }, request: { resource: "my-gcp-project-id", policy: { bindings: [...], } }, response: { bindings: [ { role: "roles/logging.privateLogViewer", members: [ "user:user@example.com" ] } ], } }, insertId: "53179D9A9B559.AD6ACC7.B40604EF", resource: { type: "gae_app", labels: { project_id: "my-gcp-project-id" } }, timestamp: "2019-05-27T16:24:56.135Z", severity: "NOTICE", logName: "projects/my-gcp-project-id/logs/cloudaudit.googleapis.com%2Factivity", }
Berikut adalah kueri yang digunakan untuk memilih contoh entri log audit sebelumnya. Kueri dapat digunakan di Logs Explorer, Logging API, atau Google Cloud CLI. ID project ada di nama log:
resource.type = "gae_app" logName = "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity"
Jika Anda mencari log audit dari satu instance jenis resource,
seperti gce_instance
, tambahkan penentu instance:
resource.type = "gce_instance" resource.instance_id = "INSTANCE_ID" logName = "projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity"
Menafsirkan contoh entri log audit
Dalam contoh entri log audit sebelumnya, kolom protoPayload
,
insertId
,
resource
, timestamp
, severity
, dan logName
yang ditampilkan adalah bagian dari
objek LogEntry
. Nilai kolom protoPayload
adalah objek
AuditLog
. Objek ini merangkum data logging audit.
Dengan melihat contoh entri log audit, Anda mungkin memiliki beberapa pertanyaan:
Apakah ini entri log audit? Ya, dan Anda dapat mengetahuinya dengan dua cara:
Kolom
protoPayload.@type
adalahtype.googleapis.com/google.cloud.audit.AuditLog
.Kolom
logName
mencakup domaincloudaudit.googleapis.com
.
Layanan apa yang menulis log audit? Log ditulis oleh App Engine. Informasi ini tercantum di kolom
protoPayload.serviceName
entri log audit.Operasi apa yang sedang diaudit?
SetIamPolicy
, sebagaimana ditentukan di kolomprotoPayload.methodName
, sedang diaudit. Informasi selengkapnya tentang operasi yang diaudit ada di objekAuditData
dalamprotoPayload.serviceData
.Resource apa yang sedang diaudit? Aplikasi yang berjalan di App Engine, yang dikaitkan dengan Trusted Cloud project
my-gcp-project-id
, sedang diaudit. Anda dapat menentukannya dari kolomresource
, yang menentukan jenis resourcegae_app
dan ID projectmy-gcp-project-id
. Dalam contoh ini, Anda akan menemukan detail tentang jenis resource di daftar jenis resource yang dimonitor.
Untuk mengetahui informasi selengkapnya, lihat jenis LogEntry
, jenis
AuditLog
, dan
jenis IAM AuditData
.
Log audit untuk operasi yang berjalan lama
API yang merupakan operasi yang berjalan lama memancarkan dua log audit; satu saat API dipanggil dan operasi dimulai, dan satu saat operasi selesai.
Dalam hal ini, objek LogEntry
berisi kolom operation
.
Entri log untuk operasi yang sama memiliki nilai yang sama untuk
LogEntry.operation.id
dan LogEntry.operation.producer
.
Entri log pertama yang ditulis memiliki LogEntry.operation.first=true
,
dan entri log penyelesaian memiliki LogEntry.operation.last=true
.
Jika operasi selesai atau gagal dengan segera, hanya ada satu entri log
yang berisi LogEntry.operation.first=true
dan LogEntry.operation.last=true
.
Beberapa layanan tidak mengisi kolom LogEntry.operation
saat
operasi gagal. Namun, Anda dapat menentukan operasi mana yang merupakan operasi
berjalan lama dengan melihat dokumentasi pencatatan audit layanan.
API ini mengimplementasikan layanan Operations.
Layanan ini umumnya memunculkan entri log audit saat dipanggil. Bergantung pada API yang dipanggil, protoPayload.methodName
adalah salah satu dari berikut ini:
google.longrunning.Operations.ListOperations
google.longrunning.Operations.GetOperation
google.longrunning.Operations.CancelOperation
google.longrunning.Operations.WaitOperation
google.longrunning.Operations.DeleteOperation
LogEntry.operation
tidak ditentukan dalam kasus ini, karena API ini menampilkan metadata tentang operasi yang berjalan lama, tetapi bukan operasi yang berjalan lama itu sendiri.
Lihat Trusted Cloud by S3NS layanan dengan log audit untuk mengetahui detail tentang API mana yang diaudit, karena dapat bervariasi per layanan.
Log audit untuk API streaming
Mirip dengan operasi yang berjalan lama, API streaming memancarkan dua entri log audit; satu saat API pertama kali dipanggil dan satu saat koneksi streaming telah berakhir.
Dalam hal ini, objek LogEntry
berisi kolom operation
dan entri log
untuk operasi yang sama memiliki nilai yang sama untuk LogEntry.operation.id
dan LogEntry.operation.producer
.
Log pertama yang ditulis memiliki LogEntry.operation.first=true
,
dan log penyelesaian akan memiliki LogEntry.operation.last=true
.
API ini juga dapat memancarkan entri log kelanjutan dengan LogEntry.operation.first
dan LogEntry.operation.last
yang tidak disetel untuk menunjukkan bahwa streaming tetap terbuka.
Data audit khusus layanan
Beberapa layanan memperluas informasi yang disimpan di
AuditLog
dengan menempatkan struktur data
tambahan di kolom serviceData
entri log audit. Tabel berikut mencantumkan layanan yang menggunakan kolom serviceData
dan menyediakan link ke jenis AuditData
-nya.
Layanan | Jenis data layanan |
---|---|
BigQuery | type.googleapis.com/google.cloud.bigquery.logging.v1.AuditData |
IAM | type.googleapis.com/google.iam.v1.logging.AuditData |
Melihat log audit
Anda dapat membuat kueri untuk semua log audit atau membuat kueri untuk log berdasarkan nama log auditnya. Nama log audit mencakup
ID resource
Trusted Cloud project, folder, akun penagihan, atau
organisasi yang informasi logging auditnya ingin Anda lihat.
Kueri Anda dapat menentukan kolom LogEntry
yang diindeks.
Untuk mengetahui informasi selengkapnya tentang cara membuat kueri log Anda, lihat Membuat kueri di Logs Explorer
Sebagian besar log audit dapat dilihat di Cloud Logging menggunakan konsolTrusted Cloud , Google Cloud CLI, atau Logging API. Namun, untuk log audit terkait penagihan, Anda hanya dapat menggunakan Google Cloud CLI atau Logging API.
Konsol
Di konsol Trusted Cloud , Anda dapat menggunakan Logs Explorer untuk mengambil entri log audit untuk project, folder, atau organisasi Trusted Cloud Anda:
-
Di konsol Trusted Cloud , buka halaman Logs Explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.
Pilih project, folder, atau organisasi Trusted Cloud yang sudah ada.
Untuk menampilkan semua log audit, masukkan salah satu kueri berikut ke kolom editor kueri, lalu klik Jalankan kueri:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
Agar dapat menampilkan log audit untuk jenis log audit dan resource tertentu, di panel Builder kueri, lakukan langkah berikut ini:
Di Jenis resource, pilih resource Trusted Cloud yang log auditnya ingin Anda lihat.
Di Log name, pilih jenis log audit yang ingin dilihat:
- Untuk log audit Aktivitas Admin, pilih activity.
- Untuk log audit Akses Data, pilih data_access.
- Untuk log audit Peristiwa Sistem, pilih system_event.
- Untuk log audit Kebijakan Ditolak, pilih policy.
Klik Run query.
Jika Anda tidak melihat opsi ini, berarti tidak ada log audit dengan jenis tersebut yang tersedia di project, folder, atau organisasi. Trusted Cloud
Jika mengalami masalah saat mencoba melihat log di Logs Explorer, lihat informasi pemecahan masalah.
Untuk mengetahui informasi selengkapnya tentang pembuatan kueri menggunakan Logs Explorer, lihat Membangun kueri di Logs Explorer.
gcloud
Google Cloud CLI menyediakan antarmuka command line ke Logging API. Berikan ID resource yang valid di setiap nama log. Misalnya, jika kueri Anda menyertakan PROJECT_ID, ID project yang Anda berikan harus merujuk ke projectTrusted Cloud yang saat ini dipilih.
Untuk membaca entri log audit level project, jalankan perintah berikut: Trusted Cloud
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \ --project=PROJECT_ID
Untuk membaca entri log audit level folder, jalankan perintah berikut:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \ --folder=FOLDER_ID
Untuk membaca entri log audit level organisasi, jalankan perintah berikut:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \ --organization=ORGANIZATION_ID
Untuk membaca entri log audit level akun Penagihan Cloud Anda, jalankan perintah berikut:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
Tambahkan flag --freshness
ke perintah Anda untuk membaca log yang berusia lebih dari 1 hari.
Untuk mengetahui informasi selengkapnya tentang penggunaan gcloud CLI, lihat gcloud logging read
.
REST
Untuk membuat kueri data log menggunakan Cloud Logging API, gunakan metode
entries.list
.