Mit aggregierten Senken in Cloud Logging können Sie Logeinträge aus allen Ressourcen in einem Ordner oder einer Organisation kombinieren und an ein zentrales Ziel weiterleiten. Sie können eine aggregierte Senke als abfangend oder nicht abfangend konfigurieren, Filter definieren, um zu steuern, welche Logeinträge weitergeleitet werden, und der Senke die Berechtigung zum Schreiben in ihr Ziel erteilen.
Beschränkungen
Wenn Sie ein aggregiertes Senken konfigurieren, gelten die folgenden Einschränkungen:
Ein Zielpfad kann nur einen globalen Dienstendpunkt enthalten, z. B.
pubsub.googleapis.com. Sie können keinen regionalen Dienstendpunkt (Regional Service Endpoint, REP) wiepubsub.LOCATION.rep.googleapis.comeinfügen. Eine Liste der unterstützten Zielpfade finden Sie unter Zielpfadformate.Das Weiterleiten von Logdaten an Pub/Sub-Themen mit Einschränkungen während der Übertragung wird nicht unterstützt. Wenn Sie eine Logsenke für ein Pub/Sub-Thema mit Einschränkungen für die Übertragung konfigurieren, werden möglicherweise
topic_region_not_allowed-Konfigurationsfehler und verworfene Logs angezeigt.
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 Ordner oder eine Organisation in Cloud de Confiance by S3NS mit Logeinträgen, die Sie im Log-Explorer sehen können.
Sie haben eine der folgenden IAM-Rollen (Identity and Access Management) für die Organisation oder den Ordner inCloud de Confiance , von der bzw. 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.
- Inhaber (
Das Ziel der aggregierten Senke 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.
Wählen Sie die Schnittstelle aus, die Sie verwenden möchten:
Console
Wenn Sie über die Cloud de Confiance Console auf Dienste und APIs von Cloud de Confiance by S3NS 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 initREST
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 eine aggregierte Senke erstellen. Informationen zum Gewähren von Berechtigungen für die Senke finden Sie unter 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:
-
Rufen Sie in der Cloud de Confiance Console die Seite Logs Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Wählen Sie einen vorhandenen Ordner oder eine vorhandene Organisation aus.
Wählen Sie Senke erstellen aus.
Geben Sie im Bereich Senkendetails die folgenden Details ein:
Senkenname: Geben Sie eine Kennzeichnung für die Senke an. Nachdem Sie die Senke erstellt haben, können Sie sie nicht mehr umbenennen, aber löschen und eine neue erstellen.
Senkenbeschreibung (optional): Beschreiben Sie den Zweck oder den Anwendungsfall für die Senke.
Wählen Sie im Menü Senkendienst auswählen den Zieltyp aus und füllen Sie dann das Dialogfeld aus, um das Ziel anzugeben. 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 Ziel-Cloud de Confiance -Projekts ein:
logging.googleapis.com/projects/DESTINATION_PROJECT_IDWä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 -Projekt
logging.googleapis.com/projects/DESTINATION_PROJECT_IDLogging-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 Einschränkungen für die Übertragung gelten.
pubsub.googleapis.com/projects/DESTINATION_PROJECT_ID/topics/TOPIC_ID
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 eine abfangende Senke die Option Logs abfangen, die von dieser Organisation und allen untergeordneten Ressourcen aufgenommen wurden aus.
Wählen Sie für eine nicht abfangende Senke die Option Logs einschließen, die von dieser Ressource und allen untergeordneten Ressourcen aufgenommen wurden aus.
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 aus der ausgewählten Ressource an das Ziel weitergeleitet.
Sie können beispielsweise einen Filter erstellen, um alle Audit-Logs für den 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 finden Sie unter Filter für aggregierte Senken.
Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.
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.
Optional: Führen Sie im Bereich Logs auswählen, die aus der Senke ausgeschlossen werden sollen die folgenden Schritte aus:
Geben Sie in das Feld Name des Ausschlussfilters einen Namen ein.
Geben Sie im Feld „Ausschließen“-Filter erstellen einen Filterausdruck ein, der mit den Logeinträgen übereinstimmt, die Sie ausschließen möchten. Mit der Funktion
samplekönnen Sie auch einen Teil der Logeinträge auswählen, die ausgeschlossen werden sollen.Wenn Sie beispielsweise die Logeinträge aus einem bestimmten Projekt vom Routing zum Ziel ausschließen möchten, fügen Sie den folgenden Ausschlussfilter 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.
Sie können bis zu 50 Ausschlussfilter pro Senke erstellen. Beachten Sie, dass ein Filter nicht länger als 20.000 Zeichen sein darf.
Wählen Sie Senke erstellen aus.
Um die Konfiguration Ihrer aggregierten Senke abzuschließen, gewähren Sie dem Dienstkonto für die Senke die Berechtigung, Logeinträge in das Ziel der Senke zu schreiben. Weitere Informationen finden Sie unter Zielberechtigungen festlegen.
gcloud
Verwenden Sie den Befehl logging sinks create, um ein aggregiertes Senken zu erstellen:
Wenn Sie eine Senke erstellen möchten, führen Sie den Befehl
gcloud logging sinks createaus und fügen Sie das Flag--include-childrenein.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, an den bzw. das Ihre Logeinträge weitergeleitet werden sollen. Informationen zum Format dieser Ziele finden Sie unter Formate für Zielpfade.
- INCLUSION_FILTER: Der „Einschließen“-Filter für eine Senke. Beispiele finden Sie unter Filter für aggregierte Senken.
- FOLDER_ID: Die ID des Ordners. Wenn Sie einen Senken auf Organisationsebene erstellen möchten, ersetzen Sie
--folder=FOLDER_IDdurch--organization=ORGANIZATION_ID.
Führen Sie den Befehl
gcloud logging sinks createaus:gcloud logging sinks create SINK_NAME \ SINK_DESTINATION --include-children \ --folder=FOLDER_ID --log-filter="INCLUSION_FILTER"
Wenn Sie eine abfangende Senke erstellen möchten, fügen Sie auch das Flag
--intercept-childrenein.Wenn Sie beispielsweise eine aggregierte Senke auf Ordnerebene erstellen, deren Ziel ein Pub/Sub-Thema ist, könnte Ihr Befehl so aussehen:
gcloud logging sinks create SINK_NAME \ pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID --include-children \ --folder=FOLDER_ID --log-filter="logName:activity"
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 zum Erstellen einer aggregierten Senke die Logging API-Methode organizations.sinks.create oder folders.sinks.create.
Bereiten Sie die Argumente für die Methode so vor:
Legen Sie im Feld
parentdie Organisation oder den Ordner Cloud de Confiance fest, in der bzw. dem die Senke erstellt werden soll. Geben Sie als übergeordnete Ressource eine der folgenden an:organizations/ORGANIZATION_IDfolders/FOLDER_ID
Führen Sie im Objekt
LogSinkim Anfragetext der Methode einen der folgenden Schritte aus:Setzen Sie
includeChildrenauftrue.Wenn Sie eine abfangende Senke erstellen möchten, legen Sie das Feld
interceptChildrenauftruefest.
Legen Sie das Feld
filterso fest, dass es mit den Logeinträgen übereinstimmt, die Sie einschließen möchten.Beispiele finden Sie unter Filter für aggregierte Senken.
Die Länge eines Filters darf 20.000 Zeichen nicht überschreiten.
Legen Sie die verbleibenden
LogSink-Felder wie für jede andere Senke fest. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten.Rufen Sie
organizations.sinks.createoderfolders.sinks.createauf, um die Senke zu erstellen.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 einer Senke wirksam werden.
Zielberechtigungen festlegen
In diesem Abschnitt wird beschrieben, wie Sie der Schreibidentität eines Log-Senken die erforderlichen IAM-Berechtigungen gewähren, damit die Senke Logeinträge in das Ziel der Senke schreiben kann. Die Writer-Identität ist die ID des Dienstkontos, das der Senke zugeordnet ist. Diese Identität enthält eine E-Mail-Adresse, die das Hauptkonto identifiziert, das Zugriff zum Schreiben von Daten in das Ziel haben muss.
Sie müssen keine Zielberechtigungen festlegen, wenn eine Logsenke Logeinträge an einen Log-Bucket im selben Projekt weiterleitet. Für diese Konfiguration ist kein Dienstkonto erforderlich. Bei allen anderen Konfigurationen erstellt und verwaltet Logging das Dienstkonto für eine Logsenke automatisch. Sie müssen die Zielberechtigungen festlegen:
- Seit dem 22. Mai 2023 verwendet Logging dasselbe Dienstkonto für alle Senken in der zugrunde liegenden Ressource. Ressourcen können einCloud de Confiance -Projekt, eine Organisation, ein Ordner oder ein Rechnungskonto sein.
- Vor dem 22. Mai 2023 hat Logging für jede Senke ein Dienstkonto erstellt.
So legen Sie Berechtigungen fest, damit Ihre Senke an ihr Ziel weiterleitet:
Console
So rufen Sie Informationen zum Dienstkonto für Ihre Senke ab:
-
Rufen Sie in der Cloud de Confiance Console die Seite Logs Router auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis mit der Zwischenüberschrift Logging aus.
Wählen Sie more_vert Menü und dann Senkendetails ansehen aus. Die Identität des Autors wird im Feld Senkendetails angezeigt.
Wenn der Wert des Felds
writerIdentityeine E-Mail-Adresse enthält, fahren Sie mit dem nächsten Schritt fort. Wenn der WertNoneist, müssen Sie keine Berechtigungen für das Ziel konfigurieren.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, haben aber immer das Präfix
serviceAccount:. Hier ein Beispiel für eine Writer-Identität:serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.com
-
Gewähren Sie dem Hauptkonto, das durch die Identität des Autors der Senke angegeben ist, die Berechtigung, Logdaten in das Ziel zu schreiben:
-
Rufen Sie in der Cloud de Confiance Console die Seite IAM auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin lautet.
Wählen Sie in der Symbolleiste der Cloud de Confiance Console das Projekt aus, in dem das Ziel der aggregierten Senke gespeichert ist. Wenn das Ziel ein Projekt ist, wählen Sie dieses Projekt aus.
Klicken Sie auf Zugriffsrechte erteilen.
Geben Sie das Hauptkonto ein, das durch die Identität des Autors der Senke angegeben ist, und weisen Sie dann eine IAM-Rolle zu:
- Weisen Sie für alle Ziele die Rolle „Log-Autor“ (
roles/logging.logWriter) zu. Ein Hauptkonto benötigt insbesondere die Berechtigunglogging.logEntries.route. - Weisen Sie je nach Ziel eine der folgenden Rollen zu:
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
roles/logging.bucketWriter) zu. - Pub/Sub-Thema: Weisen Sie die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher) zu.
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
- Weisen Sie für alle Ziele die Rolle „Log-Autor“ (
-
gcloud
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.
Wenn Sie Informationen zum Dienstkonto für Ihr Ziel erhalten möchten, führen Sie den Befehl
gcloud logging sinks describeaus.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 describeaus:gcloud logging sinks describe SINK_NAMEWenn die Senkendetails ein Feld mit der Bezeichnung
writerIdentityenthalten, fahren Sie mit dem nächsten Schritt fort. Wenn die Details keinwriterIdentity-Feld enthalten, müssen Sie keine Zielberechtigungen für die Senke konfigurieren.Kopieren Sie die Identität des Autors der Senke in die Zwischenablage. Im Folgenden wird eine Autorenidentität dargestellt:
serviceAccount:service-123456789012@gcp-sa-logging.s3ns-system.iam.gserviceaccount.comErteilen Sie der Autorenidentität der Senke die Berechtigung, Logdaten in das Ziel zu schreiben, indem Sie den Befehl
gcloud projects add-iam-policy-bindingausführen.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 der aggregierten Senke 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.comEine vollständige Liste der Formate, diePRINCIPALhaben 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:
- Weisen Sie für alle Ziele die Rolle „Log-Autor“ (
roles/logging.logWriter) zu. Ein Hauptkonto benötigt insbesondere die Berechtigunglogging.logEntries.route. - Weisen Sie je nach Ziel eine der folgenden Rollen zu:
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
roles/logging.bucketWriter) zu. - Pub/Sub-Thema: Weisen Sie die Rolle „Pub/Sub-Publisher“ (
roles/pubsub.publisher) zu.
- Log-Bucket: Weisen Sie die Rolle „Log-Bucket-Autor“ (
- Weisen Sie für alle Ziele die Rolle „Log-Autor“ (
Führen Sie den Befehl
gcloud projects add-iam-policy-bindingaus: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.
Filter für aggregierte Senken
In diesem Abschnitt finden Sie Beispiele für Filter, die Sie in einer aggregierten Senke 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 „Einschließen“- und „Ausschließen“-Filtern Ihrer 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 diesem Filter leitet die aggregierte Senke Logeinträge von Compute Engine-Instanzen in allen untergeordneten Ressourcen dieser Organisation an das Ziel weiter.
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 beispielsweise Audit-Logs aus bestimmten Ordnern oder Projekten in einem eigenen Cloud Storage-Bucket speichern. In diesen Situationen konfigurieren Sie den „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, müssen im Filter der Ordner und jedes der in diesem Ordner enthaltenen Projekte aufgeführt sein. Außerdem müssen die Anweisungen mit einer OR-Klausel verknüpft werden.
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 diesem Filter werden Logeinträge, die aus einer anderen Ressource als my-folder stammen, nicht an das Ziel weitergeleitet. Das gilt auch für Logeinträge, die aus Cloud de Confiance -Projekten stammen, die untergeordnete Elemente 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.
Informationen zu Logging-Filtern finden Sie unter Logging-Abfragesprache.
Nächste Schritte
Logansichten für einen Log-Bucket erstellen: Mit Logansichten können Sie Hauptkonten Lesezugriff auf eine Teilmenge der in einem Log-Bucket gespeicherten Logeinträge gewähren.