Cloud-Audit-Logs – Übersicht

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

Google Cloud-Dienste schreiben Audit-Logs, in denen administrative Aktivitäten und Zugriffe innerhalb Ihrer Google Cloud-Ressourcen aufgezeichnet werden. Mit Audit-Logs können Sie auf derselben Transparenz wie in lokalen Umgebungen herausfinden, 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.

Erforderliche Rollen

Zum Ansehen von Audit-Logs benötigen Sie die entsprechenden Berechtigungen und Rollen der Identitäts- und Zugriffsverwaltung (IAM):

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Loganzeige (roles/logging.viewer) für Ihr Projekt zu gewähren, um die erforderlichen Berechtigungen zu erhalten.

    Wenn Sie nur die Rolle (roles/logging.viewer) der Loganzeige haben, können Sie keine Audit-Logs zum Datenzugriff im Bucket _Default aufrufen.

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Betrachter privater Logs (roles/logging.privateLogViewer) für Ihr Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie für den Zugriff auf alle Logs in den Buckets _Required und _Default, einschließlich Datenzugriffslogs, benötigen.

    Die Rolle (roles/logging.privateLogViewer) des Betrachters privater Logs umfasst die Berechtigungen, die in der Rolle "Log-Anzeige" (roles/logging.viewer) enthalten sind, sowie die Berechtigungen, die zum Lesen von Audit-Logs zum Datenzugriff im Bucket _Default erforderlich sind.

Weitere Informationen zu den IAM-Berechtigungen und -Rollen, die für Audit-Logdaten gelten, finden Sie unter Zugriffssteuerung mit IAM.

Arten von Audit-Logs

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

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 sie sehr 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, fallen möglicherweise Kosten für die zusätzliche Lognutzung in Ihrem Google Cloud-Projekt an. 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 einen anderen Ort 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, und detaillierte Informationen dazu, 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 Logspeicherung wird Ihrem Google Cloud-Projekt in Rechnung gestellt. Sie können Audit-Logs zu Richtlinienverstößen nicht deaktivieren, aber Sie können Ausschlussfilter verwenden, um zu verhindern, dass Audit-Logs zu Richtlinienverstößen in Cloud Logging gespeichert werden.

Eine Liste der Dienste, die Audit-Logs zu Richtlinienverstößen schreiben, sowie detaillierte Informationen dazu, 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-Logeinträgen und ein Beispiel für einen Audit-Logeintrag finden Sie unter Audit-Logs verstehen.

Logname

Lognamen von Cloud-Audit-Logs umfassen die folgenden:

  • Ressourcenkennzeichnungen, 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 Richtlinien abgelehnt 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.

Beim Audit-Logging wird die Haupt-E-Mail-Adresse des Aufrufers für erfolgreiche Zugriffe oder Schreibvorgänge nicht entfernt.

Bei schreibgeschützten Vorgängen, die mit dem Fehler „Berechtigung verweigert“ fehlschlagen, kann Audit Logging die Haupt-E-Mail-Adresse des Aufrufers entfernen, 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: Aufruferidentitäten und IP-Adressen sowie einige Ressourcennamen werden aus den Audit-Logs entfernt, sofern nicht bestimmte 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 wird Folgendes entfernt:

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

    • Einige E-Mail-Adressen von Anrufern, die zur Domain google.com gehören, werden entfernt und durch google-internal ersetzt.

  • Organisationsrichtlinie: Teile der E-Mail-Adressen der Anrufer werden möglicherweise entfernt und durch die drei Punkte ... ersetzt.

IP-Adresse des Aufrufers in Audit-Logs

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

  • Für einen Aufrufer aus dem Internet ist die Adresse eine öffentliche IPv4- oder IPv6-Adresse.
  • Bei Aufrufen aus dem internen Produktionsnetzwerk von Google von einem Google Cloud-Dienst an einen anderen wird „caller_ip“ in „privat“ geändert.
  • Bei einem Aufrufer von einer Compute Engine-VM mit einer externen IP-Adresse ist "caller_ip" die externe Adresse der VM.
  • Wenn sich der Aufrufer 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. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.

  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-Unterstützung 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. Für jedes Google Cloud-Projekt, jeden Ordner und jede Organisation erstellt Logging automatisch zwei Log-Buckets, _Required und _Default, sowie die entsprechenden Senken.

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

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

Wenn Sie Audit-Logs zu Administratoraktivitäten 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 des Zielprojekts gespeichert. Erstellen Sie zum Speichern dieser Logs eine Logsenke im Zielprojekt. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.

In _Default-Buckets werden standardmäßig alle aktivierten Audit-Logs zum Datenzugriff sowie Audit-Logs zu Richtlinienverstößen gespeichert. 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 mithilfe von Senken auch 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 Google Cloud-Ordner oder ein Google Cloud-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-Logdaten 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

Cloud Logging berechnet für die Weiterleitung von Logs an ein unterstütztes Ziel keine Gebühren, dafür können jedoch Gebühren anfallen. Mit Ausnahme des Log-Buckets _Required fallen in Cloud Logging Kosten für das Streamen von Logs in Log-Buckets sowie für die Speicherung über die standardmäßige Aufbewahrungsdauer des Log-Buckets an.

Cloud Logging ist für das Kopieren von Logs oder für Abfragen, die über die Seite Log-Explorer oder die Seite Loganalysen ausgeführt werden, kostenlos.

Weitere Informationen finden Sie in folgenden Dokumenten:

Nächste Schritte