Logs auf Organisations- und Ordnerebene sortieren und an unterstützte Ziele weiterleiten

In diesem Dokument wird beschrieben, wie aggregierte Senken erstellt werden. Mit aggregierten Senken können Sie Logs, die von den Google Cloud-Ressourcen in Ihrer Organisation oder Ihrem Ordner generiert werden, kombinieren und an einen zentralen Ort weiterleiten.

Überblick

Aggregierte Senken kombinieren Logeinträge aus den in einer Organisation oder einem Ordner enthaltenen Ressourcen und leiten diese an ein Ziel weiter.

Wenn Sie steuern möchten, welche Logs in diesen Ressourcen abgefragt oder über die Senken in diesen Ressourcen weitergeleitet werden können, können Sie eine aggregierte Senke so konfigurieren, dass sie nicht abfängt oder abfängt:

  • Eine nicht abfangende aggregierte Senke leitet Logs über Senken in untergeordneten Ressourcen weiter. Mit dieser Senke behalten Sie die Sichtbarkeit der Logs in den Ressourcen, in denen sie generiert wurden, bei. Senken, die nicht abgefangen werden, sind für untergeordnete Ressourcen nicht sichtbar.

    Sie können beispielsweise eine nicht abfangende aggregierte Senke erstellen, die alle Logeinträge, die aus den Ordnern einer Organisation generiert wurden, an einen zentralen Cloud Storage-Bucket weiterleitet. Die Logs werden im zentralen Cloud Storage-Bucket und auch in den Ressourcen gespeichert, in denen sie generiert wurden.

  • Eine abfangende aggregierte Senke verhindert, dass Logs über Senken in untergeordneten Ressourcen weitergeleitet werden, mit Ausnahme von _Required-Senken. Diese Senke kann nützlich sein, um zu verhindern, dass doppelte Kopien von Logs an mehreren Orten gespeichert werden.

    Sehen Sie sich beispielsweise Audit-Logs zum Datenzugriff an. Diese können sehr groß sein und das Speichern mehrerer Kopien teuer sein. Wenn Sie Audit-Logs zum Datenzugriff aktiviert haben, können Sie eine abfangende Senke auf Ordnerebene erstellen, die alle Audit-Logs zum Datenzugriff zur Analyse an ein zentrales Projekt weiterleitet. Diese abfangende Senke verhindert außerdem, dass Senken in untergeordneten Ressourcen Kopien der Logs an eine andere Stelle weiterleiten.

    Das abfangende Senken verhindert, dass Logs über den Logrouter von untergeordneten Ressourcen weitergeleitet werden, es sei denn, die Logs stimmen auch mit der Senke _Required überein. Da die Logs abgefangen werden, werden sie nicht auf logbasierte Messwerte oder logbasierte Benachrichtigungen in den untergeordneten Ressourcen angerechnet. Auf der Seite Logrouter der untergeordneten Ressourcen können Sie die abfangenden Senken ansehen.

Informationen zum Verwalten von Senken finden Sie unter Logs an unterstützte Ziele weiterleiten: Senken verwalten.

Sie können bis zu 200 Senken pro Ordner oder Organisation erstellen.

Unterstützte Ziele

