Cloud-Audit-Logs – Übersicht

Dieses Dokument bietet eine konzeptionelle Übersicht über Cloud-Audit-Logs.

Google Cloud-Dienste schreiben Audit-Logs, in denen Administratoraktivitäten und Zugriffe innerhalb Ihrer Google Cloud-Ressourcen aufgezeichnet werden. Anhand von Audit-Logs können Sie in Ihren Google Cloud-Ressourcen mit derselben Transparenz wie in lokalen Umgebungen feststellen, wer was wo und wann getan hat. Wenn Sie Audit-Logs aktivieren, können Ihre Sicherheits-, Audit- und Compliance-Entitäten Google Cloud-Daten und -Systeme auf mögliche Sicherheitslücken oder externen Datenmissbrauch überwachen.

Audit-Logs generierende Google-Dienste

Eine Liste der Google Cloud-Dienste, die Audit-Logs bereitstellen, finden Sie unter Google-Dienste mit Audit-Logs. Es ist davon auszugehen, dass letztendlich alle Google Cloud-Dienste Audit-Logs bereitstellen werden.

Eine Übersicht über Audit-Logs von Google Workspace finden Sie unter Audit-Logs für Google Workspace.

Arten von Audit-Logs

Cloud-Audit-Logs stellen für jedes Google Cloud-Projekt, jeden Ordner und jede Organisation die folgenden Audit-Logs bereit:

Audit-Logs zur Administratoraktivität

Audit-Logs zur Administratoraktivität enthalten Logeinträge für API-Aufrufe oder andere Aktionen, die die Konfiguration oder Metadaten von Ressourcen ändern. In diesen Logs wird beispielsweise aufgezeichnet, wann Nutzer VM-Instanzen erstellen oder Berechtigungen von Identity and Access Management ändern.

Audit-Logs für Administratoraktivitäten werden immer geschrieben. Sie können diese nicht konfigurieren, ausschließen oder deaktivieren. Selbst wenn Sie die Cloud Logging API deaktivieren, werden weiterhin Audit-Logs zur Administratoraktivität generiert.

Eine Liste der Dienste, die Audit-Logs zur Administratoraktivität schreiben, sowie detaillierte Informationen darüber, welche Aktivitäten diese Logs generieren, finden Sie unter Google Cloud-Dienste mit Audit-Logs.

Audit-Logs zum Datenzugriff

Audit-Logs zum Datenzugriff enthalten API-Aufrufe, die die Konfiguration oder Metadaten von Ressourcen lesen, sowie nutzergesteuerte API-Aufrufe, die von Nutzern bereitgestellte Ressourcendaten erstellen, ändern oder lesen.

Öffentlich verfügbare Ressourcen mit den IAM-Richtlinien allAuthenticatedUsers oder allUsers generieren keine Audit-Logs. Ressourcen, auf die ohne Anmeldung in Google Cloud, Google Workspace, Cloud Identity oder Drive Enterprise zugegriffen werden kann, generieren keine Audit-Logs. So werden Endnutzeridentitäten und -informationen geschützt.

Audit-Logs zum Datenzugriff sind – mit Ausnahme von BigQuery-Audit-Logs zum Datenzugriff – standardmäßig deaktiviert, da diese recht umfangreich sein können. Wenn Audit-Logs zum Datenzugriff für andere Google Cloud-Dienste als BigQuery geschrieben werden sollen, müssen Sie diese explizit aktivieren. Wenn Sie die Logs aktivieren, kann dies dazu führen, dass Ihrem Google Cloud-Projekt die zusätzliche Lognutzung in Rechnung gestellt wird. Eine Anleitung zum Aktivieren und Konfigurieren von Audit-Logs zum Datenzugriff finden Sie unter Audit-Logs zum Datenzugriff aktivieren.

Eine Liste der Dienste, die Audit-Logs zum Datenzugriff schreiben, sowie detaillierte Informationen darüber, welche Aktivitäten diese Logs generieren, finden Sie unter Google Cloud-Dienste mit Audit-Logs.

