Logging audit

Halaman ini berisi penjelasan mengenai log audit yang dibuat oleh Cloud Search sebagai bagian dari Cloud Audit Logs.

Ringkasan

Layanan Google Cloud menulis log audit untuk membantu Anda menjawab pertanyaan, "Siapa yang melakukan apa, di mana, dan kapan" dalam resource Anda. Project Cloud Anda hanya berisi log audit untuk resource yang berada langsung dalam project. Entity lain, seperti folder, organisasi, dan akun Penagihan Cloud, berisi log audit untuk entity itu sendiri.

Untuk membaca ringkasan umum tentang Cloud Audit Logs, lihat Cloud Audit Logs. Agar dapat lebih memahami Cloud Audit Logs, baca Memahami log audit.

Cloud Audit Logs menyediakan log audit berikut untuk setiap project, folder, dan organisasi Cloud:

  • Log audit Aktivitas Admin yang berisi entri yang sesuai dengan metode yang melakukan operasi tulis Admin. Metode yang sesuai dengan Admin Activity:Admin write operations akan dibahas di bagian Audited operations mendatang.
  • Log audit Akses Data yang berisi entri yang sesuai dengan metode yang melakukan operasi Pembacaan admin, Penulisan data, dan Pembacaan data. Metode yang sesuai dengan operasi Akses Data:Pembacaan admin, Akses Data:Penulisan data, Akses Data:Pembacaan data akan dibahas di bagian Operasi yang diaudit mendatang.
  • Log audit Peristiwa Sistem
  • Log audit Kebijakan Ditolak

Cloud Search menulis log audit Aktivitas Admin, yang mencatat operasi yang mengubah konfigurasi atau metadata resource. Anda tidak dapat menonaktifkan log audit Aktivitas Admin.

Cloud Search hanya akan menulis log audit Akses Data jika diaktifkan secara eksplisit. Log audit Akses Data berisi panggilan API yang membaca konfigurasi atau metadata resource, serta panggilan API berbasis pengguna yang membuat, mengubah, atau membaca data resource yang disediakan pengguna.

Cloud Search tidak menulis log audit Peristiwa Sistem.

Cloud Search tidak menulis log audit Kebijakan Ditolak.

Operasi yang diaudit

Tabel berikut merangkum operasi API yang sesuai untuk setiap jenis log audit di Cloud Search:

Kategori log audit Operasi Cloud Search
Aktivitas Admin: Penulisan admin indexing.datasources.updateSchema
indexing.datasources.deleteSchema
settings.datasources.create
settings.datasources.delete
settings.datasources.update
settings.searchapplications.create
settings.searchapplications.delete
settings.searchapplications.reset
settings.searchapplications.update
settings.updateCustomer
cloudsearch.IdentitySourceService.create
cloudsearch.IdentitySourceService.update
cloudsearch.IdentitySourceService.delete
Akses Data: Baca admin indexing.datasources.getSchema
settings.datasources.get
settings.datasources.list
settings.searchapplications.get
settings.searchapplications.list
settings.getCustomer
cloudsearch.IdentitySourceService.get
cloudsearch.IdentitySourceService.list
Akses Data: Penulisan data indexing.datasources.items.delete
indexing.datasources.items.deleteQueueItems
indexing.datasources.items.index
indexing.datasources.items.poll
indexing.datasources.items.push
indexing.datasources.items.unreserve
indexing.datasources.items.upload
media.upload
Akses Data: Data dibaca indexing.datasources.items.get
indexing.datasources.items.list
operations.get
operations.list
debug.datasources.items.checkAccess
debug.datasources.items.searchByViewUrl
stats.getIndex
stats.getQuery
stats.getSession
stats.getUser
stats.index.datasources.get
stats.query.searchapplications.get
stats.session.searchapplications.get
stats.user.search applications.get
debug.identitysources.items.listForunmappedidentity
debug.identitysources.unmappedids.list
debug.datasources.items.unmappedids.list
query.sources.list
query.suggest
query.search
stats.getSearchapplication