Sie können nicht abfangende aggregierte Senken verwenden, um Logs innerhalb oder zwischen denselben Organisationen und Ordnern an die folgenden Ziele weiterzuleiten:

  • Cloud Logging-Bucket: Stellt Speicher in Cloud Logging bereit. In einem Log-Bucket können Logeinträge gespeichert werden, die von mehreren Google Cloud-Projekten empfangen werden. Sie können Ihre Cloud Logging-Daten mit anderen Daten kombinieren. Führen Sie dazu ein Upgrade eines Log-Buckets auf die Verwendung von Log Analytics durch und erstellen Sie dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von in Log-Buckets gespeicherten Logeinträgen finden Sie unter Logs abfragen und ansehen und an Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • BigQuery-Dataset: Bietet die Speicherung von Logeinträgen in BigQuery-Datasets. Sie können Big-Data-Analysefunktionen für die gespeicherten Logeinträge verwenden. Wenn Sie Ihre Cloud Logging-Daten mit anderen Datenquellen kombinieren möchten, empfehlen wir Ihnen, Ihre Log-Buckets auf die Verwendung von Log Analytics zu aktualisieren und dann ein verknüpftes BigQuery-Dataset zu erstellen. Informationen zum Aufrufen von Logeinträgen, die an BigQuery weitergeleitet wurden, finden Sie unter An BigQuery weitergeleitete Logs ansehen.
  • Cloud Storage-Bucket: Stellt die Speicherung von Logeinträgen in Cloud Storage bereit. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Aufrufen von Logeinträgen, die an Cloud Storage weitergeleitet wurden, finden Sie unter An Cloud Storage weitergeleitete Logs ansehen.
  • Pub/Sub-Thema: Bietet Unterstützung für Integrationen von Drittanbietern. Logeinträge werden in JSON formatiert und dann an ein Pub/Sub-Thema weitergeleitet. Informationen zum Aufrufen von Logeinträgen, die an Pub/Sub weitergeleitet wurden, finden Sie unter An Pub/Sub weitergeleitete Logs ansehen.
  • Splunk: Bietet Unterstützung für Splunk. Sie müssen Ihre Logeinträge an ein Pub/Sub-Thema weiterleiten und dieses Thema dann mithilfe von Splunk abonnieren.
  • Google Cloud-Projekt: Sie können Logeinträge an ein anderes Google Cloud-Projekt weiterleiten. Wenn Sie Logeinträge an ein anderes Google Cloud-Projekt weiterleiten, empfängt der Logrouter des Zielprojekts die Logeinträge und verarbeitet sie. Die Senken im Zielprojekt bestimmen, wie die empfangenen Logeinträge weitergeleitet werden. Error Reporting kann Logeinträge analysieren, wenn das Zielprojekt diese Logeinträge an einen Log-Bucket des Zielprojekts weiterleitet.
  • Andere Ressourcen: Sie können Ihre Logeinträge an ein unterstütztes Ziel weiterleiten, das sich in einem anderen Projekt befindet. Informationen zu den zu verwendenden Pfaden finden Sie unter Zielpfadformate.

Best Practices zum Abfangen von Senken

Beim Erstellen einer abfangenden Senke empfehlen wir Folgendes:

  • Überlegen Sie, ob untergeordnete Ressourcen eine unabhängige Kontrolle über das Routing ihrer Logs benötigen. Wenn eine untergeordnete Ressource eine unabhängige Kontrolle bestimmter Logs benötigt, achten Sie darauf, dass die abfangende Senke diese Logs nicht weiterleitet.

  • Fügen Sie der Beschreibung einer abfangenden Senke Kontaktdaten hinzu. Dies kann hilfreich sein, wenn die Verwaltung der abfangenden Senke sich von denjenigen unterscheidet, die die Projekte verwaltet, deren Logs abgefangen werden.

  • Testen Sie die Senkenkonfiguration, indem Sie zuerst eine nicht abfangende aggregierte Senke erstellen, damit die richtigen Logs weitergeleitet werden.

Aggregierte Senken und VPC Service Controls

Die folgenden Einschränkungen gelten, wenn Sie aggregierte Senken und VPC Service Controls verwenden:

  • Aggregierte Senken können auf Daten von Projekten innerhalb eines Dienstperimeters zugreifen. Wenn Sie verhindern möchten, dass aggregierte Senken auf Daten innerhalb eines Perimeters zugreifen, empfehlen wir die Verwendung von IAM zum Verwalten von Logging-Berechtigungen.

  • Das Hinzufügen von Ordner- oder Organisationsressourcen zu Dienstperimetern wird von VPC Service Controls nicht unterstützt. Daher können Sie VPC Service Controls nicht verwenden, um Logs auf Ordner- und Organisationsebene zu schützen, einschließlich aggregierter Logs. Zum Verwalten von Logging-Berechtigungen auf Ordner- oder Organisationsebene empfehlen wir die Verwendung von IAM.

  • Wenn Sie Logs mithilfe einer Senke auf Ordner- oder Organisationsebene an eine Ressource weiterleiten, die von einem Dienstperimeter geschützt wird, müssen Sie dem Dienstperimeter eine Regel für eingehenden Traffic hinzufügen. Die Regel für eingehenden Traffic muss den Zugriff auf die Ressource über das Dienstkonto zulassen, das die aggregierte Senke verwendet. Weitere Informationen finden Sie auf den folgenden Seiten:

  • Wenn Sie für einen Dienstperimeter eine Richtlinie für eingehenden oder ausgehenden Traffic festlegen, können Sie ANY_SERVICE_ACCOUNT und ANY_USER_ACCOUNT nicht als Identitätstyp verwenden, wenn Sie Logs über eine Logsenke an Cloud Storage-Ressourcen weiterleiten. Sie können jedoch ANY_IDENTITY als Identitätstyp verwenden.