Audit-Logs zum Datenzugriff werden im Log-Bucket _Default gespeichert, sofern Sie sie nicht an eine andere Stelle weitergeleitet haben. Weitere Informationen finden Sie im Abschnitt Audit-Logs speichern und weiterleiten auf dieser Seite.

Audit-Logs zu Systemereignissen

Audit-Logs zu Systemereignissen enthalten Logeinträge für Google Cloud-Aktionen, die Ressourcenkonfigurationen ändern. Audit-Logs zu Systemereignissen werden von Google-Systemen generiert und nicht durch direkte Nutzeraktionen bedingt.

Audit-Logs zu Systemereignissen werden immer geschrieben. Sie können sie nicht konfigurieren, ausschließen oder deaktivieren.

Eine Liste der Dienste, die Audit-Logs zu Systemereignissen schreiben, sowie detaillierte Informationen darüber, welche Aktivitäten diese Logs generieren, finden Sie unter Google Cloud-Dienste mit Audit-Logs.

Audit-Logs zu Richtlinienverstößen

Audit-Logs zu Richtlinienverstößen werden aufgezeichnet, wenn ein Google Cloud-Dienst den Zugriff auf einen Nutzer oder ein Dienstkonto aufgrund eines Verstoßes gegen eine Sicherheitsrichtlinie verweigert.

Audit-Logs zu Richtlinienverstößen werden standardmäßig generiert und der Logspeicher wird Ihrem Google Cloud-Projekt in Rechnung gestellt. Sie können Audit-Logs zu abgelehnten Richtlinien nicht deaktivieren, aber mithilfe von Ausschlussfiltern verhindern, dass Audit-Logs zu abgelehnten Richtlinien in Cloud Logging gespeichert werden.

Eine Liste der Dienste, die Audit-Logs zu Richtlinienverstößen schreiben, und detaillierte Informationen darüber, welche Aktivitäten diese Logs generieren, finden Sie unter Google Cloud-Dienste mit Audit-Logs.

Struktur von Audit-Logeinträgen

Jeder Audit-Logeintrag in Cloud Logging ist ein Objekt vom Typ LogEntry. Ein Audit-Logeintrag unterscheidet sich von anderen Logeinträgen durch das Feld protoPayload. Dieses Feld enthält ein AuditLog-Objekt, das die Audit-Logging-Daten speichert.

Informationen zum Lesen und Interpretieren von Audit-Log-Einträgen und ein Beispiel für einen Audit-Log-Eintrag finden Sie unter Audit-Logs verstehen.

Logname

Zu den Lognamen von Cloud-Audit-Logs gehören:

  • Ressourcenkennungen, die das Google Cloud-Projekt oder eine andere Google Cloud-Entität angeben, der die Audit-Logs gehören.

  • Der String cloudaudit.googleapis.com.

  • Ein String, der angibt, ob das Log Audit-Logging-Daten zur Administratoraktivität, zum Datenzugriff, zu Richtlinienverstößen oder zu 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

Aufruferidentitäten in Audit-Logs

Audit-Logs zeichnen die Identität auf, die die protokollierten Vorgänge für die Google Cloud-Ressource durchgeführt hat. Die Identität des Aufrufers wird im Feld AuthenticationInfo von AuditLog-Objekten gespeichert.

Das Audit-Logging entfernt die Haupt-E-Mail-Adresse des Aufrufers bei erfolgreichen Zugriffen oder Schreibvorgängen nicht.

Bei schreibgeschützten Vorgängen, die mit dem Fehler "Berechtigung verweigert" fehlschlagen, wird in Audit Logging möglicherweise die Haupt-E-Mail-Adresse des Aufrufers entfernt, es sei denn, der Aufrufer ist ein Dienstkonto.

