Jika Anda mencari informasi tentang log audit yang dibuat oleh Vertex AI Workbench, lihat halaman logging audit untuk notebook terkelola atau notebook yang dikelola pengguna.
Dokumen ini menjelaskan log audit yang dibuat oleh Vertex AI 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 Google Cloud.
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 Vertex AI:
-
Log audit Aktivitas Admin
Mencakup operasi "penulisan admin" yang menulis metadata atau informasi konfigurasi.
Anda tidak dapat menonaktifkan log audit Aktivitas Admin.
-
Log audit Akses Data
Mencakup operasi "pembacaan admin" yang membaca metadata atau informasi konfigurasi. Juga mencakup operasi "pembacaan data" dan "penulisan data" yang membaca atau menulis data yang disediakan pengguna.
Untuk menerima log audit Akses Data, Anda harus mengaktifkannya secara eksplisit.
Untuk deskripsi yang lebih lengkap tentang jenis log audit, lihat Jenis log audit.
Operasi yang diaudit
Tabel berikut merangkum operasi API yang sesuai untuk setiap jenis log audit di Vertex AI:
Kategori log audit | Operasi Vertex AI |
---|---|
Log audit Aktivitas Admin | batchPredictionJobs.cancel batchPredictionJobs.create batchPredictionJobs.delete customJobs.cancel customJobs.create customJobs.delete dataLabelingJobs.cancel dataLabelingJobs.create dataLabelingJobs.delete datasets.create datasets.delete datasets.export datasets.import datasets.patch endpoints.create endpoints.delete endpoints.deployModel endpoints.patch endpoints.undeployModel featurestores.create featurestores.delete featurestores.patch featurestores.setIamPolicy featurestores.entityTypes.create featurestores.entityTypes.delete featurestores.entityTypes.patch featurestores.entityTypes.setIamPolicy featurestores.entityTypes.features.batchCreate featurestores.entityTypes.features.create featurestores.entityTypes.features.delete featurestores.entityTypes.features.patch hyperparameterTuningJobs.cancel hyperparameterTuningJobs.create hyperparameterTuningJobs.delete indexEndpoints.create indexEndpoints.delete indexEndpoints.deployIndex indexEndpoints.mutateDeployedIndex indexEndpoints.patch indexEndpoints.undeployIndex metadataStores.create metadataStores.delete metadataStores.artifacts.create metadataStores.artifacts.delete metadataStores.artifacts.patch metadataStores.artifacts.purge metadataStores.contexts.addContextArtifactsAndExecutions metadataStores.contexts.addContextChildren metadataStores.contexts.create metadataStores.contexts.delete metadataStores.contexts.patch metadataStores.contexts.purge metadataStores.executions.addExecutionEvents metadataStores.executions.create metadataStores.executions.delete metadataStores.executions.patch metadataStores.executions.purge metadataStores.metadataSchemas.create migratableResources.batchMigrate modelDeploymentMonitoringJobs.create modelDeploymentMonitoringJobs.delete modelDeploymentMonitoringJobs.patch modelDeploymentMonitoringJobs.pause modelDeploymentMonitoringJobs.resume models.delete models.deleteVersion models.export models.mergeVersionAliases models.patch models.upload models.evaluations.import models.evaluations.slices.batchImport modelMonitors.create modelMonitors.delete modelMonitors.update modelMonitoringJobs.create modelMonitoringJobs.delete operations.cancel pipelineJobs.cancel pipelineJobs.create pipelineJobs.delete schedules.create schedules.delete schedules.update specialistPools.create specialistPools.delete specialistPools.patch studies.create studies.delete studies.trials.addTrialMeasurement studies.trials.complete studies.trials.create studies.trials.delete studies.trials.stop studies.trials.suggest tensorboards.create tensorboards.delete tensorboards.patch tensorboards.experiments.create tensorboards.experiments.delete tensorboards.experiments.patch tensorboards.experiments.write tensorboards.experiments.runs.batchCreate tensorboards.experiments.runs.create tensorboards.experiments.runs.delete tensorboards.experiments.runs.patch tensorboards.experiments.runs.write tensorboards.experiments.runs.timeSeries.batchCreate tensorboards.experiments.runs.timeSeries.create tensorboards.experiments.runs.timeSeries.delete tensorboards.experiments.runs.timeSeries.patch trainingPipelines.cancel trainingPipelines.create trainingPipelines.delete tuningJobs.cancel tuningJobs.create deploymentResourcePool.create deploymentResourcePool.delete |
Log audit Akses Data (ADMIN_READ) | batchPredictionJobs.get batchPredictionJobs.list customJobs.get customJobs.list dataLabelingJobs.get dataLabelingJobs.list datasets.get datasets.list datasets.annotationSpecs.get datasets.annotations.list datasets.savedQueries.list endpoints.get endpoints.list featurestores.get featurestores.getIamPolicy featurestores.list featurestores.searchFeatures featurestores.entityTypes.get featurestores.entityTypes.getIamPolicy featurestores.entityTypes.list featurestores.entityTypes.features.get featurestores.entityTypes.features.list hyperparameterTuningJobs.get hyperparameterTuningJobs.list indexEndpoints.get indexEndpoints.list indexes.get indexes.delete metadataStores.get metadataStores.list metadataStores.artifacts.get metadataStores.artifacts.list metadataStores.artifacts.queryArtifactLineageSubgraph metadataStores.contexts.get metadataStores.contexts.list metadataStores.contexts.queryContextLineageSubgraph metadataStores.executions.get metadataStores.executions.list metadataStores.executions.queryExecutionInputsAndOutputs metadataStores.metadataSchemas.get metadataStores.metadataSchemas.list migratableResources.search modelDeploymentMonitoringJobs.get modelDeploymentMonitoringJobs.list models.get models.list models.listVersions models.evaluations.get models.evaluations.list models.evaluations.slices.get models.evaluations.slices.list modelMonitors.get modelMonitors.list modelMonitoringJobs.get modelMonitoringJobs.list pipelineJobs.get pipelineJobs.list schedules.get schedules.list specialistPools.get specialistPools.list studies.get studies.list studies.lookup studies.trials.checkTrialEarlyStoppingState studies.trials.get studies.trials.list studies.trials.listOptimalTrials tensorboards.get tensorboards.list tensorboards.experiments.get tensorboards.experiments.list tensorboards.experiments.runs.get tensorboards.experiments.runs.list tensorboards.experiments.runs.timeSeries.batchRead tensorboards.experiments.runs.timeSeries.exportTensorboardTimeSeries tensorboards.experiments.runs.timeSeries.get tensorboards.experiments.runs.timeSeries.list tensorboards.experiments.runs.timeSeries.read tensorboards.experiments.runs.timeSeries.readBlobData trainingPipelines.get trainingPipelines.list tuningJobs.get tuningJobs.list deploymentResourcePool.get deploymentResourcePool.list deploymentResourcePool.queryDeployedModels |
Log audit Akses Data (DATA_READ) | datasets.dataItems.list endpoints.explain endpoints.predict endpoints.rawPredict featurestores.batchReadFeatureValues featurestores.entityTypes.exportFeatureValues featurestores.entityTypes.readFeatureValues featurestores.entityTypes.streamingReadFeatureValues modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies modelMonitors.searchModelMonitoringAlerts modelMonitors.searchModelMonitoringStats |
Log audit Akses Data (DATA_WRITE) | featurestores.entityTypes.importFeatureValues indexes.create indexes.patch indexes.removeDatapoints indexes.upsertDatapoints |
Format log audit
Entri log audit mencakup objek berikut:
Entri log itu sendiri, yang merupakan objek dengan 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 kolomprotoPayload
entri log.Informasi audit khusus layanan opsional, yang merupakan objek khusus layanan. Untuk integrasi sebelumnya, objek ini disimpan di kolom
serviceData
dari objekAuditLog
; integrasi berikutnya menggunakan kolommetadata
.
Untuk kolom lain dalam objek ini, dan cara menafsirkannya, tinjau Memahami log audit.
Nama log
Nama log Cloud Audit Logs mencakup ID resource yang menunjukkan project Google Cloud atau entity Google Cloud lainnya yang memiliki log audit, dan apakah log berisi Aktivitas Admin, Akses Data, Kebijakan Ditolak, atau data logging audit Peristiwa Sistem.
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 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
Nama layanan
Log audit Vertex AI menggunakan nama layanan
aiplatform.googleapis.com
.
Untuk mengetahui daftar lengkap semua nama layanan Cloud Logging API dan jenis resource yang dimonitor, lihat Memetakan layanan ke resource.
Jenis resource
Log audit Vertex AI menggunakan jenis resource
audited_resource
untuk semua log audit.
Untuk mengetahui daftar semua jenis resource yang dimonitor dan informasi deskriptif Cloud Logging, lihat Jenis resource yang dimonitor.
Identitas pemanggil
Alamat IP pemanggil disimpan di kolom RequestMetadata.caller_ip
pada objek AuditLog
. Logging mungkin menyamarkan
identitas pemanggil dan alamat IP tertentu.
Untuk mengetahui informasi tentang informasi yang disamarkan dalam log audit, lihat Identitas pemanggil di log audit.
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 (dengan pengecualian log audit Akses Data untuk BigQuery, yang tidak dapat dinonaktifkan).
Untuk informasi tentang cara mengaktifkan sebagian atau semua log audit Akses Data Anda, lihat Mengaktifkan 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_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_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 mengetahui informasi selengkapnya tentang cara membuat kueri log Anda, lihat halaman berikut:
- Membangun kueri di Logs Explorer.
- Buat kueri dan lihat log di Log Analytics.
- 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, buka halaman Logs Explorer:
Jika Anda menggunakan bilah pencarian untuk menemukan halaman ini, kemudian pilih hasil yang sub judulnya Logging.
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 mengetahui informasi tentang cara meringkas entri log di Logs Explorer menggunakan Gemini, Meringkas entri log dengan bantuan Gemini.
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 Execute.
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 panjang atau untuk menggunakan kemampuan penelusuran yang lebih andal, Anda dapat merutekan salinan log audit Anda 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 project Google Cloud di organisasi.
- Jika log audit Akses Data yang diaktifkan membuat project Google Cloud Anda melebihi alokasi log, Anda dapat membuat sink yang mengecualikan log audit Akses Data dari Logging.
Untuk mendapatkan petunjuk tentang cara merutekan log, lihat Merutekan log ke tujuan yang didukung.
Harga
Untuk mengetahui informasi selengkapnya tentang harga, lihat Ringkasan harga Cloud Logging.