Hinweise

Prüfen Sie vor dem Erstellen einer Senke Folgendes:

  • Sie haben einen Google Cloud-Ordner oder eine Organisation mit Logs, die Sie im Log-Explorer sehen können.

  • Sie haben eine der folgenden IAM-Rollen für die Google Cloud-Organisation oder den Google Cloud-Ordner, von dem Sie Logs weiterleiten.

    • Inhaber (roles/owner)
    • Logging-Administrator (roles/logging.admin)
    • Autor von Log-Konfigurationen (roles/logging.configWriter)

    Mit den in diesen Rollen enthaltenen Berechtigungen können Sie Senken erstellen, löschen oder ändern. Informationen zum Festlegen von IAM-Rollen finden Sie in der Anleitung zur Zugriffssteuerung in Logging.

  • Sie haben eine Ressource in einem unterstützten Ziel oder die Erlaubnis, eine Ressource zu erstellen.

    Das Routingziel muss vor der Senke erstellt werden. Dies erfolgt über die Google Cloud CLI, die Google Cloud Console oder die Google Cloud APIs. Sie können das Ziel in einem beliebigen Google Cloud-Projekt in jeder Organisation erstellen. Achten Sie aber darauf, dass das Dienstkonto der Senke Berechtigungen zum Schreiben in das Ziel hat.

Aggregierte Senke erstellen

Wenn Sie eine nicht abfangende aggregierte Senke erstellen möchten, erstellen Sie eine Senke in einer Google Cloud-Organisation oder einem Google Cloud-Ordner und setzen den Parameter includeChildren der Senke auf True. Wenn Sie den Parameter includeChildren festlegen, leitet die Senke Logeinträge aus der Organisation oder dem Ordner sowie (rekursiv) aus allen enthaltenen Ordnern, Rechnungskonten oder Google Cloud-Projekten weiter. Legen Sie die Parameter includeChildren und interceptChildren auf True fest, um eine abfangende Senke zu erstellen.

Mit den Ein- und Ausschlussfiltern der Senke legen Sie die Logeinträge fest, die an Ihr Ziel weitergeleitet werden sollen.

So erstellen Sie eine aggregierte Senke für Ihren Ordner oder Ihre Organisation:

