In diesem Dokument wird beschrieben, wie Sie Logansichten in Ihren Cloud Logging-Buckets über die gcloud CLI erstellen und verwalten. Mit Logansichten können Sie fortgeschrittener und detaillierter steuern, wer Zugriff auf die Logs in Ihren Log-Buckets hat.
Allgemeine Informationen zum Logging-Speichermodell finden Sie unter Routing und Speicher – Übersicht.
Logansichten
Mit Logansichten können Sie einem Nutzer nur Zugriff auf einen Teil der Logs gewähren, die in einem Log-Bucket gespeichert sind. Stellen Sie sich beispielsweise ein Szenario vor, in dem Sie die Logs Ihrer Organisation in einem zentralen Projekt speichern. Sie können für jedes Projekt, das Logs zum Log-Bucket hinzufügt, eine Logansicht erstellen. Sie können dann jedem Nutzer Zugriff auf eine oder mehrere Logansichten gewähren und so einschränken, welche Logs die Nutzer ansehen können.
Cloud Logging erstellt automatisch eine _AllLogs
-Ansicht für jeden Log-Bucket und eine _Default
-Ansicht für den _Default
-Log-Bucket:
- Ansicht
_AllLogs
: Sie können alle Logs im Log-Bucket ansehen. _Default
-Ansicht: Sie können alle Audit-Logs zum Nicht-Datenzugriff im Log-Bucket ansehen.
Sie können keine Ansichten ändern, die automatisch von Cloud Logging erstellt werden. Sie können jedoch die Ansicht _AllLogs
löschen.
Sie können pro Log-Bucket maximal 30 Logansichten erstellen.
Jede Logansicht enthält einen Filter, durch den die in der Ansicht sichtbaren Logeinträge eingeschränkt werden. Filter können logische AND
- und NOT
-Operatoren enthalten, jedoch keine logischen OR
-Operatoren.
Mit Filtern können Sie jeden der folgenden Werte vergleichen:
Eine Datenquelle mit der
source
-Funktion. Die Funktionsource
gibt Logeinträge aus einer bestimmten Ressource in der Hierarchie der Organisationen, Ordner und Google Cloud-Projekte zurück.Eine Log-ID mit der Funktion
log_id
. Die Funktionlog_id
gibt Logeinträge zurück, die mit dem angegebenen ArgumentLOG_ID
aus dem FeldlogName
übereinstimmen.Ein gültiger Ressourcentyp mit dem Vergleich
resource.type=
FIELD_NAME.
Mit dem folgenden Filter werden beispielsweise Compute Engine-stdout
-Logeinträge aus einem Google Cloud-Projekt namens myproject
erfasst:
source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")
Weitere Informationen zur Filtersyntax finden Sie unter Vergleiche.
Hinweise
Führen Sie die folgenden Schritte aus, bevor Sie eine Logansicht erstellen oder aktualisieren:
Falls noch nicht geschehen, erstellen Sie im entsprechenden Google Cloud-Projekt einen Logging-Bucket, für den Sie eine benutzerdefinierte Logansicht konfigurieren möchten.
-
Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Autor von Logkonfigurationen (
roles/logging.configWriter
) für das Projekt zu gewähren, damit Sie die erforderlichen Berechtigungen zum Erstellen, Anzeigen, Aktualisieren und Löschen von Logansichten erhalten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.Möglicherweise können Sie die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Installieren Sie die Google Cloud CLI.
Legen Sie fest, welche Logs in der Ansicht enthalten sein sollen. Mit diesen Informationen können Sie den Filter der Logansicht angeben.
Legen Sie fest, wer Zugriff auf die Logansicht haben soll. Hauptkonten mit der Rolle
roles/logging.viewAccessor
können die Logs in jeder Logansicht sehen. Cloud Logging unterstützt jedoch IAM-Bedingungen. Mit Bedingungen können Sie einem Hauptkonto Zugriff auf eine bestimmte Logansicht gewähren. Weitere Informationen finden Sie unter Zugriff auf eine Logansicht gewähren.
Logansicht erstellen
Verwenden Sie zum Erstellen einer Logansicht den Befehl gcloud logging views update
.
Sie können pro Log-Bucket maximal 30 Logansichten erstellen.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- VIEW_ID: Die ID der Logansicht.
- BUCKET_NAME: Der Name des Log-Buckets.
- LOCATION: Der Speicherort des Log-Buckets.
- FILTER: Ein Filter, der die Logansicht definiert. Wenn das Feld leer ist, enthält die Logansicht alle Logs. Wenn Sie beispielsweise nach Logs von Compute Engine-VM-Instanzen filtern möchten, geben Sie
"resource.type=gce_instance"
ein. - DESCRIPTION: Eine Beschreibung der Logansicht. Beispielsweise könnten Sie Folgendes für die Beschreibung
"Compute logs"
eingeben.
Führen Sie den Befehl gcloud logging views create
aus:
Linux, macOS oder Cloud Shell
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (PowerShell)
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (cmd.exe)
gcloud logging views create VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Dieser Befehl liefert keine Antwort. Mit dem Befehl gcloud logging views list
bestätigen Sie die Änderungen.
Logansichten in einem Log-Bucket auflisten
Verwenden Sie den Befehl gcloud logging views list
, um die für einen Log-Bucket erstellten Logansichten aufzulisten.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- BUCKET_NAME: Der Name des Log-Buckets.
- LOCATION: Der Speicherort des Log-Buckets.
Führen Sie den Befehl gcloud logging views list
aus:
Linux, macOS oder Cloud Shell
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views list --bucket=BUCKET_NAME --location=LOCATION
Die Antwortdaten sind eine Liste von Logansichten. Für jede Logansicht wird der Filter zusammen mit dem Erstellungs- und dem letzten Aktualisierungsdatum angezeigt. Wenn das Erstellungs- und Aktualisierungsdatum leer ist, wurde die Logansicht beim Erstellen des Google Cloud-Projekts erstellt. Die folgende Beispielausgabe zeigt, dass es für den abgefragten Log-Bucket zwei Ansichts-IDs gibt, _AllLogs
und compute
:
VIEW_ID: _AllLogs FILTER: CREATE_TIME: UPDATE_TIME: VIEW_ID: compute FILTER: resource.type="gce_instance" CREATE_TIME: 2024-02-20T17:41:17.405162921Z UPDATE_TIME: 2024-02-20T17:41:17.405162921Z
Zugriff auf eine Logansicht gewähren
Hauptkonten mit der Rolle roles/logging.viewAccessor
für ein Google Cloud-Projekt können die Logs in jeder Logansicht sehen. Cloud Logging unterstützt jedoch IAM-Bedingungen.
Mit Bedingungen können Sie einem Hauptkonto Zugriff auf eine bestimmte Logansicht gewähren.
IAM-Bedingungen werden in der Rollenbindung für ein Google Cloud-Projekt angegeben. In einer Zulassungsrichtlinie sind maximal 20 Rollenbindungen zulässig, die dieselbe Rolle und dasselbe Hauptkonto, aber unterschiedliche Bedingungsausdrücke enthalten.
Führen Sie die folgenden Schritte aus, um Nutzer zu einer Ansicht hinzuzufügen, mit der sie auf die Logs zugreifen können.
gcloud
Rufen Sie die IAM-Richtlinie des Projekts ab und schreiben Sie sie in eine lokale Datei im JSON-Format. Bevor Sie den folgenden Befehl ausführen, ersetzen Sie PROJECT_ID durch die ID des Projekts, das den Log-Bucket enthält:
gcloud projects get-iam-policy PROJECT_ID --format json > output.json
Bearbeiten Sie die von Ihnen erstellte JSON-Datei und fügen Sie eine IAM-Bedingung hinzu, mit der der Nutzer aus dem von Ihnen erstellten Log-Bucket lesen kann.
Im folgenden Beispiel wird beispielsweise eine Bindung angegeben, die den angegebenen Mitgliedern die Rolle
"roles/logging.viewAccessor"
zuweist, jedoch nur für eine einzelne Logansicht:{ "bindings": [ { "members": [ "user:username@gmail.com" ], "role": "roles/logging.viewAccessor", "condition": { "title": "Bucket reader condition example", "description": "Grants logging.viewAccessor role to user username@gmail.com for the VIEW_ID log view.", "expression": "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID\"" } } ], "etag": "BwWd_6eERR4=", "version": 3 }
Aktualisieren Sie die IAM-Richtlinie:
gcloud projects set-iam-policy PROJECT_ID output.json
Console
Führen Sie in dem Projekt, in dem Sie den Log-Bucket erstellt haben, die folgenden Schritte aus:
-
Wählen Sie im Navigationsbereich der Google Cloud Console IAM aus:
Klicken Sie auf
Zugriff erlauben.Fügen Sie im Feld Neue Hauptkonten das E-Mail-Konto des Nutzers hinzu.
Wählen Sie im Drop-down-Menü Rolle auswählen die Option Zugriffsfunktion für Logansicht aus.
Diese Rolle gibt Nutzern Lesezugriff auf alle Ansichten. Um den Nutzerzugriff auf einen bestimmten Bucket zu beschränken, fügen Sie eine Bedingung auf Basis des Ressourcennamens hinzu.
Klicken Sie auf IAM-Bedingung hinzufügen.
Geben Sie für die Bedingung einen Titel und eineBeschreibung ein.
Wählen Sie im Drop-down-Menü Bedingungstyp die Option Ressource > Name.
Wählen Sie im Drop-down-Menü Operator die Option ist aus.
Geben Sie im Feld Wert die ID der Logansicht ein, einschließlich des vollständigen Pfads zur Ansicht.
Beispiel:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/VIEW_ID
Klicken Sie auf Speichern, um die Bedingung hinzuzufügen.
Klicken Sie auf Speichern, um die Berechtigungen festzulegen.
Logansicht aktualisieren
Verwenden Sie zum Aktualisieren oder Ändern einer Logansicht den Befehl gcloud logging views update
.
Wenn Sie die ID der Datenansicht nicht kennen, lesen Sie den Abschnitt Logansichten auflisten.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- VIEW_ID: Die ID der Logansicht.
- BUCKET_NAME: Der Name des Log-Buckets.
- LOCATION: Der Speicherort des Log-Buckets.
- FILTER: Ein Filter, der die Logansicht definiert. Wenn das Feld leer ist, enthält die Logansicht alle Logs. Wenn Sie beispielsweise nach Logs von Compute Engine-VM-Instanzen filtern möchten, geben Sie
"resource.type=gce_instance"
ein. - DESCRIPTION: Eine Beschreibung der Logansicht. Beispielsweise könnten Sie Folgendes für die Beschreibung
"New description for the log view"
eingeben.
Führen Sie den Befehl gcloud logging views update
aus:
Linux, macOS oder Cloud Shell
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (PowerShell)
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Windows (cmd.exe)
gcloud logging views update VIEW_ID --bucket=BUCKET_NAME --location=LOCATION --log-filter=FILTER --description=DESCRIPTION
Dieser Befehl liefert keine Antwort. Mit dem Befehl gcloud logging views describe
bestätigen Sie die Änderungen.
Logansicht löschen
Verwenden Sie den Befehl gcloud logging views delete
, um eine Logansicht zu löschen.
Wenn Sie die ID der Datenansicht nicht kennen, lesen Sie den Abschnitt Logansichten auflisten.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- VIEW_ID: Die ID der Logansicht.
- BUCKET_NAME: Der Name des Log-Buckets.
- LOCATION: Der Speicherort des Log-Buckets.
Führen Sie den Befehl gcloud logging views delete
aus:
Linux, macOS oder Cloud Shell
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views delete VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Die Antwort bestätigt das Löschen. Das folgende Beispiel zeigt die Antwort auf das Löschen einer Logansicht mit dem Namen tester
:
Deleted [tester].
Logansicht beschreiben
Verwenden Sie den Befehl gcloud logging views describe
, um detaillierte Informationen zu einer Logansicht abzurufen.
Wenn Sie die ID der Datenansicht nicht kennen, lesen Sie den Abschnitt Logansichten auflisten.
Bevor Sie die folgenden Befehlsdaten verwenden, ersetzen Sie die folgenden Werte:
- VIEW_ID: Die ID der Logansicht.
- BUCKET_NAME: Der Name des Log-Buckets.
- LOCATION: Der Speicherort des Log-Buckets.
Führen Sie den Befehl gcloud logging views describe
aus:
Linux, macOS oder Cloud Shell
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (PowerShell)
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Windows (cmd.exe)
gcloud logging views describe VIEW_ID --bucket=BUCKET_NAME --location=LOCATION
Die Antwort enthält immer die Beschreibung und den voll qualifizierten Namen der Logansicht. Auch der Filter ist enthalten, wenn das Filterfeld nicht leer ist. Hier ist eine Beispielantwort:
createTime: '2024-02-20T17:41:17.405162921Z' filter: resource.type="gce_instance" name: projects/my-project/locations/global/buckets/my-bucket/views/compute updateTime: '2024-02-20T17:41:17.405162921Z'
Mit einer Logansicht verknüpfte Logs ansehen
Zum Ansehen von Logs in einer Logansicht benötigen Sie die Rolle Zugriffsfunktion für Logansicht (roles/logging.viewAccessor
) für die Logansicht:
-
Wählen Sie im Navigationsbereich der Google Cloud Console Logging und anschließend Log-Explorer aus:
Klicken Sie auf Bereich eingrenzen, um das Steuerfeld Bereich eingrenzen aufzurufen. Hier können Sie den Log-Bucket und die Logansicht auswählen, die Sie zum Aufrufen Ihrer Logs verwenden möchten.
Weitere Informationen finden Sie in der Dokumentation zum Log-Explorer.
Nächste Schritte
Zugriff auf Feldebene konfigurieren