Format log audit

Entri log audit, yang dapat dilihat di Cloud Logging menggunakan Logs Explorer, Cloud Logging API, atau alat command line gcloud, mencakup objek berikut:

Entri log itu sendiri, yang merupakan objek jenis 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.

Informasi audit khusus layanan opsional, yang merupakan objek khusus layanan. Untuk integrasi sebelumnya, objek ini disimpan di kolom serviceData dari objek AuditLog; integrasi berikutnya menggunakan kolom metadata.

Untuk kolom lain dalam objek ini, dan cara menafsirkannya, tinjau Memahami log audit.

Nama log

Nama resource Cloud Audit Logs menunjukkan project Cloud atau entity Google Cloud lainnya yang memiliki log audit, dan apakah log berisi data logging audit Aktivitas Admin, Akses Data, Kebijakan Ditolak, atau Peristiwa Sistem. Misalnya, berikut ini menunjukkan nama log untuk log audit Aktivitas Admin level project dan log audit Akses Data organisasi. Variabel menunjukkan project dan ID organisasi.

projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access

Nama layanan

Log audit Cloud Search menggunakan nama layanan cloudsearch.googleapis.com.

Jenis resource

Log audit Cloud Search menggunakan jenis resource audited_resource untuk semua log audit.

Untuk daftar jenis resource lainnya, lihat Jenis resource yang dimonitor.

Mengaktifkan logging audit

Secara default, logging audit dinonaktifkan untuk Cloud Search API. Untuk mengaktifkan logging audit untuk Google Cloud Search:

  1. (opsional) Jika Anda belum membuat project Google Cloud Platform untuk menyimpan log, lihat Mengonfigurasi akses ke Google Cloud Search API.

  2. Dapatkan project ID untuk Google Cloud tempat Anda ingin menyimpan log. Untuk mempelajari cara mendapatkan ID project, lihat Mengidentifikasi project.

  3. Untuk mengaktifkan logging audit untuk API tertentu, Anda perlu menentukan kategori log yang akan diaktifkan. Untuk API dan kategori terkaitnya, lihat Operasi yang diaudit di awal dokumen ini.

  4. Gunakan metode REST API updateCustomer() untuk memperbarui auditLogSettings dengan kategori log yang akan diaktifkan:

    1. Dapatkan token akses OAuth 2.0 dari Server Otorisasi Google. Untuk mengetahui informasi tentang cara mendapatkan token, lihat langkah 2 di Menggunakan OAuth 2.0 untuk Mengakses Google API. Gunakan salah satu cakupan OAuth berikut saat mendapatkan token akses:

      • https://www.googleapis.com/auth/cloud_search.settings.indexing
      • https://www.googleapis.com/auth/cloud_search.settings
      • https://www.googleapis.com/auth/cloud_search
    2. Jalankan perintah curl berikut.

    curl --request PATCH \
    'https://cloudsearch.googleapis.com/v1/settings/customer?updateMask=auditLoggingSettings&key=[YOUR_API_KEY]' \
    --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
    --header 'Content-Type: application/json' \
    --data '{"auditLoggingSettings": { "project": "projects/PROJECT_ID", "CATEGORY1": "true", "CATEGORY2": "true" } }'
    

    Dengan keterangan:

    • YOUR_ACCESS_TOKEN adalah token akses OAuth 2.0 yang diperoleh pada langkah 4a.
    • PROJECT_ID adalah project ID yang diperoleh di langkah 2.
    • CATEGORY1, CATEGORY2, adalah kategori yang Anda pilih untuk diaktifkan di langkah 3. Nilai yang valid adalah logAdminReadActions, logDataWriteActions, dan logDataReadActions. Tindakan tulis admin diaktifkan secara default dan tidak dapat dinonaktifkan. Jika menginginkan logging audit untuk metode kueri, Anda harus mengaktifkan kategori Operasi baca data.

    Setelah memperbarui AuditLoggingSettings, permintaan lebih lanjut ke Cloud Search API akan menghasilkan log audit di project ID yang ditentukan dalam AuditLoggingSettings.

  5. Pencatatan audit untuk metode kueri mengharuskan kategori Pembacaan data diaktifkan (dilakukan pada langkah 4). Untuk mengaktifkan logging audit untuk metode kueri (query.sources.list, query.suggest, dan query.search), ikuti langkah-langkah tambahan berikut:

    1. Untuk setiap aplikasi penelusuran yang ingin Anda aktifkan logging auditnya, ambil namanya. Nama harus dalam bentuk searchapplications/<search_application_id>.

    2. Gunakan nama untuk memanggil settings.searchapplications.update dengan enableAuditLog ditetapkan ke true.

  6. Untuk mengaktifkan logging audit untuk panggilan dari cloudsearch.google.com, pastikan kategori Pembacaan data diaktifkan (langkah 4). Selain itu, lakukan langkah 5b dengan name dari searchapplications/default .