Console

  1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

    Zum Logrouter

  2. Wählen Sie einen vorhandenen Ordner oder eine vorhandene Organisation aus.

  3. Wählen Sie Senke erstellen aus.

  4. Geben Sie im Bereich Senkendetails die folgenden Details ein:

    • Senkenname: Geben Sie eine Kennzeichnung für die Senke an. Beachten Sie, dass Sie die Senke nach deren Erstellung nicht mehr umbenennen, aber löschen und eine neue erstellen können.

    • Senkenbeschreibung (optional): Beschreiben Sie den Zweck oder den Anwendungsfall für die Senke.

  5. Wählen Sie im Bereich Senkenziel den Senkendienst und das Ziel aus:

    • Senkendienst auswählen: Wählen Sie den Dienst aus, an den Ihre Logs weitergeleitet werden sollen. Wenn Sie eine abfangende Senke erstellen, können Sie nur ein Google Cloud-Projekt als Ziel auswählen.

    Je nach ausgewähltem Dienst können Sie aus den folgenden Zielen auswählen:

    • Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen. Wenn Sie einen Log-Bucket erstellen, muss dieser sich auf Projektebene befinden. Sie können keinen Log-Bucket auf Ordner- oder Organisationsebene erstellen.
    • BigQuery-Tabelle: Wählen Sie das spezifische Dataset aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie es. Sie können auch partitionierte Tabellen verwenden.
    • Cloud Storage-Bucket: Wählen Sie den spezifischen Cloud Storage-Bucket aus, der die weitergeleiteten Logs erhalten soll, oder erstellen Sie ihn.
    • Pub/Sub-Thema: Wählen Sie das spezifische Thema aus, das die weitergeleiteten Logs erhalten soll, oder erstellen Sie es.
    • Splunk Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
    • Google Cloud-Projekt: Wählen Sie das Google Cloud-Projekt aus, das die Routenlogs erhalten soll.

      Wenn Ihr Senkenziel beispielsweise ein BigQuery-Dataset ist, wäre das Senkenziel Folgendes:

      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID
      
  6. Führen Sie im Bereich Logs auswählen, die in Senke einbezogen werden sollen einen der folgenden Schritte aus:

    • Wählen Sie zum Erstellen einer nicht abfangenden aggregierten Senke Von dieser Ressource und allen untergeordneten Ressourcen aufgenommene Logs einschließen aus.

    • Wählen Sie zum Erstellen einer abfangenden Senke Von dieser Organisation und allen untergeordneten Ressourcen aufgenommene Logs abfangen aus.

  7. Füllen Sie das Dialogfeld aus. Geben Sie dazu in das Feld Einbeziehungsfilter erstellen einen Filterausdruck ein, der den einzuschließenden Logeinträgen entspricht. Wenn Sie keinen Filter festlegen, werden alle Logs der ausgewählten Ressource an das Ziel weitergeleitet.

    Sie können beispielsweise einen Filter erstellen, um alle Audit-Logs zum Datenzugriff an einen einzelnen Logging-Bucket weiterzuleiten. Dieser Filter sieht so aus:

    LOG_ID("cloudaudit.googleapis.com/data_access") OR LOG_ID("externalaudit.googleapis.com/data_access")
    

    Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

  8. Optional: Wählen Sie Logs ansehen aus, um zu prüfen, ob Sie den richtigen Filter eingegeben haben. Dadurch wird der Log-Explorer in einem neuen Tab mit bereits ausgefülltem Filter geöffnet.

  9. (Optional) Gehen Sie im Bereich Logs auswählen, die aus der Senke ausgeschlossen werden sollen so vor:

    1. Geben Sie in das Feld Name des Ausschlussfilters einen Namen ein.

    2. Geben Sie im Abschnitt Ausschlussfilter erstellen einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie ausschließen möchten. Mit der Funktion sample können Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen.

      Wenn Sie beispielsweise die Logs eines bestimmten Projekts nicht an das Ziel weiterleiten möchten, fügen Sie den folgenden Ausschlussfilter hinzu:

      logName:projects/PROJECT_ID
      

      Wenn Sie Logs aus mehreren Projekten ausschließen möchten, verwenden Sie den Operator „Logisches ODER“, um logName-Klauseln zu verknüpfen.

    Sie können bis zu 50 Ausschlussfilter pro Senke erstellen. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

  10. Wählen Sie Senke erstellen aus.

API

Verwenden Sie zum Erstellen einer Senke in der Logging API die Methode organizations.sinks.create oder folders.sinks.create. Bereiten Sie die Argumente für die Methode so vor:

  1. Legen Sie als parent-Parameter die Google Cloud-Organisation oder den Google Cloud-Ordner fest, in dem die Senke erstellt werden soll. Geben Sie als übergeordnete Ressource eine der folgenden an:

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
  2. Führen Sie im LogSink im Anfragetext zur Methode einen der folgenden Schritte aus:

    • Legen Sie includeChildren auf True fest, um eine nicht abfangende aggregierte Senke zu erstellen.

    • Legen Sie die Parameter includeChildren und interceptChildren auf True fest, um eine abfangende Senke zu erstellen.

  3. Legen Sie das Attribut filter so fest, dass es den Logeinträgen entspricht, die Sie einschließen möchten. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

    Einige Beispiele für nützliche Filter finden Sie unter Filter für aggregierte Senken erstellen.

  4. Legen Sie die verbleibenden LogSink wie gewohnt für Senken fest. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.

  5. Rufen Sie zum Erstellen der Senke die Methode organizations.sinks.create oder folders.sinks.create auf.

  6. Rufen Sie den Namen des Dienstkontos aus dem Feld writer_identity ab, das von der API-Antwort zurückgegeben wurde.

  7. Erteilen Sie diesem Dienstkonto Schreibzugriff auf das Senkenziel.

    Wenn Sie keine Berechtigung zu dieser Änderung für das Senkenziel haben, senden Sie den Namen des Dienstkontos an einen Nutzer mit der erforderlichen Berechtigung.

    Weitere Informationen zum Zuweisen von Ressourcenberechtigungen zu Dienstkonten finden Sie im Abschnitt Zielberechtigungen festlegen.

gcloud

