Auf dieser Seite werden die Audit-Logs beschrieben, die von Firebase als Teil von Cloud-Audit-Logs erstellt werden.
Übersicht
Firebase-Dienste schreiben Audit-Logs, um Ihnen Antworten auf Fragen wie „Wer hat was wo und wann getan?“ zu liefern. Das sind Cloud-Audit-Logs, die im Rahmen des Google Cloud-Projekts bereitgestellt werden, das mit Ihrem Firebase-Projekt verknüpft ist.
Ihre Firebase-Projekte enthalten jeweils nur die Audit-Logs für Ressourcen, die sich direkt im Projekt befinden.
Eine allgemeine Übersicht über Cloud-Audit-Logs finden Sie unter Cloud-Audit-Logs. Detaillierte Informationen zum Audit-Logformat finden Sie unter Audit-Logs verstehen.
Verfügbare Audit-Logs
Für Firebase App Hosting 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.
Wenn Sie Audit-Logs zum Datenzugriff erhalten möchten, müssen Sie sie explizit aktivieren.
Ausführlichere Beschreibungen der Audit-Logtypen finden Sie unter Arten von Audit-Logs.
Geprüfte Vorgänge
Im Folgenden ist zusammengefasst, welche API-Vorgänge den einzelnen Audit-Logtypen in Firebase App Hosting entsprechen:
Berechtigungstyp | Methoden |
---|---|
ADMIN_READ |
google.firebase.apphosting.v1alpha.AppHosting.GetBackend google.firebase.apphosting.v1alpha.AppHosting.GetBuild google.firebase.apphosting.v1alpha.AppHosting.GetRollout google.firebase.apphosting.v1alpha.AppHosting.GetTraffic google.firebase.apphosting.v1alpha.AppHosting.ListBackends google.firebase.apphosting.v1alpha.AppHosting.ListBuilds google.firebase.apphosting.v1alpha.AppHosting.ListDomains google.firebase.apphosting.v1alpha.AppHosting.ListRollouts google.firebase.apphosting.v1beta.AppHosting.GetBackend google.firebase.apphosting.v1beta.AppHosting.GetBuild google.firebase.apphosting.v1beta.AppHosting.GetDomain google.firebase.apphosting.v1beta.AppHosting.GetTraffic google.firebase.apphosting.v1beta.AppHosting.ListBackends google.firebase.apphosting.v1beta.AppHosting.ListBuilds google.firebase.apphosting.v1beta.AppHosting.ListDomains google.firebase.apphosting.v1beta.AppHosting.ListRollouts |
ADMIN_WRITE |
google.firebase.apphosting.v1alpha.AppHosting.CreateBackend google.firebase.apphosting.v1alpha.AppHosting.CreateBuild google.firebase.apphosting.v1alpha.AppHosting.CreateDomain google.firebase.apphosting.v1alpha.AppHosting.CreateRollout google.firebase.apphosting.v1alpha.AppHosting.DeleteBackend google.firebase.apphosting.v1alpha.AppHosting.DeleteBuild google.firebase.apphosting.v1alpha.AppHosting.DeleteDomain google.firebase.apphosting.v1alpha.AppHosting.UpdateBuild google.firebase.apphosting.v1alpha.AppHosting.UpdateTraffic google.firebase.apphosting.v1beta.AppHosting.CreateBackend google.firebase.apphosting.v1beta.AppHosting.CreateBuild google.firebase.apphosting.v1beta.AppHosting.CreateDomain google.firebase.apphosting.v1beta.AppHosting.CreateRollout google.firebase.apphosting.v1beta.AppHosting.DeleteBackend google.firebase.apphosting.v1beta.AppHosting.DeleteBuild google.firebase.apphosting.v1beta.AppHosting.DeleteDomain google.firebase.apphosting.v1beta.AppHosting.UpdateBackend google.firebase.apphosting.v1beta.AppHosting.UpdateDomain google.firebase.apphosting.v1beta.AppHosting.UpdateTraffic |
Audit-Logformat
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 älteren Integrationen befindet sich dieses Objekt im Feld
serviceData
desAuditLog
-Objekts. Neuere Integrationen verwenden das Feldmetadata
.
Informationen zu anderen Feldern in diesen Objekten sowie zu deren Interpretation finden Sie unter Audit-Logs verstehen.
Logname
Ressourcennamen von Cloud-Audit-Logs geben Aufschluss über das Firebase-Projekt oder über eine andereGoogle Cloud-Entität, die Inhaber der Audit-Logs ist. Sie zeigen außerdem an, ob das Log Audit-Logging-Daten zur Administratoraktivität, zum Datenzugriff, zu abgelehnten Richtlinien oder zu Systemereignissen enthält. Im folgenden Beispiel sind Lognamen für Audit-Logs zur Administratoraktivität auf Projektebene und für die Audit-Logs einer Organisation zum Datenzugriff enthalten. Die Variablen bezeichnen Firebase-Projekt- und Organisations-IDs.
projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity
organizations/ORGANIZATION_ID/logs/cloudaudit.googleapis.com%2Fdata_access
Dienstname
Für Firebase App Hosting-Audit-Logs wird der Dienstname firebaseapphosting.googleapis.com
verwendet.
Eine vollständige Liste aller Cloud Logging API-Dienstnamen und des jeweiligen überwachten Ressourcentyps finden Sie unter Dienste Ressourcen zuordnen.
Ressourcentypen
Für alle Audit-Logs von Firebase App Hosting wird der Ressourcentyp audited_resource
verwendet.
Eine Liste aller überwachten Cloud Logging-Ressourcentypen und beschreibende Informationen finden Sie unter Überwachte Ressourcentypen.
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.
Eine Anleitung zum Aktivieren einiger oder aller Audit-Logs zu Datenzugriffen finden Sie unter Datenzugriffslogs konfigurieren.
Berechtigungen und Rollen
Cloud 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 in der Cloud, die für Audit-Logdaten gelten, finden Sie unter Zugriffssteuerung.
Logs ansehen
Wenn Sie Audit-Logs suchen und ansehen möchten, müssen Sie die ID des Firebase-Projekts, des Ordners oder der Organisation kennen, für die Sie Audit-Logging-Informationen abrufen möchten. Sie können weitere indexierte LogEntry
-Felder angeben, z. B. resource.type
. Weitere Informationen erhalten Sie unter Logeinträge schnell finden.
Im Folgenden finden Sie die Namen der Audit-Logs. Sie enthalten Variablen für die IDs des Firebase-Projekts, des Ordners oder der Organisation.
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
Sie können Audit-Logs in Cloud Logging mit der Google Cloud Console, dem gcloud
-Befehlszeilentool oder der Logging API aufrufen.
Console
Sie können mit dem Log-Explorer in der Google Cloud Console die Audit-Logeinträge für Ihr Firebase-Projekt, Ihren Ordner oder Ihre Organisation abrufen:
Rufen Sie in der Google Cloud Console die Seite Logging > Log-Explorer auf.
Wählen Sie auf der Seite Log-Explorer ein vorhandenes Firebase-Projekt, einen Ordner oder eine Organisation aus.
Führen Sie im Bereich Query Builder folgende Schritte aus:
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.
Wenn diese Optionen nicht angezeigt werden, sind im Firebase-Projekt, im Ordner oder in der Organisation keine Audit-Logs dieses Typs verfügbar.
Weitere Informationen zu Abfragen mit dem Log-Explorer finden Sie unter Logabfragen erstellen.
gcloud
Das gcloud
-Befehlszeilentool bietet eine Befehlszeile für die Cloud Logging API. Geben Sie dabei in jedem Lognamen eine gültige PROJECT_ID
, FOLDER_ID
oder ORGANIZATION_ID
an.
Führen Sie den folgenden Befehl aus, um Ihre Audit-Logeinträge auf Firebase-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
Weitere Informationen zur Verwendung des gcloud
-Tools finden Sie unter Logeinträge lesen.
API
Ersetzen Sie beim Erstellen Ihrer Abfragen die Variablen durch gültige Werte, ersetzen Sie den entsprechenden Audit-Lognamen oder die entsprechenden Kennungen auf Projektebene, Ordnerebene oder Organisationsebene, wie in den Audit-Lognamen aufgeführt. Wenn die Abfrage beispielsweise eine PROJECT_ID enthält, muss sich die von Ihnen angegebene Projekt-ID auf das aktuell ausgewählte Firebase-Projekt beziehen.
So rufen Sie Ihre Audit-Logeinträge mit der Logging API auf:
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.
Weitere Informationen zu Abfragen finden Sie unter Logging-Abfragesprache.
Ein Beispiel für einen Audit-Logeintrag und wie Sie die wichtigsten Informationen darin finden, sehen Sie unter Beispiel für einen Audit-Logeintrag.
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 Google Cloud Storage, BigQuery oder Google Cloud Pub/Sub weiterleiten, um Audit-Logs für einen längeren Zeitraum aufzubewahren oder leistungsfähigere Suchfunktionen zu nutzen. Mit Cloud 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 zusammengefasste Senken, mit denen sich Logs aus beliebigen oder allen Firebase-Projekten in der Organisation weiterleiten lassen.
- Wenn die aktivierten Audit-Logs zum Datenzugriff dazu führen, dass Ihre Firebase-Projekte Ihr Logkontingent ü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 Senken konfigurieren.
Preise
Audit-Logs zu Administratoraktivitäten und Audit-Logs zu Systemereignissen sind kostenlos.
Audit-Logs zum Datenzugriff und die Audit-Logs zu Richtlinienverstößen sind kostenpflichtig.
Weitere Informationen zu den Preisen für Cloud Logging finden Sie unter Operations-Suite von Google Cloud – Preise: Cloud Logging.