Pengantar log audit di BigQuery
Anda dapat menggunakan log audit BigQuery untuk memantau aktivitas administratif dan akses data dalam project Anda. Log adalah file teks yang dibuat secara otomatis dan mencatat siapa yang melakukan tindakan tertentu, seperti membuat tabel atau menjalankan tugas, untuk membantu Anda menjaga keamanan dan memastikan kepatuhan. Dokumen ini menjelaskan kapan harus menggunakan log audit dan memberikan ringkasan formatnya.
Cloud de Confiance by S3NS juga menulis log, termasuk log audit yang memberikan insight tentang masalah operasional terkait penggunaan layanan Cloud de Confiance oleh Anda. Untuk mengetahui informasi selengkapnya tentang cara Cloud de Confiance menangani logging, lihat dokumentasi Cloud Logging dan ringkasan Cloud Audit Logs.
Log audit versus tabel virtual INFORMATION_SCHEMA
Project Cloud de Confiance Anda berisi log audit hanya untuk resource yang berada langsung dalam project Cloud de Confiance . Resource Cloud de Confiance lainnya, seperti folder, organisasi, dan akun penagihan, berisi log auditnya sendiri.
Log audit membantu Anda menjawab pertanyaan "Siapa yang melakukan apa, di mana, dan kapan?" dalam resource Cloud de Confiance Anda. Log audit adalah sumber informasi definitif untuk aktivitas sistem menurut pengguna dan pola akses, serta harus menjadi sumber utama Anda dalam pertanyaan audit atau keamanan.
Tampilan INFORMATION_SCHEMA di BigQuery adalah sumber insight lain yang dapat Anda gunakan bersama dengan metrik dan log. Tampilan ini berisi metadata tentang tugas, set data, tabel, dan entity BigQuery lainnya. Misalnya, Anda bisa mendapatkan metadata real-time tentang tugas BigQuery mana yang dijalankan selama waktu tertentu. Kemudian, Anda dapat mengelompokkan atau memfilter hasil berdasarkan project, pengguna, tabel yang dirujuk, dan dimensi lainnya.
Tampilan INFORMATION_SCHEMA memberi Anda informasi untuk melakukan analisis yang lebih mendetail tentang workload BigQuery, seperti berikut:
- Berapa rata-rata penggunaan slot untuk semua kueri selama tujuh hari terakhir untuk project tertentu?
- Error streaming apa yang terjadi dalam 30 menit terakhir, yang dikelompokkan berdasarkan kode error?
Log audit BigQuery berisi entri log untuk panggilan API, tetapi
tidak menjelaskan dampak panggilan API. Sekumpulan panggilan API membuat tugas
(seperti kueri dan pemuatan) yang informasinya diambil oleh tampilan INFORMATION_SCHEMA. Misalnya, Anda dapat menemukan informasi tentang waktu dan slot yang
digunakan oleh kueri tertentu dalam tampilan INFORMATION_SCHEMA, tetapi tidak di log audit.
Untuk mendapatkan insight tentang performa workload BigQuery secara khusus, lihat metadata tugas, metadata streaming, dan metadata pemesanan.
Untuk mengetahui informasi selengkapnya tentang jenis log audit yang ditulis layanan Cloud de Confiance , lihat Jenis log audit.
Format log audit
LayananCloud de Confiance menulis log audit dalam format JSON terstruktur. Jenis data dasar untuk entri log Cloud de Confiance adalah struktur LogEntry. Struktur ini berisi nama log, resource yang menghasilkan entri log, stempel waktu (UTC), dan informasi dasar lainnya.
Log mencakup detail peristiwa yang dicatat ke dalam log di subkolom yang disebut kolom payload. Untuk log audit, kolom payload diberi nama protoPayload. Jenis kolom ini (protoPayload.@type) ditetapkan ke type.googleapis.com/google.cloud.audit.AuditLog, yang menunjukkan bahwa kolom menggunakan struktur log AuditLog.
Untuk operasi pada set data, tabel, dan tugas, BigQuery menulis log audit dalam dua format yang berbeda, meskipun kedua format tersebut menggunakan jenis dasar AuditLog yang sama.
Format yang lebih lama mencakup kolom dan nilai berikut:
- Nilai untuk kolom
resource.typeadalahbigquery_resource. - BigQuery menulis detail tentang operasi di kolom
protoPayload.serviceData. Nilai kolom ini menggunakan struktur logAuditData.
Format yang lebih baru mencakup kolom dan nilai berikut:
- Nilai untuk kolom
resource.typeadalahbigquery_projectataubigquery_dataset. Resourcebigquery_projectmemiliki entri log tentang tugas, sedangkan resourcebigquery_datasetmemiliki entri log tentang penyimpanan. - BigQuery menulis detail tentang operasi di kolom
protoPayload.metadata. Nilai kolom ini menggunakan strukturBigQueryAuditMetadata.
Sebaiknya gunakan log dalam format yang lebih baru. Untuk informasi selengkapnya, lihat Panduan migrasi log audit.
Berikut adalah contoh singkat entri log yang menunjukkan operasi yang gagal:
{
"protoPayload": {
"@type": "type.googleapis.com/google.cloud.audit.AuditLog",
"status": {
"code": 5,
"message": "Not found: Dataset myproject:mydataset was not found in location US"
},
"authenticationInfo": { ... },
"requestMetadata": { ... },
"serviceName": "bigquery.googleapis.com",
"methodName": "google.cloud.bigquery.v2.JobService.InsertJob",
"metadata": {
},
"resource": {
"type": "bigquery_project",
"labels": { .. },
},
"severity": "ERROR",
"logName": "projects/myproject/logs/cloudaudit.googleapis.com%2Fdata_access",
...
}
Untuk operasi pada pemesanan BigQuery, kolom protoPayload menggunakan struktur AuditLog, serta kolom protoPayload.request dan protoPayload.response berisi informasi selengkapnya. Anda dapat menemukan definisi kolom di BigQuery Reservation API. Untuk informasi selengkapnya, lihat Memantau reservasi BigQuery.
Untuk mendapatkan pemahaman yang lebih mendalam tentang format log audit, lihat Memahami log audit.
Batasan
Pesan log memiliki batas ukuran 100.000 byte. Untuk informasi selengkapnya, lihat Entri log yang terpotong.
Visibilitas dan kontrol akses
Log audit BigQuery dapat menyertakan informasi yang mungkin dianggap sensitif oleh pengguna, seperti teks SQL, definisi skema, dan ID untuk resource seperti tabel dan set data. Untuk mengetahui informasi tentang cara mengelola akses ke informasi ini, lihat dokumentasi kontrol akses Cloud Logging.
Peta telemetri
Tabel berikut memetakan fitur dan resource BigQuery ke telemetri pemantauan operasional, layanan dan resource API yang diaudit, serta dokumentasi referensi log audit. Anda dapat menggunakannya untuk menemukan telemetri yang diperlukan untuk memecahkan masalah, mengoptimalkan performa, mengontrol biaya, mengaudit penggunaan, dan menjaga kepatuhan.
Tidak seperti banyak layanan Cloud de Confiance by S3NS yang menulis log tugas operasional ke
Cloud Logging, BigQuery menulis telemetri tugas operasional ke
tampilan skema informasi seperti
INFORMATION_SCHEMA.JOBS. Tabel virtual ini mencatat tahap eksekusi kueri, penggunaan slot, byte yang ditagih, dan semua tugas yang dikirimkan, termasuk tugas yang sedang berlangsung dan gagal.
BigQuery menggunakan Logging terutama untuk memunculkan Cloud Audit Logs, yang mencatat aktivitas administratif dan akses data. Saat mengaudit aktivitas ini, Anda dapat menentukan siapa yang mengakses resource atau data, di mana, dan kapan.
Log audit tidak dikeluarkan untuk setiap gangguan atau kegagalan tugas. Misalnya,
tugas yang gagal tidak menghasilkan peristiwa TableDataRead atau TableDataChange, dan
jobCompletedEvent hanya mencatat penyelesaian tugas yang berhasil. Untuk mengetahui detail tentang skenario yang tidak memunculkan log audit, lihat Akses data dalam Ringkasan log audit BigQuery.
Dalam tabel berikut, tanda bintang (*) dalam nama tampilan INFORMATION_SCHEMA
menunjukkan varian tampilan khusus cakupan, seperti _BY_PROJECT, _BY_USER,
_BY_FOLDER, dan _BY_ORGANIZATION.
| Fitur atau fasilitas | Pemantauan operasional | Cloud Audit Logs |
|---|---|---|
| Kueri dan tugas |
Tampilan skema informasi:
Konsol:
Metrik: Metrik Cloud Monitoring, seperti |
Layanan API:
Resource yang diaudit: tugas di Log audit: Log Akses Data menggunakan |
| Tabel dan tampilan |
Tampilan skema informasi:
Metrik: Metrik pemantauan, seperti |
Layanan API:
Resource yang diaudit: tabel, tampilan, dan tampilan terwujud di Log audit: Log Akses Data menggunakan
|
| Set data |
Tampilan skema informasi:
|
Layanan API:
Resource yang diaudit: set data, kebijakan IAM set data, dan ACL set data di Log audit: Log Aktivitas Admin dan Akses Data
menggunakan |
| Slot dan pemesanan |
Tampilan skema informasi:
Konsol:
Metrik: Metrik pemantauan, seperti |
Layanan API:
Resource yang diaudit: pemesanan, komitmen kapasitas, dan penetapan pemesanan di Log audit: Log Aktivitas Admin dan Akses Data untuk membuat, mengubah, menghapus, dan mencantumkan pemesanan, komitmen kapasitas, serta penetapan project atau folder. Lihat Logging audit BigQuery Reservation API. |
| Keamanan tingkat kolom dan penyamaran data |
Tampilan skema informasi:
|
Layanan API:
Resource yang diaudit: taksonomi dan tag kebijakan di
Log audit: Log Aktivitas Admin dan Akses Data untuk pengelolaan taksonomi dan tag kebijakan serta perubahan kebijakan IAM (Tag kebijakan audit); pengelolaan kebijakan data dan update penerima (Logging audit Kebijakan Data BigQuery); dan log |
| Rutinitas, termasuk UDF dan prosedur tersimpan |
Tampilan skema informasi:
|
Layanan API:
Resource yang diaudit: fungsi yang ditentukan pengguna (UDF), fungsi tabel, dan prosedur tersimpan di Log audit: Log Aktivitas Admin dan Akses Data menggunakan |
| Sambungan eksternal |
Tampilan skema informasi:
|
Layanan API:
Resource yang diaudit: koneksi dan kebijakan IAM koneksi di Log audit: Log Aktivitas Admin dan Akses Data untuk pembuatan koneksi, pembaruan kredensial, penghapusan, listing, dan perubahan kebijakan IAM. Lihat logging audit BigQuery Connection API. |
| BigQuery sharing |
Tampilan skema informasi:
Dasbor: dasbor metrik penggunaan berbagi. |
Layanan API:
Resource yang diaudit: pertukaran data, listingan, langganan, dan kebijakan IAM pertukaran atau listingan di Log audit: Log Aktivitas Admin dan Akses Data untuk pertukaran data dan pembuatan, pembaruan, penghapusan listingan, perubahan kebijakan IAM, dan operasi pelanggan. Lihat Logging audit berbagi. |
| BigQuery Data Transfer Service |
Metrik dan log:
|
Layanan API:
Resource yang diaudit: konfigurasi transfer, operasi transfer, dan sumber data di Log audit: Log Aktivitas Admin dan Akses Data untuk membuat, memperbarui, menghapus, mencantumkan, dan memulai konfigurasi serta operasi transfer. Lihat Logging audit BigQuery Data Transfer Service. |
| Katalog dan tabel BigLake |
Tampilan skema informasi: |
Layanan API:
Resource yang diaudit: katalog, database, tabel, dan partisi metastore di Log audit: Log Aktivitas Admin dan Akses Data untuk operasi kebijakan IAM katalog, database, namespace, tabel, partisi, dan katalog. Lihat logging audit BigLake. |
| BigQuery Migration Service |
Status dan laporan:
|
Layanan API:
Resource yang diaudit: alur kerja migrasi, subtugas migrasi, dan permintaan terjemahan SQL di Log audit: Log Akses Data untuk membuat, memulai, mencantumkan, melihat, dan menghapus alur kerja dan subtugas migrasi, serta menerjemahkan kueri SQL. Lihat Logging audit BigQuery Migration Service. |
Langkah berikutnya
- Untuk mempelajari cara menggunakan Cloud Logging untuk mengaudit aktivitas yang terkait dengan tag kebijakan, lihat Tag kebijakan audit.
- Guna mempelajari cara menggunakan BigQuery untuk menganalisis aktivitas yang dicatat, lihat Ringkasan log audit BigQuery.