Cloud Audit Logs dengan Cloud Storage

Halaman ini memberikan informasi tambahan untuk menggunakan Cloud Audit Logs dengan Cloud Storage. Gunakan Cloud Audit Logs untuk membuat log operasi API yang dilakukan di Cloud Storage.

Ringkasan

LayananTrusted Cloud by S3NS menulis log audit untuk membantu Anda menjawab pertanyaan, "Siapa yang melakukan apa, di mana, dan kapan?" dalam resource Trusted Cloud Anda. Anda juga dapat melampirkan informasi kustom ke log audit untuk mengetahui informasi yang lebih terperinci tentang bagaimana resource diakses.

Project Trusted Cloud Anda hanya berisi log audit untuk resource yang berada langsung dalam project Trusted Cloud . Resource Trusted 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 yang melakukan hal berikut:

    • mengubah akses ke resource Cloud Storage
    • memulihkan atau memindahkan bucket
    • membuat, menghapus, atau mengubah bucket, folder terkelola, atau konfigurasi laporan inventaris
    • membuat, menjeda, melanjutkan, menonaktifkan, mengupdate, mencantumkan, atau mendapatkan cache Anywhere Cache
  • Log audit Akses Data: Entri untuk operasi yang tidak dilacak dalam log audit Aktivitas Admin. Ada beberapa sub-jenis log audit Akses Data:

    • ADMIN_READ: Entri untuk operasi yang membaca konfigurasi akses, membaca metadata bucket, atau mencantumkan bucket dalam project.

    • DATA_READ: Entri untuk operasi yang membaca atau mencantumkan resource Cloud Storage selain bucket.

    • DATA_WRITE: Entri untuk operasi yang membuat, mengubah, menghapus, atau memulihkan objek atau yang membuat, mengubah, atau menghapus upload multibagian XML API atau yang membuat, menghapus, atau mengganti nama folder.

    Untuk menerima log audit Akses Data, Anda harus mengaktifkannya secara eksplisit.

  • Log audit Peristiwa Sistem: Entri untuk Trusted Cloud operasi yang mengubah konfigurasi resource Cloud Storage. Ini dihasilkan oleh sistem Trusted Cloud dan tidak didorong oleh tindakan pengguna.

Untuk deskripsi yang lebih lengkap tentang jenis log audit, lihat Jenis log audit.

Operasi yang diaudit

Tabel berikut merangkum operasi Cloud Storage yang sesuai untuk setiap jenis log audit:

Jenis log audit Subjenis Operasi Cloud Storage
Aktivitas Admin ADMIN_WRITE
  • Menetapkan/mengubah kebijakan IAM
  • Mengubah ACL objek1
  • Membuat bucket
  • Menghapus bucket
  • Memperbarui metadata bucket
  • Membuat folder terkelola
  • Menghapus folder terkelola
  • Membuat konfigurasi laporan inventaris
  • Memperbarui konfigurasi laporan inventaris
  • Menghapus konfigurasi laporan inventaris
  • Memulihkan bucket yang dihapus sementara
  • Memindahkan lokasi bucket
  • Memperbarui konfigurasi Storage Intelligence untuk project
  • Memperbarui konfigurasi Storage Intelligence untuk folder
  • Memperbarui konfigurasi Storage Intelligence untuk organisasi
  • Membuat konfigurasi set data Storage Insights
  • Memperbarui konfigurasi set data Storage Insights
  • Menghapus konfigurasi set data Storage Insights
  • Menautkan konfigurasi set data Storage Insights
  • Membatalkan tautan konfigurasi set data Storage Insights
  • Membuat cache Anywhere Cache
  • Menjeda cache Anywhere Cache
  • Melanjutkan cache Anywhere Cache
  • Menonaktifkan cache Anywhere Cache
  • Memperbarui cache Anywhere Cache
Akses Data ADMIN_READ
  • Mendapatkan kebijakan IAM
  • Mendapatkan ACL objek
  • Mendapatkan metadata bucket
  • Mencantumkan bucket
Akses Data DATA_READ
  • Mendapatkan data objek
  • Mendapatkan metadata objek
  • Mencantumkan objek
  • Mendapatkan metadata folder
  • Mencantumkan folder
  • Mendapatkan metadata folder terkelola
  • Mencantumkan folder terkelola
  • Menyalin objek2
  • Menyusun objek2
  • Membuat daftar upload multibagian XML API yang sedang berlangsung
  • Membuat daftar bagian upload multibagian XML API
  • Mendapatkan konfigurasi laporan inventaris
  • Membuat daftar konfigurasi laporan inventaris
  • Mendapatkan laporan inventaris
  • Membuat daftar laporan inventaris
  • Mendapatkan konfigurasi Storage Intelligence untuk project
  • Mendapatkan konfigurasi Storage Intelligence untuk folder
  • Mendapatkan konfigurasi Storage Intelligence untuk organisasi
  • Mendapatkan konfigurasi set data Storage Insights
  • Mencantumkan konfigurasi set data Storage Insights
  • Mencantumkan cache Anywhere Cache
  • Mendapatkan cache Anywhere Cache
