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

Mit aggregierten Senken in Cloud Logging können Sie Logs aus Ressourcen in Ihrer Organisation oder Ihrem Ordner kombinieren und an einen zentralen Ort weiterleiten.

Hinweis

Prüfen Sie vor dem Erstellen einer Senke Folgendes:

  • Sie sind mit dem Verhalten aggregierter Senken vertraut. Weitere Informationen finden Sie unter Aggregierte Senken – Übersicht.

  • Sie haben einen Cloud de Confiance Ordner oder eine Organisation mit Logeinträgen, die Sie im Log-Explorer sehen können.

  • Sie haben eine der folgenden IAM-Rollen für dieCloud de Confiance Organisation oder den Ordner, aus dem Sie Logeinträge 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 für Logging.

  • Das Ziel des aggregierten Senkenlogs ist vorhanden oder Sie können es erstellen. Das Ziel kann sich in einem beliebigen Cloud de Confiance -Projekt und in einer beliebigen Organisation befinden. Eine Liste der unterstützten Ziele und ihrer Einschränkungen finden Sie unter Unterstützte Ziele.

    • Regionale Endpunkte werden nicht unterstützt:Sie können keinen regionalen Dienstendpunkt (REP) wie pubsub.LOCATION.rep.googleapis.com als Ziel angeben. Sie müssen den globalen Endpunkt des Dienstes und den vollständig qualifizierten Zielpfad angeben. Weitere Informationen finden Sie unter Zielpfadformate.

    • Pub/Sub-Übertragungsbeschränkungen werden nicht unterstützt:Leiten Sie Logeinträge nicht an ein Pub/Sub-Thema weiter, für das Übertragungsbeschränkungen erzwungen werden. Da Logsinks globale Endpunkte verwenden müssen, kann Logging nicht garantieren, dass Veröffentlichungsanfragen aus einer zulässigen Region stammen. Dies führt zu topic_region_not_allowed-Konfigurationsfehlern und verworfenen Logs.

  • Wählen Sie die Schnittstelle aus, die Sie verwenden möchten:

    Console

    Wenn Sie über die Cloud de Confiance Console auf Cloud de Confiance by S3NS -Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an. Nach der Anmeldung initialisieren Sie die Google Cloud CLI mit dem folgenden Befehl:

    gcloud init

    REST

    Wenn Sie die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung verwenden möchten, verwenden Sie die Anmeldedaten, die Sie der gcloud CLI bereitstellen.

      Installieren Sie die Google Cloud CLI und melden Sie sich dann mit Ihrer föderierten Identität in der gcloud CLI an.

    Weitere Informationen finden Sie in der Dokumentation zur Cloud de Confiance -Authentifizierung unter Für die Verwendung von REST authentifizieren.

Aggregierte Senke erstellen

Wenn Sie eine aggregierte Senke konfigurieren möchten, erstellen Sie die Senke und gewähren Sie ihr dann die Berechtigungen zum Schreiben in das Ziel. In diesem Abschnitt wird beschrieben, wie Sie ein aggregiertes Senken erstellen. Informationen zum Erteilen von Berechtigungen für das Senken finden Sie auf dieser Seite im Abschnitt Zielberechtigungen festlegen.

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

