Informationen zu Audit-Logs, die von Vertex AI Workbench erstellt wurden, finden Sie auf den Seiten zu Audit-Logging für Verwaltete Notebooks oder Nutzerverwaltete Notebooks.
In diesem Dokument werden die Audit-Logs beschrieben, die von Vertex AI im Rahmen von Cloud-Audit-Logs erstellt werden.
Überblick
Google Cloud-Dienste schreiben Audit-Logs, aus denen in Bezug auf Ihre Google Cloud-Ressourcen hervorgeht, wer was wo und wann getan hat.
Ihre Google Cloud-Projekte enthalten nur die Audit-Logs für Ressourcen, die sich direkt im Google Cloud-Projekt befinden. Andere Google Cloud-Ressourcen wie Ordner, Organisationen und Rechnungskonten enthalten jeweils eigene Audit-Logs.
Eine allgemeine Übersicht über Cloud-Audit-Logs finden Sie unter Cloud-Audit-Logs. Detaillierte Informationen zum Format von Audit-Logs finden Sie unter Audit-Logs verstehen.
Verfügbare Audit-Logs
Für Vertex AI sind die folgenden Arten von Audit-Logs verfügbar:
-
Audit-Logs zur Administratoraktivität
Umfasst „Admin Write“-Vorgänge, die Metadaten oder Konfigurationsinformationen schreiben.
Sie können Audit-Logs zu Administratoraktivitäten nicht deaktivieren.
-
Audit-Logs zum Datenzugriff
Umfasst „Admin Read“-Vorgänge“, die Metadaten oder Konfigurationsinformationen lesen. Umfasst auch „Data Read“- und „Data Write“-Vorgänge, die von Nutzern bereitgestellte Daten lesen oder schreiben.
Um Datenzugriffs-Audit-Logs zu erhalten, müssen Sie sie explizit aktivieren.
Ausführlichere Beschreibungen der Audit-Logtypen finden Sie unter Arten von Audit-Logs.
Geprüfte Vorgänge
In der folgenden Tabelle wird zusammengefasst, welche API-Vorgänge den einzelnen Audit-Log-Typen in Vertex AI entsprechen:
Audit-Logkategorie | Vertex-KI-Vorgänge |
---|---|
Audit-Logs zur Administratoraktivität | 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 |
Audit-Logs zum Datenzugriff (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 |
Audit-Logs zum Datenzugriff (DATA_READ) | datasets.dataItems.list endpoints.explain endpoints.predict endpoints.rawPredict featurestores.batchReadFeatureValues featurestores.entityTypes.exportFeatureValues featurestores.entityTypes.readFeatureValues featurestores.entityTypes.streamingReadFeatureValues indexEndpoints.findNeighbors modelDeploymentMonitoringJobs.searchModelDeploymentMonitoringStatsAnomalies modelMonitors.searchModelMonitoringAlerts modelMonitors.searchModelMonitoringStats |
Audit-Logs zum Datenzugriff (DATA_WRITE) | featurestores.entityTypes.importFeatureValues indexes.create indexes.patch indexes.removeDatapoints indexes.upsertDatapoints |
Audit-Log-Format
Audit-Logeinträge umfassen folgende Komponenten:
Den Logeintrag selbst. Dabei handelt es sich um ein Objekt vom Typ
LogEntry
. Interessante Felder sind unter anderem:logName
enthält die Ressourcen-ID und den Audit-Logtyp.resource
enthält das Ziel zum geprüften Vorgang.timeStamp
enthält die Uhrzeit des geprüften VorgangsprotoPayload
enthält die geprüften Informationen
Die Audit-Logdaten, bei denen es sich um ein
AuditLog
-Objekt handelt, das sich im FeldprotoPayload
des Logeintrags befindetOptionale dienstspezifische Auditinformationen. Das Objekt ist dienstspezifisch. Bei früheren Integrationen befindet sich dieses Objekt im Feld
serviceData
desAuditLog
-Objekts. Spätere Integrationen verwenden das Feldmetadata
.
Informationen zu anderen Feldern in diesen Objekten sowie zu deren Interpretation finden Sie unter Audit-Logs verstehen.
Logname
Lognamen von Cloud-Audit-Logs enthalten Ressourcenkennungen, die das Google Cloud-Projekt oder eine andere Google Cloud-Entität angeben, die der Inhaber der Audit-Logs ist. Außerdem zeigen sie an, ob das Log Audit-Logging-Daten zu Administratoraktivitäten, Datenzugriff, Richtlinienverweigerung oder Audit-Systemereignissen enthält.
Im Folgenden finden Sie die Namen der Audit-Logs, einschließlich Variablen für die Ressourcenkennungen:
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
Dienstname
Vertex AI-Audit-Logs verwenden den Dienstnamen aiplatform.googleapis.com
.
Eine vollständige Liste aller Cloud Logging API-Dienstnamen und des jeweiligen überwachten Ressourcentyps finden Sie unter Dienste Ressourcen zuordnen.
Ressourcentypen
Vertex AI-Audit-Logs verwenden bei allen Audit-Logs den Ressourcentyp audited_resource
.
Eine Liste aller überwachten Cloud Logging-Ressourcentypen und beschreibende Informationen finden Sie unter Überwachte Ressourcentypen.
Aufruferidentitäten
Die IP-Adresse des Aufrufers wird im Feld RequestMetadata.caller_ip
des AuditLog
-Objekts gespeichert. In Logging können bestimmte Aufruferidentitäten und IP-Adressen entfernt werden.
Informationen dazu, welche Informationen in Audit-Logs entfernt werden, finden Sie unter Aufruferidentitäten in Audit-Logs.
Audit-Logging aktivieren
Audit-Logs zu Administratoraktivitäten sind immer aktiviert. Sie können sie nicht deaktivieren.
Audit-Logs zum Datenzugriff sind standardmäßig deaktiviert und werden nur geschrieben, wenn sie explizit aktiviert werden. Eine Ausnahme bilden die Audit-Logs zum Datenzugriff für BigQuery, die nicht deaktiviert werden können.
Informationen zum Aktivieren einiger oder aller Audit-Logs zum Datenzugriff finden Sie unter Audit-Logs zum Datenzugriff aktivieren.
Berechtigungen und Rollen
IAM-Berechtigungen und -Rollen bestimmen Ihre Fähigkeit, auf Audit-Logdaten in Google Cloud-Ressourcen zuzugreifen.
Berücksichtigen Sie Folgendes bei der Entscheidung, welche Logging-spezifischen Berechtigungen und Rollen für Ihren Anwendungsfall gelten:
Die Rolle „Log-Betrachter“ (
roles/logging.viewer
) bietet Ihnen Lesezugriff auf die Audit-Logs zu Administratoraktivitäten, abgelehnten Richtlinien und Systemereignissen. Wenn Sie nur diese Rolle haben, können Sie keine Audit-Logs zum Datenzugriff aufrufen, die sich im Bucket_Default
befinden.Die Rolle „Betrachter privater Logs“ (
(roles/logging.privateLogViewer
) enthält die Berechtigungen, die inroles/logging.viewer
enthalten sind, sowie die Möglichkeit, Audit-Logs zum Datenzugriff im Bucket_Default
zu lesen.Wenn diese privaten Logs in benutzerdefinierten Buckets gespeichert sind, kann jeder Nutzer, der Berechtigungen zum Lesen von Logs in diesen Buckets hat, die privaten Logs lesen. Weitere Informationen zu Log-Buckets finden Sie unter Routing und Speicher.
Weitere Informationen zu den IAM-Berechtigungen und -Rollen, die für Audit-Logdaten gelten, finden Sie unter Zugriffssteuerung mit IAM.
Logs ansehen
Sie können nach allen Audit-Logs oder nach dem Namen des Audit-Logs abfragen. Der Name des Audit-Logs enthält die Ressourcenkennung des Google Cloud-Projekts, des Ordners, des Rechnungskontos oder der Organisation, für die Sie Audit-Logging-Informationen aufrufen möchten.
Sie können in Ihren Abfragen indexierte LogEntry
-Felder angeben.
Weitere Informationen zum Abfragen von Protokollen finden Sie unter Abfragen im Log-Explorer erstellen.
Im Log-Explorer können Sie einzelne Logeinträge aufrufen und filtern. Wenn Sie Gruppen von Logeinträgen mit SQL analysieren möchten, verwenden Sie die Seite Log Analytics. Weitere Informationen finden Sie unter:
- Logs in Log Analytics abfragen und ansehen
- Beispielabfragen für Sicherheitsinformationen.
- Abfrageergebnisse in Diagrammen darstellen
Die meisten Audit-Logs können in Cloud Logging mithilfe der Google Cloud Console, der Google Cloud CLI oder der Logging API aufgerufen werden. Für Audit-Logs im Zusammenhang mit der Abrechnung können Sie jedoch nur die Google Cloud CLI oder die Logging API verwenden.
Console
In der Google Cloud Console können Sie mit dem Log-Explorer die Audit-Logeinträge für Ihr Google Cloud-Projekt, Ihren Ordner oder Ihre Organisation abrufen:
-
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Wählen Sie ein vorhandenes Google Cloud-Projekt, einen Ordner oder eine Organisation aus.
Wenn Sie alle Audit-Logs aufrufen möchten, geben Sie eine der folgenden Abfragen in das Feld des Abfrageeditors ein und klicken dann auf Abfrage ausführen:
logName:"cloudaudit.googleapis.com"
protoPayload."@type"="type.googleapis.com/google.cloud.audit.AuditLog"
So rufen Sie im Bereich Query Builder die Audit-Logs für eine bestimmte Ressource und einen bestimmten Audit-Logtyp auf:
Wählen Sie unter Ressourcentyp die Google Cloud-Ressource aus, deren Audit-Logs angezeigt werden sollen.
Wählen Sie unter Logname den Audit-Logtyp aus, den Sie sehen möchten:
- Wählen Sie für Audit-Logs zu Administratoraktivitäten die Option activity aus.
- Wählen Sie für Audit-Logs zum Datenzugriff die Option data_access aus.
- Wählen Sie für Audit-Logs zu Systemereignissen die Option system_event aus.
- Wählen Sie für Audit-Logs zu Richtlinienverstößen die Option policy aus.
Klicken Sie auf Abfrage ausführen.
Wenn diese Optionen nicht angezeigt werden, sind im Google Cloud-Projekt, im Ordner oder in der Organisation keine Audit-Logs dieses Typs verfügbar.
Wenn beim Aufrufen von Logs im Log-Explorer Probleme auftreten, lesen Sie die Informationen zur Fehlerbehebung.
Weitere Informationen zu Abfragen mit dem Log-Explorer finden Sie unter Abfragen im Log-Explorer erstellen.
gcloud
Die Google Cloud CLI bietet eine Befehlszeile für die Logging API. Geben Sie in jedem Lognamen eine gültige Ressourcenkennung an. Wenn die Abfrage beispielsweise eine PROJECT_ID enthält, muss sich die von Ihnen angegebene Projekt-ID auf das aktuell ausgewählte Google Cloud-Projekt beziehen.
Führen Sie den folgenden Befehl aus, um Ihre Audit-Logeinträge auf Google Cloud-Projektebene zu lesen:
gcloud logging read "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" \ --project=PROJECT_ID
Führen Sie den folgenden Befehl aus, um Ihre Audit-Logeinträge auf Ordnerebene zu lesen:
gcloud logging read "logName : folders/FOLDER_ID/logs/cloudaudit.googleapis.com" \ --folder=FOLDER_ID
Führen Sie den folgenden Befehl aus, um Ihre Audit-Logeinträge auf Organisationsebene zu lesen:
gcloud logging read "logName : organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com" \ --organization=ORGANIZATION_ID
Führen Sie den folgenden Befehl aus, um Ihre Audit-Logeinträge auf Cloud-Rechnungskontoebene zu lesen:
gcloud logging read "logName : billingAccounts/BILLING_ACCOUNT_ID/logs/cloudaudit.googleapis.com" \ --billing-account=BILLING_ACCOUNT_ID
Fügen Sie Ihrem Befehl das Flag --freshness
hinzu, um Logs zu lesen, die mehr als einen Tag alt sind.
Weitere Informationen zur Verwendung der gcloud CLI erhalten Sie unter gcloud logging read
.
REST
Geben Sie beim Erstellen von Abfragen in jedem Lognamen eine gültige Ressourcenkennung an. Wenn die Abfrage beispielsweise eine PROJECT_ID enthält, muss sich die von Ihnen angegebene Projekt-ID auf das aktuell ausgewählte Google Cloud-Projekt beziehen.
So können Sie beispielsweise mit der Logging API Ihre Audit-Logeinträge auf Projektebene aufrufen:
Rufen Sie den Abschnitt Diese API testen in der Dokumentation für die Methode
entries.list
auf.Geben Sie im Teil Anfragetext des Formulars Diese API testen Folgendes ein. Wenn Sie auf dieses vorausgefüllte Formular klicken, wird der Anfragetext automatisch übernommen. Sie müssen jedoch in jedem der Lognamen eine gültige PROJECT_ID angeben.
{ "resourceNames": [ "projects/PROJECT_ID" ], "pageSize": 5, "filter": "logName : projects/PROJECT_ID/logs/cloudaudit.googleapis.com" }
Klicken Sie auf Ausführen.
Audit-Logs weiterleiten
Sie können Audit-Logs auf dieselbe Weise wie andere Arten von Logs an unterstützte Ziele weiterleiten. Im Folgenden erfahren Sie, warum es sinnvoll sein kann, Ihre Audit-Logs weiterzuleiten:
Sie können Kopien Ihrer Audit-Logs an Cloud Storage, BigQuery oder Pub/Sub weiterleiten, um Audit-Logs für einen längeren Zeitraum aufzubewahren oder leistungsfähigere Suchfunktionen zu nutzen. Mit Pub/Sub haben Sie die Möglichkeit, die Logs an andere Anwendungen, andere Repositories und Dritte weiterzuleiten.
Zum organisationsübergreifenden Verwalten Ihrer Audit-Logs erstellen Sie aggregierte Senken, mit denen sich Logs aus beliebigen oder allen Google Cloud-Projekten in der Organisation weiterleiten lassen.
- Wenn die aktivierten Audit-Logs zum Datenzugriff dazu führen, dass Ihre Google Cloud-Projekte Ihre Logkontingente überschreiten, können Sie Senken erstellen, die die Audit-Logs zum Datenzugriff aus Logging ausschließen.
Eine Anleitung zum Weiterleiten von Logs finden Sie unter Logs an unterstützte Ziele weiterleiten.
Preise
Weitere Informationen zu Preisen finden Sie in der Preisübersicht für Cloud Logging.