Verwenden Sie zum Erstellen einer aggregierten Senke den Befehl logging sinks create. Geben Sie das Flag --include-children an, um eine nicht abfangende aggregierte Senke zu erstellen. Geben Sie sowohl das Flag --include-children als auch das Flag --intercept-children an, um eine abfangende Senke zu erstellen.

  1. Geben Sie den Namen, das Senkenziel, den Filter und die ID des Ordners oder der Organisation an, von der bzw. der Sie Logs weiterleiten: Im folgenden Beispiel wird eine aggregierte Senke erstellt, die nicht abfängt:

    gcloud logging sinks create SINK_NAME \
      SINK_DESTINATION  --include-children \
      --folder=FOLDER_ID --log-filter="LOG_FILTER"
    

    Wenn Sie beispielsweise eine aggregierte Senke auf Ordnerebene erstellen und deren Ziel ein BigQuery-Dataset ist, könnte Ihr Befehl so aussehen:

    gcloud logging sinks create SINK_NAME \
      bigquery.googleapis.com/projects/PROJECT_ID/datasets/DATASET_ID --include-children \
      --folder=FOLDER_ID --log-filter="logName:activity"
    

    Hinweise:

    • Um eine Senke auf Organisationsebene zu erstellen, ersetzen Sie --folder=FOLDER_ID durch --organization=ORGANIZATION_ID.

    • Damit die Senke alle Ressourcen in der Organisation umfasst, muss das Flag --include-children gesetzt sein, selbst wenn das Flag --organization an create übergeben wird. Wenn das Flag auf false (Standardeinstellung) gesetzt ist, leitet eine Senke nur Logs aus der Hostressource weiter.

    • Einige Beispiele für nützliche Filter finden Sie unter Filter für aggregierte Senken erstellen.

  2. Ermitteln Sie anhand der Ausgabe des Befehls den Namen des Dienstkontos, mit dem die Senke erstellt wurde.

  3. Erteilen Sie diesem Dienstkonto Schreibzugriff auf das Senkenziel.

    Wenn Sie keine Berechtigung zu dieser Änderung für das Senkenziel haben, senden Sie den Namen des Dienstkontos an einen Nutzer mit der erforderlichen Berechtigung.

    Weitere Informationen zum Zuweisen von Ressourcenberechtigungen zu Dienstkonten finden Sie im Abschnitt Zielberechtigungen festlegen.

Es kann einige Minuten dauern, bis Änderungen an einer Senke wirksam werden.

Filter für aggregierte Senken erstellen

Wie alle anderen Senken enthält auch die zusammengefasste Senke einen Filter für die Auswahl einzelner Logeinträge. Beispiele für Filter, die Sie zum Erstellen der aggregierten Senke verwenden können, finden Sie unter Beispielabfragen mit dem Log-Explorer.

Im Folgenden finden Sie einige Beispiele für Filtervergleiche, die bei Verwendung des Features für aggregierte Senken hilfreich sein können. In manchen Beispielen wird folgende Notation verwendet:

  • : ist der Teilstringoperator. Ersetzen Sie den Operator = nicht.
  • ... steht für alle weiteren Filtervergleiche.
  • Variablen sind durch farbigen Text gekennzeichnet. Ersetzen Sie sie durch gültige Werte.

Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.

Weitere Informationen zur Filtersyntax finden Sie unter Logging-Abfragesprache.

Protokollquelle auswählen

Bei einer aggregierten Senke werden für jede untergeordnete Ressource der Organisation oder des Ordners die Einschluss- und Ausschlussfilter der Senke auf jeden Logeintrag angewendet, der an die untergeordnete Ressource gesendet wird. Ein Logeintrag, der mit dem Einschlussfilter übereinstimmt und nicht ausgeschlossen ist, wird weitergeleitet.

Wenn Ihre Senke Logs aus allen untergeordneten Ressourcen weiterleiten soll, geben Sie in den Ein- und Ausschlussfiltern der Senke kein Projekt, keinen Ordner und keine Organisation an. Angenommen, Sie konfigurieren eine aggregierte Senke für eine Organisation mit dem folgenden Filter:

resource.type="gce_instance"

Mit dem vorherigen Filter werden Logs mit einem Ressourcentyp von Compute Engine-Instanzen, die in ein untergeordnetes Element dieser Organisation geschrieben werden, von der aggregierten Senke an das Ziel weitergeleitet.