Console

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

  1. Rufen Sie in der Cloud de Confiance Console die Seite Logs Router auf.

    Zu Logs Router

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

  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 Menü Senkendienst auswählen den Zieltyp aus und geben Sie dann im Dialogfeld das Ziel an. Sie können ein vorhandenes Ziel auswählen oder ein neues erstellen.

    • Wählen Sie für eine abfangende Senke Cloud de Confiance -Projekt aus und geben Sie dann den vollständig qualifizierten Namen des Zielprojekts Cloud de Confiance ein:

      logging.googleapis.com/projects/DESTINATION_PROJECT_ID
      
    • Wählen Sie für ein nicht abfangendes Ziel das Ziel aus und geben Sie dann den vollständig qualifizierten Namen des Ziels ein. Die folgenden Ziele werden unterstützt:

      • Cloud de Confiance project

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID
        
      • Cloud Logging-Bucket

        logging.googleapis.com/projects/DESTINATION_PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
        
      • Pub/Sub-Thema

        Geben Sie nicht den Namen eines Pub/Sub-Themas ein, für das Übertragungsbeschränkungen gelten.

        pubsub.googleapis.com/projects/DESTINATION_PROJECT_ID/topics/TOPIC_ID
        
  6. Wählen Sie im Bereich Logs auswählen, die in der Senke enthalten sind die Ressourcen aus, die in die Senke aufgenommen werden sollen.

    • Wählen Sie für ein abfangendes Senkenobjekt Logs abfangen, die von dieser Organisation und allen untergeordneten Ressourcen aufgenommen wurden aus.

    • Wählen Sie für eine nicht abfangende Senke Logs einschließen, die von dieser Ressource und allen untergeordneten Ressourcen aufgenommen wurden aus.

  7. Geben Sie im Feld „Einschließen“-Filter erstellen einen Filterausdruck ein, der den Logeinträgen entspricht, die Sie einschließen möchten. Wenn Sie keinen Filter festlegen, werden alle Logeinträge 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")
    

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

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

  8. Optional: Wenn Sie prüfen möchten, ob Sie den richtigen Filter eingegeben haben, wählen Sie Logvorschau ansehen aus. Dadurch wird der Log-Explorer in einem neuen Tab geöffnet, auf dem der Filter bereits vorab ausgefüllt ist.

  9. Optional: Führen Sie im Bereich Logs auswählen, die aus der Senke ausgeschlossen werden sollen die folgenden Schritte aus:

    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 Logeinträge aus einem bestimmten Projekt ausschließen möchten, damit sie nicht an das Ziel weitergeleitet werden, fügen Sie den folgenden „Ausschließen“-Filter hinzu:

      logName:projects/PROJECT_ID
      

      Wenn Sie Logeinträge aus mehreren Projekten ausschließen möchten, verwenden Sie den logischen ODER-Operator, um logName-Klauseln zu verknüpfen.

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

  10. Wählen Sie Senke erstellen aus.

  11. Um die Konfiguration der aggregierten Senke abzuschließen, müssen Sie dem Dienstkonto der Senke die Berechtigung zum Schreiben von Logeinträgen in das Ziel der Senke gewähren. Weitere Informationen finden Sie unter Berechtigungen für das Ziel festlegen.

gcloud

Verwenden Sie den Befehl logging sinks create, um ein aggregiertes Senken zu erstellen:

  1. Rufen Sie zum Erstellen einer Senke den Befehl gcloud logging sinks create auf und achten Sie darauf, dass Sie die Option --include-children einfügen.

    Bevor Sie den folgenden Befehl verwenden, ersetzen Sie die folgenden Werte:

    • SINK_NAME: Der Name der Logsenke. Sie können den Namen einer Senke nach dem Erstellen nicht mehr ändern.
    • SINK_DESTINATION: Der Dienst oder das Projekt, zu dem Sie Ihre Logeinträge weiterleiten möchten. Informationen zum Format dieser Ziele finden Sie unter Zielpfadformate.
    • INCLUSION_FILTER: Der „Einschließen“-Filter für eine Senke. Beispiele für Filter finden Sie unter Filter für aggregierte Senken erstellen.
    • FOLDER_ID: Die ID des Ordners. Wenn Sie einen Senken auf Organisationsebene erstellen möchten, ersetzen Sie --folder=FOLDER_ID durch -- organization=ORGANIZATION_ID.

    Führen Sie den Befehl gcloud logging sinks create aus.

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

    Sie können auch die folgenden Optionen angeben:

    • Wenn Sie eine abfangende Senke erstellen möchten, fügen Sie die Option --intercept-children ein.

    Wenn Sie beispielsweise eine aggregierte Senke auf Ordnerebene erstellen, deren Ziel ein Pub/Sub-Thema ist, sieht Ihr Befehl möglicherweise so aus:

    gcloud logging sinks create SINK_NAME \
      pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \
      --folder=FOLDER_ID --log-filter="logName:activity"
  2. Gewähren Sie dem Dienstkonto für die Senke die Berechtigung, in das Ziel der Senke zu schreiben. Weitere Informationen finden Sie unter Berechtigungen für das Ziel festlegen.

REST