Zusätzlich zu den oben aufgeführten Bedingungen gilt für bestimmte Google Cloud-Dienste Folgendes:

  • Legacy App Engine API: Es werden keine Identitäten erfasst.

  • BigQuery: Anruferidentitäten und IP-Adressen sowie einige Ressourcennamen werden aus den Audit-Logs entfernt, sofern keine bestimmten Bedingungen erfüllt sind.

  • Cloud Storage: Wenn Cloud Storage-Nutzungslogs aktiviert sind, schreibt Cloud Storage Nutzungsdaten in den Cloud Storage-Bucket, der Audit-Logs zum Datenzugriff für den Bucket generiert. Die Aufrufer-ID des Datenzugriffs-Audit-Logs wurde entfernt.

  • Firestore: Wurde ein JSON Web Token (JWT) für die Authentifizierung von Drittanbietern verwendet, enthält das thirdPartyPrincipal-Feld den Header und die Nutzlast des Tokens. Beispiel: Audit-Logs für Anfragen, die mit Firebase Authentication authentifiziert wurden, enthalten das Authentifizierungstoken dieser Anfrage.

  • VPC Service Controls: Bei Audit-Logs zu Richtlinienverstößen werden folgende Daten entfernt:

    • Teile der E-Mail-Adressen des Anrufers werden möglicherweise entfernt und durch drei Punkte (...) ersetzt.

    • Die E-Mail-Adressen einiger Aufrufer, die zur Domain google.com gehören, werden entfernt und durch google-internal ersetzt.

  • Organisationsrichtlinie: Teile der E-Mail-Adressen des aufrufenden Nutzers können entfernt und durch drei Punkte (...) ersetzt werden.

IP-Adresse des Aufrufers in Audit-Logs

Die IP-Adresse des Aufrufers wird im Feld RequestMetadata.caller_ip des Objekts AuditLog enthalten:

  • Für einen Aufrufer aus dem Internet ist die Adresse eine öffentliche IPv4- oder IPv6-Adresse.
  • Bei Aufrufen von einem Google Cloud-Dienst an einen anderen innerhalb des internen Produktionsnetzwerks von Google wird der Wert „caller_ip“ in „private“ geändert.
  • Bei Aufrufern von einer Compute Engine-VM mit einer externen IP-Adresse ist die "caller_ip" die externe Adresse der VM.
  • Wenn sich die VM von einer Compute Engine-VM ohne externe IP-Adresse in derselben Organisation oder demselben Projekt befindet wie die Ressource, auf die zugegriffen wird, ist „caller_ip“ die interne IPv4-Adresse der VM. Andernfalls wird „caller_ip“ in „gce-internal-ip“ entfernt. Weitere Informationen finden Sie unter VPC-Netzwerke.

Audit-Logs ansehen

Sie können nach allen Audit-Logs oder nach dem Namen des Audit-Logs abfragen. Der Audit-Logname 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. Für Abfragen können indexierte LogEntry-Felder angegeben werden. Wenn Sie die Seite Log Analytics verwenden, die SQL-Abfragen unterstützt, haben Sie die Möglichkeit, Abfrageergebnisse als Diagramm anzeigen zu lassen.

Weitere Informationen zum Abfragen Ihrer Logs finden Sie auf den folgenden Seiten:

Sie können Audit-Logs in Cloud Logging mithilfe der Google Cloud Console, der Google Cloud CLI oder der Logging API aufrufen.

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:

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und anschließend Log-Explorer aus:

    Zum Log-Explorer

  2. Wählen Sie ein vorhandenes Google Cloud-Projekt, einen Ordner oder eine Organisation aus.

  3. 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"
    
  4. 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. Informationen zum Zusammenfassen von Logeinträgen im Log-Explorer mithilfe von Gemini finden Sie unter Logeinträge mit Gemini zusammenfassen.

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.

API

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:

  1. Rufen Sie den Abschnitt Diese API testen in der Dokumentation für die Methode entries.list auf.

  2. 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"
    }
    
  3. Klicken Sie auf Execute.

