Halaman ini menyediakan informasi tambahan untuk menggunakan Cloud Audit Logs dengan Cloud Storage. Gunakan Cloud Audit Logs untuk membuat log untuk operasi API yang dilakukan di Cloud Storage.
Ringkasan
Layanan Google Cloud menulis log audit untuk membantu Anda menjawab pertanyaan, "Siapa yang melakukan apa, di mana, dan kapan?" dalam resource Google Cloud. Anda juga dapat melampirkan informasi kustom ke log audit untuk mengetahui informasi yang lebih terperinci tentang bagaimana resource diakses.
Project Google Cloud Anda hanya berisi log audit untuk resource yang berada langsung dalam project Google Cloud. Resource Google Cloud lainnya, seperti folder, organisasi, dan akun penagihan, berisi log audit untuk entity itu sendiri.
Untuk membaca ringkasan umum tentang Cloud Audit Logs, lihat Ringkasan Cloud Audit Logs. Untuk mendapatkan pemahaman yang lebih mendalam tentang format log audit, lihat Memahami log audit.
Log audit yang tersedia
Jenis log audit berikut tersedia untuk Cloud Storage:
Log audit Aktivitas Admin: Entri untuk operasi
ADMIN_WRITE
yang mengubah konfigurasi atau metadata project, bucket, atau objek Google Cloud. Anda tidak dapat menonaktifkan log audit Aktivitas Admin.Log audit Akses Data: Entri untuk operasi yang mengubah objek atau membaca project, bucket, atau objek Google Cloud. Ada beberapa subjenis log audit Akses Data:
ADMIN_READ
: Entri untuk operasi yang membaca konfigurasi atau metadata project, bucket, atau objek Google Cloud.DATA_READ
: Entri untuk operasi yang membaca objek.DATA_WRITE
: Entri untuk operasi yang membuat atau mengubah objek.
Untuk menerima log audit Akses Data, Anda harus mengaktifkannya secara eksplisit.
Selain log audit untuk Cloud Storage, Cloud Audit Logs dapat membuat log audit untuk Insight Penyimpanan. Log audit Insight Penyimpanan dibuat setiap kali konfigurasi laporan inventaris dibuat, diperbarui, dan diambil, serta saat laporan inventaris diambil.
Untuk deskripsi yang lebih lengkap tentang jenis log audit, lihat Jenis log audit.
Operasi yang diaudit
Tabel berikut meringkas operasi Cloud Storage yang sesuai dengan setiap jenis log audit:
Jenis log audit | Subjenis | Operasi Cloud Storage |
---|---|---|
Aktivitas Admin |
|
|
Akses Data | ADMIN_READ |
|
Akses Data | DATA_READ |
|
Akses Data | DATA_WRITE |
|
1 Operasi ini melibatkan pembacaan dan penulisan data. Akibatnya, masing-masing operasi ini menghasilkan dua entri log.
2 Cloud Audit Logs tidak mencatat tindakan yang diambil oleh fitur Object Lifecycle Management atau Autoclass ke dalam log. Untuk alternatif yang melacak tindakan ini, lihat Opsi untuk melacak tindakan Siklus Proses.
3 Log audit Aktivitas Admin tidak dibuat jika/saat ACL awalnya ditetapkan saat pembuatan objek. Selain itu, jika ACL objek ditetapkan ke publik, log audit tidak akan dibuat untuk pembacaan atau penulisan ke objek tersebut atau ACL-nya.
Format log audit
Entri log audit mencakup komponen berikut:
Entri log itu sendiri, yang merupakan objek
LogEntry
. Kolom berguna yang meliputi hal berikut ini:logName
berisi ID resource dan jenis log audit.resource
berisi target operasi yang diaudit.timestamp
berisi waktu operasi yang diaudit.protoPayload
berisi informasi yang diaudit.
Data logging audit, yang merupakan objek
AuditLog
yang disimpan di kolomprotoPayload
entri log.Informasi audit khusus Cloud Storage opsional, termasuk informasi permintaan dan respons mendetail; untuk mengetahui informasi selengkapnya, lihat Mode logging audit mendetail. Perhatikan bahwa Anda tidak perlu menerapkan logging audit mendetail untuk melampirkan informasi kustom ke log audit.
Untuk kolom lain dalam objek ini, dan cara menafsirkannya, lihat Memahami log audit.
Nama log
Nama log Cloud Audit Logs mencakup ID resource yang menunjukkan project Google Cloud atau entitas Google Cloud lainnya yang memiliki log audit, dan apakah log berisi data logging audit Aktivitas Admin atau Akses Data.
Berikut adalah nama log audit, termasuk variabel untuk ID resource:
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fdata_access folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Factivity folders/FOLDER_ID/logs/cloudaudit.googleapis.com%2Fdata_access billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Factivity billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com%2Fdata_access organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Factivity organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Nama layanan
Log audit Cloud Storage menggunakan nama layanan storage.googleapis.com
.
Log audit Insight Penyimpanan menggunakan nama layanan
storageinsights.googleapis.com
.
Untuk mengetahui daftar semua nama layanan Cloud Logging API dan jenis resource yang dimonitor, lihat Memetakan layanan ke resource.
Jenis resource
Log audit Cloud Storage menggunakan jenis resource gcs_bucket
.
Untuk mengetahui daftar semua jenis resource yang dimonitor dan informasi deskriptif Cloud Logging, lihat Jenis resource yang dimonitor.
Mengaktifkan logging audit
Log audit Aktivitas Admin selalu diaktifkan; Anda tidak dapat menonaktifkannya.
Log audit Akses Data dinonaktifkan secara default dan tidak ditulis kecuali jika diaktifkan secara eksplisit.
Untuk informasi tentang cara mengaktifkan sebagian atau semua log audit Akses Data Anda, lihat Mengonfigurasi log audit Akses Data.
Izin dan peran
Izin dan peran IAM menentukan kemampuan Anda untuk mengakses data log audit di resource Google Cloud.
Saat memutuskan Izin dan peran khusus logging mana yang berlaku untuk kasus penggunaan Anda, pertimbangkan hal berikut:
Peran Logs Viewer (
roles/logging.viewer
) memberi Anda akses hanya baca ke log audit Aktivitas Admin, Kebijakan Ditolak, dan Peristiwa Sistem. Jika hanya memiliki peran ini, Anda tidak dapat melihat log audit Akses Data yang ada di bucket_Required
dan_Default
.Peran Private Logs Viewer
(roles/logging.privateLogViewer
) mencakup izin yang ada diroles/logging.viewer
, serta kemampuan untuk membaca log audit Akses Data di bucket_Required
dan_Default
.Perlu diperhatikan bahwa jika log pribadi ini disimpan dalam bucket yang ditentukan pengguna, maka setiap pengguna yang memiliki izin untuk membaca log dalam bucket tersebut dapat membaca log pribadi. Untuk informasi selengkapnya tentang bucket log, lihat Ringkasan perutean dan penyimpanan.
Untuk mengetahui informasi selengkapnya tentang peran dan izin IAM yang berlaku untuk data log audit, lihat Kontrol akses dengan IAM.
Melihat log
Anda dapat membuat kueri untuk semua log audit atau membuat kueri untuk log berdasarkan nama log auditnya. Nama log audit mencakup ID resource project, folder, akun penagihan, atau organisasi Google Cloud yang informasi logging auditnya ingin Anda lihat.
Kueri Anda dapat menentukan kolom LogEntry
yang diindeks, dan jika menggunakan
halaman Log Analytics, yang mendukung Kueri SQL, Anda dapat
melihat hasil kueri sebagai diagram.
Untuk informasi selengkapnya tentang mengkueri log, lihat halaman berikut:
- Membangun kueri di Logs Explorer.
- Membangun kueri menggunakan SQL.
- Contoh kueri untuk insight keamanan.
Konsol
Di Konsol Google Cloud, Anda dapat menggunakan Logs Explorer guna mengambil entri log audit untuk project, folder, atau organisasi Google Cloud Anda:
-
Di Konsol Google Cloud, pilih Logging, lalu pilih Logs Explorer, atau klik tombol berikut:
Pilih project, folder, atau organisasi Google 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 Google 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 Jalankan kueri.
Jika Anda tidak melihat opsi ini, maka tidak ada log audit dengan jenis tersebut yang tersedia di project, folder, atau organisasi Google 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. Untuk informasi tentang cara meringkas entri log di Logs Explorer menggunakan Duet AI, lihat Meringkas entri log dengan bantuan Duet AI.
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 project Google Cloud yang saat ini dipilih.
Untuk membaca entri log audit level project Google Cloud Anda, jalankan perintah berikut:
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
.
API
Saat membangun kueri, sediakan ID resource yang valid di setiap nama log. Misalnya, jika kueri Anda menyertakan PROJECT_ID, ID project yang Anda berikan harus merujuk ke project Google Cloud yang saat ini dipilih.
Misalnya, untuk menggunakan Logging API guna melihat entri log audit level project Anda, lakukan tindakan berikut:
Buka bagian Coba API ini dalam dokumentasi untuk metode
entries.list
.Masukkan string berikut ke dalam bagian Isi permintaan di formulir Coba API ini. Mengklik formulir yang telah diisi ini akan otomatis mengisi isi permintaan, tetapi Anda harus memberikan PROJECT_ID yang valid di setiap nama log.
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Klik Jalankan.
Menambahkan informasi kustom ke log audit
Anda dapat melampirkan informasi kustom ke log audit pada permintaan dengan menyertakan header x-goog-custom-audit-KEY: VALUE
dalam permintaan. Informasi kustom ditambahkan ke kolom metadata
pada protoPayload
di entri log audit.
Saat menambahkan informasi audit kustom, perhatikan pertimbangan berikut:
Setiap
KEY
dapat berisi hingga 64 karakter, sedangkan setiapVALUE
dapat berisi hingga 1.200 karakter.Setiap permintaan dapat berisi hingga 4 entri header.
Contoh entri header
Daftar berikut menunjukkan contoh key-value pair yang dapat Anda sertakan dalam entri header:
x-goog-custom-audit-job: test-job-id-here
x-goog-custom-audit-user: user ID test 1
x-goog-custom-audit-internal-user-id: MATR2022-11
x-goog-custom-audit-tracking-ticket: TT/1516512851
x-goog-custom-audit-justification: Removed customer identity record at customer request
x-goog-custom-audit-customer-id: USCU12315154
Contoh permintaan
Command line
gcloud
gcloud storage hash gs://example_bucket/example_object.jpeg --additional-headers=x-goog-custom-audit-job="job name",x-goog-custom-audit-user="test user"
gsutil
gsutil -h "x-goog-custom-audit-job: job name" \ -h "x-goog-custom-audit-user: test user" rm gs://example_bucket/example_object.jpeg
Library klien
C++
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
C#
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
Go
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
Java
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
Node.js
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
PHP
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
Python
Menambahkan header kustom ke permintaan yang dibuat oleh library klien Python saat ini tidak didukung.
Ruby
Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.
REST API
JSON API
curl -X GET "https://storage.googleapis.com/storage/v1/b/example_bucket/o/example_object" \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-custom-audit-job: job name" \ -H "x-goog-custom-audit-user: test user"
XML API
curl -X GET "https://storage.googleapis.com/example_bucket/example_object" \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "x-goog-custom-audit-job: job name" \ -H "x-goog-custom-audit-user: test user"
Permintaan URL yang ditandatangani
curl -X GET 'storage.googleapis.com/example_bucket?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host,x-goog-custom-audit-job,x-goog-custom-audit-user&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7' \ -H "x-goog-custom-audit-job: job name" \ -H "x-goog-custom-audit-user: test user"
Perhatikan bahwa header audit kustom juga harus disertakan dalam
X-Goog-SignedHeaders
.
Untuk membuat permintaan URL bertanda tangan yang mendukung penambahan header audit kustom, header audit kustom yang ingin Anda gunakan dalam permintaan juga harus disertakan saat Anda membuat URL yang ditandatangani. Contoh:
gcloud alpha storage sign-url gs://example_bucket/example_object.jpeg --private-key-file=example-key.json --duration=10m --headers=x-goog-custom-audit-job:"job name",x-goog-custom-audit-user="test user"
Anda juga dapat menggunakan library klien untuk membuat URL yang ditandatangani saat menetapkan header kustom. Anda tidak dapat menggunakan gsutil untuk membuat URL bertanda tangan yang mendukung penambahan header audit kustom.
Contoh entri log
protoPayload: { @type: "type.googleapis.com/google.cloud.audit.Auditlog", ... metadata: { audit_context: { app_context: "EXTERNAL", audit_info: { x-goog-custom-audit-job: "job name", x-goog-custom-audit-user: "test user" } } } }
Untuk informasi selengkapnya tentang kolom yang disertakan dalam objek protoPayload
dengan
jenis type.googleapis.com/google.cloud.audit.Auditlog
, lihat
dokumentasi referensi AuditLog
.
Merutekan log audit
Anda dapat merutekan log audit ke tujuan yang didukung dengan cara yang sama seperti saat merutekan jenis log lainnya. Berikut adalah beberapa alasan mengapa Anda mungkin ingin merutekan log audit Anda:
Untuk menyimpan log audit dalam jangka waktu yang lebih panjang atau untuk menggunakan kemampuan penelusuran yang lebih canggih, Anda dapat merutekan salinan log audit ke Cloud Storage, BigQuery, atau Pub/Sub. Dengan Pub/Sub, Anda dapat merutekan ke aplikasi lain, repositori lain, dan ke pihak ketiga.
Untuk mengelola log audit di seluruh organisasi, Anda dapat membuat sink gabungan yang dapat merutekan log dari setiap atau semua project Google Cloud di organisasi.
Jika log audit Akses Data yang diaktifkan membuat project Google Cloud Anda melebihi alokasi gratis, Anda dapat membuat sink yang mengecualikan log audit Akses Data dari Logging.
Untuk mendapatkan petunjuk tentang cara merutekan log, lihat Mengonfigurasi dan mengelola sink .
Harga
Untuk mendapatkan informasi mengenai harga Cloud Logging, lihat Harga Google Cloud Operations Suite: Cloud Logging.
Pembatasan
Pembatasan berikut berlaku untuk Cloud Audit Logs dengan Cloud Storage:
- Cloud Audit Logs tidak melacak akses ke objek publik.
- Cloud Audit Logs tidak melacak perubahan yang dibuat oleh fitur Object Lifecycle Management.
- Log Akses Data menyebabkan kegagalan download browser yang diautentikasi saat mencoba mendownload objek non-publik.
Langkah berikutnya
- Coba tutorial Skenario untuk mengekspor Cloud Logging.