Es kann jedoch Situationen geben, in denen Sie eine aggregierte Senke verwenden möchten, um Logs nur von bestimmten untergeordneten Ressourcen weiterzuleiten. Beispielsweise können Sie aus Compliancegründen Audit-Logs aus bestimmten Ordnern oder Projekten in einem eigenen Cloud Storage-Bucket speichern. Konfigurieren Sie in diesen Situationen den Einschlussfilter so, dass Sie jede untergeordnete Ressource angeben, deren Logs Sie weiterleiten möchten. Wenn Sie Logs aus einem Ordner und alle Projekte in diesem Ordner weiterleiten möchten, muss der Filter den Ordner und alle in diesem Ordner enthaltenen Projekte auflisten. Außerdem müssen die Anweisungen mit einer OR-Klausel verknüpft werden.

Die folgenden Filter beschränken Logs auf bestimmte Google Cloud-Projekte, -Ordner oder -Organisationen:

logName:"projects/PROJECT_ID/logs/" AND ... 
logName:("projects/PROJECT_A_ID/logs/" OR "projects/PROJECT_B_ID/logs/") AND ... 
logName:"folders/FOLDER_ID/logs/" AND ... 
logName:"organizations/ORGANIZATION_ID/logs/" AND ... 

Wenn Sie beispielsweise nur Logs weiterleiten möchten, die an Compute Engine-Instanzen geschrieben wurden, die in den Ordner my-folder geschrieben wurden, verwenden Sie den folgenden Filter:

logName:"folders/my-folder/logs/" AND resource.type="gce_instance"

Mit dem vorherigen Filter werden Logs, die in eine andere Ressource als my-folder geschrieben wurden, nicht an das Ziel weitergeleitet, einschließlich Logs, die in Google Cloud-Projekte geschrieben wurden, die my-folder untergeordnet sind.

Überwachte Ressource auswählen

Wenn Sie Logs nur von einer bestimmten überwachten Ressource in einem Google Cloud-Projekt weiterleiten möchten, verwenden Sie mehrere Vergleiche, um die Ressource genau anzugeben:

logName:"projects/PROJECT_ID/logs" AND
resource.type=RESOURCE_TYPE AND
resource.labels.instance_id=INSTANCE_ID

Eine Liste mit Ressourcentypen finden Sie unter Überwachte Ressourcentypen.

Beispiel für Logeinträge auswählen

Fügen Sie die integrierte Funktion sample hinzu, um nach dem Zufallsprinzip Stichproben von Logeinträgen weiterzuleiten. Wenn Sie beispielsweise nur zehn Prozent der Logeinträge weiterleiten möchten, die mit Ihrem aktuellen Filter übereinstimmen, fügen Sie Folgendes hinzu:

sample(insertId, 0.10) AND ...

Weitere Informationen finden Sie unter sample-Funktion.

Weitere Informationen zu Cloud Logging-Filtern finden Sie unter Logging-Abfragesprache.

Zielberechtigungen festlegen

In diesem Abschnitt wird beschrieben, wie Sie Logging die IAM-Berechtigungen (Identitäts- und Zugriffsverwaltung) zum Schreiben von Logs an das Ziel der Senke gewähren. Eine vollständige Liste der Logging-Rollen und -Berechtigungen finden Sie unter Zugriffssteuerung.

Wenn Sie eine Senke erstellen oder aktualisieren, die Logs an ein anderes Ziel als einen Log-Bucket im aktuellen Projekt weiterleitet, ist ein Dienstkonto für diese Senke erforderlich. Logging erstellt und verwaltet das Dienstkonto automatisch für Sie:

  • Ab dem 22. Mai 2023 wird das Dienstkonto in Logging erstellt, wenn Sie eine Senke erstellen und kein Dienstkonto für die zugrunde liegende Ressource vorhanden ist. Logging verwendet für alle Senken in der zugrunde liegenden Ressource dasselbe Dienstkonto. Ressourcen können ein Google Cloud-Projekt, eine Organisation, ein Ordner oder ein Rechnungskonto sein.
  • Vor dem 22. Mai 2023 hat Logging für jede Senke ein Dienstkonto erstellt. Seit dem 22. Mai 2023 verwendet Logging ein gemeinsames Dienstkonto für alle Senken in der zugrunde liegenden Ressource.