Verwenden Sie die Logging API-Methode organizations.sinks.create oder folders.sinks.create, um ein aggregiertes Senken zu erstellen. Bereiten Sie die Argumente für die Methode so vor:

  1. Legen Sie das Feld parent auf die Cloud de Confiance Organisation oder den 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-Objekt im Anfragetext der Methode einen der folgenden Schritte aus:

    • Setzen Sie includeChildren auf True.

    • Wenn Sie eine abfangende Senke erstellen möchten, legen Sie das Feld interceptChildren auf True fest.

  3. Legen Sie das Feld filter so fest, dass es mit den Logeinträgen übereinstimmt, die Sie einbeziehen möchten.

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

    Die Länge eines Filters darf 20.000 Zeichen nicht überschreiten.

  4. Legen Sie die verbleibenden LogSink-Felder wie für jedes andere Ziel fest. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.

  5. Rufen Sie organizations.sinks.create oder folders.sinks.create auf, um das Ziel zu erstellen.

  6. Gewähren Sie dem Dienstkonto für die Senke die Berechtigung, in das Ziel der Senke zu schreiben. Weitere Informationen finden Sie unter Berechtigungen für das Ziel festlegen.

Es kann einige Minuten dauern, bis Änderungen an einem Senkenziel übernommen werden.

Filter für aggregierte Senken

In diesem Abschnitt finden Sie Beispiele für Filter, die Sie in einem aggregierten Senken verwenden können. Weitere Beispiele finden Sie unter Beispielabfragen mit dem Log-Explorer.

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.

Die Länge eines Filters ist auf 20.000 Zeichen begrenzt.

Weitere Informationen zur Filtersyntax finden Sie unter Logging-Abfragesprache.

Protokollquelle auswählen

Wenn Sie Logeinträge aus allen untergeordneten Ressourcen weiterleiten möchten, 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 Logeinträge mit dem Ressourcentyp „Compute Engine-Instanzen“, die in ein beliebiges untergeordnetes Element dieser Organisation geschrieben werden, vom aggregierten Senkenziel weitergeleitet.

Es kann jedoch Situationen geben, in denen Sie eine aggregierte Senke verwenden möchten, um Logeinträge nur von bestimmten untergeordneten Ressourcen weiterzuleiten. Aus Compliance-Gründen möchten Sie möglicherweise Audit-Logs aus bestimmten Ordnern oder Projekten in einem eigenen Cloud Storage-Bucket speichern. Konfigurieren Sie in diesen Fällen Ihren „Einschließen“-Filter so, dass jede untergeordnete Ressource angegeben wird, deren Logeinträge weitergeleitet werden sollen. Wenn Sie Logeinträge aus einem Ordner und allen Projekten in diesem Ordner weiterleiten möchten, muss der Filter den Ordner und jedes der in diesem Ordner enthaltenen Projekte auflisten und die Anweisungen mit einer OR-Klausel verknüpfen.

Mit den folgenden Filtern werden Logeinträge auf bestimmte Cloud de Confiance Projekte, Ordner oder Organisationen beschränkt:

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 Logeinträge weiterleiten möchten, die von Compute Engine-Instanzen generiert wurden und aus dem Ordner my-folder stammen, verwenden Sie den folgenden Filter:

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

Mit dem vorherigen Filter werden Logeinträge, die von einer anderen Ressource als my-folder stammen, nicht an das Ziel weitergeleitet. Das gilt auch für Logeinträge, die von Cloud de Confiance -Projekten stammen, die untergeordnete Projekte von my-folder sind.

Überwachte Ressource auswählen

Wenn Sie Logeinträge nur von einer bestimmten überwachten Ressource in einemCloud de Confiance -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 dem Logging die Berechtigungen für Identity and Access Management (IAM) erteilen, um Logeinträge in das Ziel Ihres Senken zu schreiben. Eine vollständige Liste der Logging-Rollen und -Berechtigungen finden Sie unter Zugriffssteuerung.

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

  • Seit dem 22. Mai 2023 wird das Dienstkonto von Logging erstellt, wenn Sie einen Senken erstellen und kein Dienstkonto für die zugrunde liegende Ressource vorhanden ist. Logging verwendet dasselbe Dienstkonto für alle Senken in der zugrunde liegenden Ressource. Ressourcen können ein Cloud de Confiance Projekt, eine Organisation, ein Ordner oder ein Abrechnungskonto 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 Writer-Identität, es sei denn, sie schreiben in einen Log-Bucket im aktuellen Cloud de Confiance Projekt. Die E-Mail-Adresse in der Identität des Autors gibt das Hauptkonto an, das Zugriff zum Schreiben von Daten in das Ziel haben muss.

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