Setelah diaktifkan, log dapat dilihat di bagian Logs Explorer di Konsol Google Cloud. Gunakan filter berikut untuk hanya melihat log audit Cloud Search:

protoPayload.serviceName="cloudsearch.googleapis.com"

Untuk mengetahui informasi tentang cara melihat log, lihat Ringkasan Logs Explorer.

Izin log audit

Izin dan peran Identity and Access Management menentukan log audit mana yang dapat Anda lihat atau ekspor. Log berada di project Cloud dan di beberapa entity lain, termasuk organisasi, folder, dan akun Penagihan Cloud. Untuk mengetahui informasi selengkapnya, lihat Memahami peran.

Untuk melihat log audit Aktivitas Admin, Anda harus memiliki salah satu peran IAM berikut dalam project yang berisi log audit Anda:

  • Pemilik Project, Editor Project, atau Viewer Project.
  • Peran Logs Viewer logging
  • Peran IAM kustom dengan izin IAM logging.logEntries.list

Untuk melihat log audit Akses Data, Anda harus memiliki salah satu peran berikut dalam project yang berisi log audit Anda:

Jika Anda menggunakan log audit dari entity non-project, seperti organisasi, ubah peran project Cloud ke peran organisasi yang sesuai.

Melihat log

Untuk menemukan dan melihat log audit, Anda harus mengetahui ID project, folder, atau organisasi Cloud yang informasi logging auditnya ingin Anda lihat. Anda dapat menentukan lebih lanjut kolom LogEntry lainnya yang diindeks, seperti resource.type; untuk mengetahui detailnya, tinjau Membuat kueri di Logs Explorer.

Berikut adalah nama log audit yang menyertakan variabel untuk ID project, folder, atau organisasi Cloud:

   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

   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

Anda memiliki beberapa opsi untuk melihat entri log audit Anda.

Konsol

Anda dapat menggunakan Logs Explorer di Cloud Console untuk mengambil entri log audit untuk project Cloud Anda:

  1. Di Cloud Console, buka halaman Logging > Logs Explorer.

    Buka halaman Logs Explorer

  2. Di halaman Logs Explorer, pilih project Cloud yang sudah ada.

  3. Di panel Query builder, lakukan hal berikut:

    • Di Resource, pilih jenis 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.

    Jika Anda tidak melihat opsi ini, berarti tidak ada log audit dengan jenis tersebut yang tersedia di project Cloud.

    Untuk mengetahui detail selengkapnya tentang pembuatan kueri menggunakan Logs Explorer baru, lihat Membuat kueri di Logs Explorer.

gcloud

gcloud menyediakan antarmuka command line ke Logging API. Berikan PROJECT_ID, FOLDER_ID, atau ORGANIZATION_ID yang valid di tiap nama log.

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 mengetahui informasi selengkapnya tentang penggunaan alat gcloud, lihat gcloud logging read.

API