Audit-Logs speichern und weiterleiten

Cloud Logging verwendet Log-Buckets als Container. Diese speichern und organisieren Ihre Logdaten. Logging erstellt für jedes Google Cloud-Projekt, jeden Ordner und jede Organisation automatisch zwei Log-Buckets, _Required und _Default, sowie entsprechende Senken.

In Cloud Logging-_Required-Buckets werden Audit-Logs zur Administratoraktivität und zu Systemereignissen gespeichert. Sie können _Required-Buckets oder darin enthaltene Logdaten nicht konfigurieren.

Audit-Logs zur Administratoraktivität und zu Systemereignissen werden immer im _Required-Bucket des Projekts gespeichert, in dem die Logs generiert wurden.

Wenn Sie Audit-Logs zur Administratoraktivität und Audit-Logs zu Systemereignissen an ein anderes Projekt weiterleiten, werden diese Logs nicht durch die Senke _Default oder _Required des Zielprojekts geleitet. Daher werden diese Logs nicht im Log-Bucket _Default oder _Required-Log-Bucket des Zielprojekts gespeichert. Erstellen Sie zum Speichern dieser Logs eine Logsenke im Zielprojekt. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.

Die _Default-Buckets speichern standardmäßig alle aktivierten Audit-Logs zum Datenzugriff sowie Audit-Logs zu Richtlinienverstößen. Wenn Sie verhindern möchten, dass Audit-Logs zum Datenzugriff in den _Default-Buckets gespeichert werden, können Sie sie deaktivieren. Wenn Sie verhindern möchten, dass Audit-Logs zu Richtlinienverstößen in den _Default-Buckets gespeichert werden, können Sie sie ausschließen. Ändern Sie dazu die Filter der Senken.

Sie können Ihre Audit-Logeinträge auch mithilfe von Senken an benutzerdefinierte Cloud Logging-Buckets auf Google Cloud-Projektebene oder an unterstützte Ziele außerhalb von Logging weiterleiten. Eine Anleitung zum Routing von Logs finden Sie unter Logs an unterstützte Ziele weiterleiten.

Beim Konfigurieren der Filter Ihrer Logsenken müssen Sie die Audit-Log-Typen angeben, die Sie weiterleiten möchten. Beispiele zum Filtern finden Sie unter Sicherheits-Logging-Abfragen.

Informationen zum Weiterleiten von Audit-Logeinträgen für eine Google Cloud-Organisation, einen Ordner oder ein Rechnungskonto finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.

Audit-Log-Aufbewahrung

Ausführliche Informationen zur Aufbewahrungsdauer der Logeinträge in Logging finden Sie unter Kontingente und Limits: Aufbewahrungsdauer für Logs.

Zugriffssteuerung

IAM-Berechtigungen und -Rollen bestimmen, ob Sie in der Logging API, im Log-Explorer und in der Google Cloud CLI auf Audit-Log-Daten zugreifen können.

Ausführliche Informationen zu den erforderlichen IAM-Berechtigungen und -Rollen finden Sie unter Zugriffssteuerung mit IAM.

Kontingente und Limits

Einzelheiten zu den Nutzungslimits für Logging, einschließlich der maximalen Größe von Audit-Logs, finden Sie unter Kontingente und Limits.

Preise

Das Weiterleiten von Logs an ein unterstütztes Ziel ist in Cloud Logging kostenlos. Für das Ziel können jedoch Gebühren anfallen. Mit Ausnahme des Log-Buckets _Required berechnet Cloud Logging Gebühren für das Streamen von Logs in Log-Buckets und für eine längere Speicherdauer als die standardmäßige Aufbewahrungsdauer des Log-Buckets.

Bei Cloud Logging fallen keine Kosten für das Kopieren von Logs oder für Abfragen an, die über die Seite Log-Explorer oder Loganalysen ausgeführt werden.

Weitere Informationen finden Sie in folgenden Dokumenten:

Nächste Schritte