Die Identität des Autors einer Senke ist die Kennung des Dienstkontos, das mit dieser Senke verknüpft ist. Alle Senken haben eine Autorenidentität, es sei denn, sie schreiben in einen Log-Bucket im aktuellen Google Cloud-Projekt.

Um Logs an eine durch einen Dienstperimeter geschützte Ressource weiterzuleiten, müssen Sie das Dienstkonto für diese Senke einer Zugriffsebene hinzufügen und es dann dem Zieldienstperimeter zuweisen. Dies ist für nicht aggregierte Senken nicht erforderlich. Weitere Informationen finden Sie unter VPC Service Controls: Cloud Logging.

So legen Sie Berechtigungen fest, damit Ihre Senke an ihr Ziel weiterleitet:

Console

  1. So rufen Sie Informationen zum Dienstkonto für Ihre Senke ab:

    1. Wählen Sie im Navigationsbereich der Google Cloud Console Logging und dann Log Router aus:

      Zum Logrouter

    2. Wählen Sie Menü und dann Senkendetails ansehen aus.

      Im Bereich Senkendetails enthält das Feld writerIdentity die Identität des Dienstkontos. Der String serviceAccount: ist Teil der Dienstkontoidentität. Beispiel:

      serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
      
  2. Gewähren Sie der Autorenidentität im Zielprojekt die Rolle, die erforderlich ist, damit das Dienstkonto in das Ziel schreiben kann. Wenn Sie einem Hauptkonto eine Rolle zuweisen möchten, müssen Sie die Rolle „Inhaber“ (roles/owner) haben:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren ihr dann die Rolle Storage Object Creator (roles/storage.objectCreator).
    • Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Pub/Sub-Publisher-Rolle (roles/pubsub.publisher).
    • Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
    • Fügen Sie für Ziele von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Autorenidentität als Hauptkonto hinzuzufügen.

API

  1. Informationen zum Dienstkonto für Ihre Senke erhalten Sie mit der API-Methode organizations.sinks.get oder folders.sinks.get.

    Das Feld writerIdentity enthält die Identität des Dienstkontos. Der String serviceAccount: ist Teil der Dienstkontoidentität. Beispiel:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Gewähren Sie der Autorenidentität im Zielprojekt die Rolle, die erforderlich ist, damit das Dienstkonto in das Ziel schreiben kann. Wenn Sie einem Hauptkonto eine Rolle zuweisen möchten, müssen Sie die Rolle „Inhaber“ (roles/owner) haben:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren ihr dann die Rolle Storage Object Creator (roles/storage.objectCreator).
    • Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Pub/Sub-Publisher-Rolle (roles/pubsub.publisher).
    • Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
    • Fügen Sie für Ziele von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Autorenidentität als Hauptkonto hinzuzufügen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um Informationen zum Dienstkonto für Ihre Senke abzurufen:

    gcloud logging sinks describe SINK_NAME
    

    Das Feld writerIdentity enthält die Identität des Dienstkontos. Der String serviceAccount: ist Teil der Dienstkontoidentität. Beispiel:

    serviceAccount:service-123456789012@gcp-sa-logging.iam.gserviceaccount.com
    
  2. Gewähren Sie der Autorenidentität im Zielprojekt die Rolle, die erforderlich ist, damit das Dienstkonto in das Ziel schreiben kann. Wenn Sie einem Hauptkonto eine Rolle zuweisen möchten, müssen Sie die Rolle „Inhaber“ (roles/owner) haben:

    • Wenn Sie Cloud Storage-Ziele verwenden, fügen Sie die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren ihr dann die Rolle Storage Object Creator (roles/storage.objectCreator).
    • Fügen Sie für BigQuery-Ziele die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) zu.
    • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Pub/Sub-Publisher-Rolle (roles/pubsub.publisher).
    • Fügen Sie für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekten die Identität des Autors der Senke mithilfe von IAM als Hauptkonto hinzu und weisen Sie ihr dann die Rolle Log-Bucket-Autor (roles/logging.bucketWriter) zu.
    • Fügen Sie für Ziele von Google Cloud-Projekten die Autorenidentität der Senke mithilfe von IAM als Hauptkonto hinzu und gewähren Sie ihr dann die Rolle „Logautor“ (roles/logging.logWriter). Ein Hauptkonto benötigt insbesondere die Berechtigung logging.logEntries.route.
    Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Autorenidentität als Hauptkonto hinzuzufügen.

Nächste Schritte