Saat membuat kueri, ganti variabel dengan nilai yang valid, ganti nama atau ID log audit level project, level folder, atau level organisasi yang sesuai seperti yang tercantum dalam nama log audit. Misalnya, jika kueri Anda menyertakan PROJECT_ID, ID project yang Anda berikan harus merujuk ke project Cloud yang saat ini dipilih.

Untuk menggunakan Logging API guna melihat entri log audit Anda, lakukan langkah berikut:

  1. Buka bagian Coba API ini dalam dokumentasi untuk metode entries.list.

  2. Masukkan string berikut ke dalam bagian Isi permintaan di formulir Coba API ini. Mengklik formulir yang telah diisi otomatis ini akan otomatis mengisi bagian 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"
    }
    
  3. Klik Jalankan.

Untuk mengetahui detail selengkapnya tentang kueri, lihat Bahasa kueri logging.

Untuk mendapatkan contoh entri log audit dan cara mencari informasi yang paling penting di dalamnya, lihat Memahami log audit.

Mengekspor log audit

Anda dapat mengekspor log audit dengan cara yang sama seperti saat mengekspor jenis log lainnya. Untuk mengetahui cara mengekspor log Anda, lihat Mengekspor log. Berikut adalah beberapa penerapan dari ekspor log audit:

  • Untuk menyimpan log audit dalam jangka waktu yang lebih lama atau menggunakan kemampuan penelusuran yang lebih andal, Anda dapat mengekspor salinan log audit Anda ke Cloud Storage, BigQuery, atau Pub/Sub. Dengan Pub/Sub, Anda dapat mengekspor ke aplikasi lain, repositori lain, dan ke pihak ketiga.

  • Untuk mengelola log audit di seluruh organisasi, Anda dapat membuat sink gabungan yang dapat mengekspor log dari satu atau semua project Cloud di organisasi.

  • Jika log audit Akses Data yang diaktifkan membuat project Cloud Anda melebihi alokasi log-nya, Anda dapat mengekspor dan mengecualikan log audit Akses Data dari Logging. Untuk mengetahui detailnya, lihat Mengecualikan log.

Harga dan retensi

Cloud Logging tidak mengenakan biaya kepada Anda untuk log audit yang tidak dapat dinonaktifkan, termasuk semua log audit Aktivitas Admin. Cloud Logging mengenakan biaya kepada Anda untuk log audit Akses Data yang secara eksplisit Anda minta.

Untuk mengetahui informasi selengkapnya tentang harga log audit, lihat harga Google Cloud Operations Suite.

Durasi penyimpanan yang terkait dengan log audit Cloud Search adalah:

  • Log Aktivitas Admin (atau Tulis Admin) - Log ini disimpan selama 400 hari.
  • Log Akses Data (Pembacaan Admin, Penulisan Data, dan Pembacaan Data) - Log ini disimpan selama 30 hari.

Untuk informasi selengkapnya tentang durasi penyimpanan, lihat Periode retensi log.

Batasan saat ini

Logging audit Cloud Search saat ini memiliki batasan berikut:

  • Ukuran entri log harus kurang dari 512 KB. Jika ukurannya bertambah melebihi 512 KB, respons akan dihapus dari entri log. Jika tindakan tersebut tidak mengurangi ukuran menjadi 512 KB atau lebih rendah, permintaan akan dihapus. Terakhir, jika ukurannya masih melebihi 512 KB, entri log akan dihapus.

  • Isi respons tidak dicatat ke dalam log untuk metode list(), get(), dan suggest(). Namun, status respons tersedia.

  • Hanya panggilan Query API dari cloudsearch.google.com (jika diaktifkan) dan aplikasi penelusuran pelanggan yang dicatat dalam log.

  • Untuk panggilan search(), hanya Query, RequestOptions, dan DataSourceRestriction yang dicatat dalam permintaan. Dalam respons, hanya URL dan metadata (sumber dan objectType) untuk setiap SearchResult yang diaudit.

  • Panggilan yang dikeluarkan ke backend Cloud Search dan sesuai dengan ekspor data tidak diaudit.