Akses Data DATA_WRITE
  • Membuat objek
  • Menghapus objek
  • Memulihkan objek yang dihapus sementara
  • Memperbarui metadata objek non-ACL
  • Menyalin objek1
  • Menyusun objek1
  • Memulai upload multibagian XML API
  • Membuat bagian dalam upload multibagian XML API
  • Membatalkan upload multibagian XML API
  • Menyelesaikan upload multibagian XML API
  • Membuat folder
  • Menghapus folder
  • Mengganti nama folder
Peristiwa Sistem
  • Mulai proses pemindahan bucket3
  • Akhir proses pemindahan bucket

1 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 dibuat untuk pembacaan atau penulisan ke objek tersebut atau ACL-nya.

2 Operasi ini melibatkan pembacaan dan penulisan data. Akibatnya, setiap operasi ini menghasilkan dua entri log.

3 Pemindahan bucket mungkin tidak segera dimulai setelah permintaan awal. Log peristiwa sistem ditulis saat proses benar-benar dimulai.

Pembatasan

Batasan berikut berlaku untuk Cloud Audit Logs dengan Cloud Storage:

Jika Anda memerlukan kemampuan logging dalam salah satu kasus ini, pertimbangkan untuk menggunakan log penggunaan Cloud Storage.

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 kolom protoPayload entri log.

    • Dalam kolom protoPayload, kolom metadata mencakup informasi khusus untuk Cloud Storage. Misalnya, log permintaan GET objek operasi penulisan ulang menyertakan kolom destination di kolom metadata log auditnya untuk menentukan bucket tempat data telah disalin.

    • Dalam kolom protoPayload, informasi audit tambahan khusus untuk Cloud Storage disertakan dalam kolom permintaan dan respons saat Mode logging audit mendetail diterapkan. 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 projectTrusted Cloud atau entity Trusted Cloud lainnya yang memiliki log audit, dan apakah log berisi data log 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.

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 diaktifkan secara eksplisit.

Untuk mengetahui 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 Trusted 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 di roles/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 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:

  1. Di konsol Trusted Cloud , buka halaman Logs Explorer:

    Buka Logs Explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Logging.

  2. Pilih project, folder, atau organisasi Trusted Cloud yang sudah ada.

  3. 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"
    
  4. 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.

Menambahkan informasi kustom ke log audit

Anda dapat melampirkan informasi kustom ke permintaan untuk disertakan dalam log audit dengan menyertakan header x-goog-custom-audit-KEY: VALUE dalam permintaan. Permintaan XML API juga mendukung penggunaan parameter kueri x-goog-custom-audit-KEY=VALUE. Informasi kustom ditambahkan ke kolom metadata dari protoPayload dalam entri log audit.

Saat menambahkan informasi audit kustom, perhatikan pertimbangan berikut:

  • Setiap KEY, dengan menyertakan awalan x-goog-custom-audit-, dapat berisi hingga 64 karakter, sedangkan setiap VALUE dapat berisi hingga 1.200 karakter.

  • Setiap permintaan dapat berisi hingga 4 entri header atau parameter yang digabungkan.

Contoh entri header

Daftar berikut menunjukkan contoh pasangan nilai kunci 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 storage hash gs://example_bucket/example_object.jpeg --additional-headers=x-goog-custom-audit-job="job name",x-goog-custom-audit-user="test user"

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

Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.

Ruby

Untuk mempelajari cara menambahkan header kustom ke permintaan, lihat Menambahkan header kustom.

REST API

JSON API

curl -X GET "https://storage.s3nsapis.fr/storage/v1/b/example_bucket/o/example_object" \
-H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
-H "x-goog-custom-audit-job: job name" \
-H "x-goog-custom-audit-user: test user"

XML API

curl -X GET "https://storage.s3nsapis.fr/example_bucket/example_object" \
-H "Authorization: Bearer ya29.AHES6ZRVmB7fkLtd1XTmq6mo0S1wqZZi3-Lh_s-6Uw7p8vtgSwg" \
-H "x-goog-custom-audit-job: job name" \
-H "x-goog-custom-audit-user: test user"

Permintaan URL yang ditandatangani

curl -X GET 'storage.s3nsapis.fr/example_bucket?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.s3ns-system.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 bertanda tangan. Contoh:

gcloud 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 bertanda tangan saat Anda menetapkan header kustom.

Sebagai alternatif untuk menggunakan header bertanda tangan, Anda dapat menggunakan parameter kueri untuk meneruskan entri audit kustom.

curl -X GET 'storage.s3nsapis.fr/example_bucket?X-Goog-Custom-Audit-Key=Value&X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.s3ns-system.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7'

Parameter kueri ini harus disertakan saat Anda membuat URL yang ditandatangani. Contoh:

gcloud storage sign-url gs://example_bucket/example_object.jpeg --private-key-file=example-key.json --duration=10m --query-params=x-goog-custom-audit-job=job_name,x-goog-custom-audit-user=test_user

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 mengetahui 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 log audit 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 Trusted Cloud project di organisasi.

Untuk mengetahui petunjuk tentang cara merutekan log, lihat Mengonfigurasi dan mengelola sink .