Console

  1. So rufen Sie Informationen zum Dienstkonto für Ihr Senkenprojekt ab:

    1. Rufen Sie in der Cloud de Confiance Console die Seite Logs Router auf.

      Zu Logs Router

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

    2. Wählen Sie das Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Feld Senkendetails angezeigt.

    3. Wenn der Wert des Felds writerIdentity eine E‑Mail-Adresse enthält, fahre mit dem nächsten Schritt fort. Wenn der Wert None ist, müssen Sie keine Berechtigungen für das Ziel konfigurieren.

    4. Kopieren Sie die Identität des Autors der Senke in die Zwischenablage. Die Identitäten von Autoren können je nach Ressource, zu der die Senke gehört, unterschiedlich aussehen, beginnen aber immer mit serviceAccount:. Hier ist ein Beispiel für eine Autorenidentität:

      serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
      
  2. Gewähren Sie dem Hauptkonto, das durch die Identität des Autors der Senke angegeben wird, die Berechtigung zum Schreiben von Logdaten in das Ziel:

    1. Rufen Sie in der Cloud de Confiance Console die Seite IAM auf:

      IAM aufrufen

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin lautet.

    2. Wählen Sie in der Symbolleiste der Cloud de Confiance Console das Projekt aus, in dem das Ziel des aggregierten Senken gespeichert ist. Wenn das Ziel ein Projekt ist, wählen Sie dieses Projekt aus.

    3. Klicken Sie auf Zugriffsrechte erteilen.

    4. Geben Sie das Hauptkonto ein, das durch die Identität des Autors der Senke angegeben wird, und weisen Sie dann eine IAM-Rolle zu:

gcloud

  1. Sie benötigen Inhaberzugriff auf dasCloud de Confiance -Projekt, das das Ziel enthält. Wenn Sie keinen Owner Zugriff auf das Ziel der Senke haben, bitten Sie einen Project Owner, die Writer-Identität als Prinzipal hinzuzufügen.

  2. Rufen Sie die Methode gcloud logging sinks describe auf, um Informationen zum Dienstkonto für Ihr Senkenziel abzurufen.

    Bevor Sie den folgenden Befehl verwenden, ersetzen Sie die folgenden Werte:

    • SINK_NAME: Der Name der Logsenke. Sie können den Namen einer Senke nach dem Erstellen nicht mehr ändern.

    Führen Sie den Befehl gcloud logging sinks describe aus.

    gcloud logging sinks describe SINK_NAME
    
  3. Wenn die Senkendetails ein Feld mit dem Label writerIdentity enthalten, fahren Sie mit dem nächsten Schritt fort. Wenn die Details kein writerIdentity-Feld enthalten, müssen Sie keine Zielberechtigungen für das Senken konfigurieren.

  4. Kopieren Sie die Identität des Autors der Senke in die Zwischenablage. Das Folgende veranschaulicht eine Autorenidentität:

    serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
    
  5. Erteilen Sie der Autorenidentität der Senke die Berechtigung, Logdaten in das Ziel zu schreiben, indem Sie den Befehl gcloud projects add-iam-policy-binding aufrufen.

    Bevor Sie den folgenden Befehl verwenden, ersetzen Sie die folgenden Werte:

    • PROJECT_ID: Die Kennung des Projekts. Wählen Sie das Projekt aus, in dem das Ziel des aggregierten Senken gespeichert ist. Wenn das Ziel ein Projekt ist, wählen Sie dieses Projekt aus.
    • PRINCIPAL: Eine Kennzeichnung für das Hauptkonto, dem Sie die Rolle zuweisen möchten. Hauptkonto-Kennzeichnungen haben normalerweise das folgende Format: PRINCIPAL-TYPE:ID. Beispiel: principal://iam.googleapis.com/locations/global/workforcePools/my-pool/subject/my-user@example.com Eine vollständige Liste der Formate, die PRINCIPAL haben kann, finden Sie unter Hauptkonto-IDs.
    • ROLE: Eine IAM-Rolle. Weisen Sie der Identität des Autors der Senke eine IAM-Rolle basierend auf dem Ziel der Logsenke zu:

    Führen Sie den Befehl gcloud projects add-iam-policy-binding aus.

    gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role=ROLE
    

REST

Wir empfehlen, die Cloud de Confiance -Konsole oder die Google Cloud CLI zu verwenden, um dem Dienstkonto eine Rolle zuzuweisen.

Nächste Schritte