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 kombinieren und weiterleiten, die von der Google Cloud-Ressourcen in Ihrer Organisation oder Ihrem Ordner an einem zentralen Ort speichern.

Übersicht

Aggregierte Senken kombinieren und weiterleiten Log-Einträge aus den Ressourcen in einer Organisation oder einem Ordner an ein Ziel.

Wenn Sie steuern möchten, welche Logeinträge in diesen Ressourcen abgefragt werden können, oder weitergeleitet über die Senken in diesen Ressourcen, dann können Sie eine aggregierte Senke nicht abfangen oder abfangen:

  • Eine nicht abfangende aggregierte Senke leitet Logeinträge über Senken in einer untergeordneten Senke weiter. Ressourcen. Mit dieser Senke behalten Sie die Sichtbarkeit der Logeinträge in der Ressourcen, in denen sie generiert wurden. Nicht abfangende Senken sind nicht sichtbar an untergeordnete Ressourcen an.

    Sie können beispielsweise eine nicht abfangende aggregierte Senke erstellen, die Alle Logeinträge, die aus den Ordnern einer Organisation generiert wurden in einem zentralen Log-Bucket gespeichert. Die Logeinträge werden in der zentralen Log-Bucket und auch in den Ressourcen, in denen die Logeinträge generiert wurden.

  • Eine abfangende aggregierte Senke verhindert das Weiterleiten von Logeinträgen bis Senken in untergeordneten Ressourcen mit Ausnahme von _Required-Senken. Diese Senke kann um zu verhindern, dass Kopien von Log-Einträgen in an mehreren Orten.

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

    Abfangende Senken verhindern, dass Logs über den Logrouter von untergeordneten Ressourcen, es sei denn, die Logs stimmen auch mit der Senke _Required überein. Da die abgefangen werden, zählen sie nicht zu logbasierten Messwerten oder logbasierte Benachrichtigungsrichtlinien in den untergeordneten Ressourcen. Sie können sich abfangende Senken auf der Seite Logrouter der untergeordneten Ressourcen.

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 Logeinträge innerhalb oder zwischen denselben Organisationen und Ordnern an folgende Ziele verschieben:

  • 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. Der Log-Bucket kann sich in dem Projekt befinden, aus dem die Logeinträge stammen, oder die sich in einem anderen Projekt befinden. Sie können Ihre Cloud Logging-Daten zusammen mit anderen Daten durch Upgrade eines Log-Buckets zur Verwendung Loganalysen und anschließendes Erstellen eines verknüpften BigQuery-Datasets. Informationen zum Aufrufen von Logeinträgen, die in Log-Buckets gespeichert sind, finden Sie unter Übersicht über Abfrage- und Ansichtslogs und An Cloud Logging-Buckets weitergeleitete Logs ansehen.
  • BigQuery-Dataset: ermöglicht die Speicherung von Logeinträgen in BigQuery-Datasets Das BigQuery-Dataset kann sich im selben Projekt befinden, in dem Logeinträge enthalten sind aus einem anderen Projekt stammen. Sie können Big-Data-Analysefunktionen für die gespeicherten Logeinträge. Um Ihre Cloud Logging-Daten mit anderen Datenquellen verwendet werden, empfehlen wir, dass Sie Ihre Log-Buckets aktualisieren, Log Analytics und erstellen Sie dann ein verknüpftes BigQuery-Dataset. Informationen zum Aufrufen von an BigQuery weitergeleiteten Logeinträgen finden Sie unter An BigQuery weitergeleitete Logs ansehen
  • Cloud Storage-Bucket: Bietet die Speicherung von Logeinträgen in Cloud Storage. Der Cloud Storage-Bucket kann sich in demselben Projekt befinden, in dem Logeinträge enthalten sind aus einem anderen Projekt stammen. Logeinträge werden als JSON-Dateien gespeichert. Informationen zum Aufrufen von Logeinträgen, die an Cloud Storage weitergeleitet wurden, Siehe An Cloud Storage weitergeleitete Logs ansehen.
  • Pub/Sub-Thema: bietet Unterstützung für Drittanbieter Integrationen wie Splunk. Logeinträge werden als JSON formatiert und dann an ein Pub/Sub weitergeleitet . Das Thema kann sich im selben Projekt befinden, in dem Logeinträge enthalten sind aus einem anderen Projekt stammen. Informationen zum Aufrufen von Logeinträgen, die weitergeleitet an Pub/Sub, siehe An Pub/Sub weitergeleitete Logs ansehen

  • Google Cloud-Projekt: Leiten Sie Logeinträge an ein anderes Google Cloud-Projekt weiter. In verarbeiten die Senken im Zielprojekt Logeinträge.

Best Practices zum Abfangen von Senken

Wenn Sie eine abfangende Senke erstellen, empfehlen wir Folgendes:

  • Überlegen Sie, ob untergeordnete Ressourcen eine unabhängige Kontrolle über das Routing ihrer Ressourcen benötigen Logeinträge. Benötigt eine untergeordnete Ressource unabhängige Kontrolle über bestimmte Log-Einträge müssen Sie sicherstellen, dass die abfangende Senke diese Logeinträge.

  • Fügen Sie der Beschreibung einer abfangenden Senke Kontaktinformationen hinzu. Dieses kann hilfreich sein, wenn die Personen, die die abfangende Senke verwalten, von denjenigen, die die Projekte verwalten, deren Logeinträge abgefangen werden.

  • Testen Sie die Senkenkonfiguration, indem Sie zuerst eine nicht abfangende aggregierte um sicherzustellen, dass die richtigen Logeinträge weitergeleitet werden.

Aggregierte Senken und VPC Service Controls

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

  • Aggregierte Senken können auf Daten aus Projekten innerhalb eines Dienstes zugreifen des Perimeters. Um zu verhindern, dass aggregierte Senken auf Daten in einem Perimeter definieren, empfehlen wir die Verwendung von IAM zur Verwaltung Logging-Berechtigungen.

  • VPC Service Controls unterstützt das Hinzufügen von Ordnern oder Organisationsressourcen zu Dienstperimetern. Daher können Sie nicht VPC Service Controls zum Schutz von Logs auf Ordner- und Organisationsebene, einschließlich aggregierter Logs. Logging verwalten Berechtigungen auf Ordner- oder Organisationsebene haben, IAM

  • Wenn Sie Logs mithilfe einer Senke auf Ordner- oder Organisationsebene an eine Ressource, die ein Dienstperimeter schützt, müssen Sie einen für den Dienstperimeter. Die Regel für eingehenden Traffic muss Zugriff zulassen vom Dienstkonto, das die aggregierte Senke verwendet, zur Ressource. Weitere Informationen finden Sie auf den folgenden Seiten:

  • Wenn Sie eine Richtlinie für eingehenden oder ausgehenden Traffic für einen Dienstperimeter festlegen, Sie können ANY_SERVICE_ACCOUNT und ANY_USER_ACCOUNT als Identitätstyp, wenn Sie eine Logsenke verwenden um Logs an Cloud Storage-Ressourcen weiterzuleiten. 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 Google Cloud-Organisation mit Logeinträgen zum Beispiel finden Sie im Log-Explorer.

  • Sie haben eine der folgenden IAM-Rollen für die Google Cloud-Organisation oder -Ordner, von der/dem Sie das Routing durchführen Logeinträge.

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

    Mit den Berechtigungen, die in diesen Rollen enthalten sind, können Sie Senken modifizieren. Informationen zum Festlegen von IAM-Rollen finden Sie unter die Anleitung zur Zugriffssteuerung für Logging

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

    Das Ziel muss vor der Senke erstellt werden: entweder über die Google Cloud CLI, die Google Cloud Console oder APIs Sie können das Ziel in jedem Google Cloud-Projekt in jedem Organisation, aber Sie müssen sicherstellen, dass das Dienstkonto der Die Senke verfügt über Berechtigungen zum Schreiben in das Ziel.

Aggregierte Senke erstellen

Console

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

  1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

    Zum Logrouter

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  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. Führen Sie einen der folgenden Schritte aus:

    • Um eine abfangende Senke zu erstellen, führen Sie im Menü Senkendienst auswählen die folgenden Schritte aus: Wählen Sie Google Cloud-Projekt aus und geben Sie den voll qualifizierten Namen ein für das Ziel. Informationen zur Syntax finden Sie unter Zielpfadformate:

    • Rufen Sie Senkendienst auswählen auf, um eine nicht abfangende Senke zu erstellen. und führen Sie einen der folgenden Schritte aus:

      • So leiten Sie Logeinträge an ein anderes Google Cloud-Projekt weiter: wählen Sie Google Cloud-Projekt aus und geben Sie Name für das Ziel. Informationen zur Syntax finden Sie unter Zielpfadformate:

      • So leiten Sie Logeinträge an einen Dienst weiter, der sich im selben Google Cloud-Projekt eine der folgenden Optionen aus:

        • Cloud Logging-Bucket: Wählen Sie einen Logging-Bucket aus oder erstellen Sie einen.
        • BigQuery-Dataset: Wählen oder erstellen Sie das spezifische Dataset zum Empfangen der weitergeleiteten Logeinträge. Sie haben auch die Möglichkeit, zu verwenden Partitionierte Tabellen.
        • Cloud Storage-Bucket: Wählen Sie den gewünschten Bucket aus oder erstellen Sie ihn. Cloud Storage-Bucket zum Empfangen der weitergeleiteten Logeinträge.
        • Pub/Sub-Thema: Wählen oder erstellen Sie das spezifische Thema, um die weitergeleiteten Logeinträge zu empfangen.
        • Splunk: Wählen Sie das Pub/Sub-Thema für den Splunk-Dienst aus.
      • So leiten Sie Logeinträge an einen Dienst weiter, der sich in einem anderen Google Cloud-Projekt:

        1. Wählen Sie Andere Ressource aus.
        2. Geben Sie den voll qualifizierten Namen für das Ziel ein. Informationen zur Syntax finden Sie in der Zielpfadformate:

          Wenn das Senkenziel beispielsweise ein Pub/Sub- Thema hat, sieht der destination so aus:

          pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
          
  6. Führen Sie im Bereich Logs zum Einbeziehen in Senke auswählen einen der folgenden Schritte aus:

    • Wählen Sie zum Erstellen einer abfangenden Senke die Option Logs abfangen von dieser Organisation und aller untergeordneten Ressourcen.

    • Wählen Sie zum Erstellen einer nicht abfangenden aggregierten Senke die Option Logs einschließen aus von dieser und allen untergeordneten Ressourcen aufgenommen wurden.

  7. Schließen Sie das Dialogfeld ab, indem Sie einen Filterausdruck im Feld Feld Einschlussfilter erstellen, der den gewünschten Logeinträgen entspricht aufgenommen werden. Wenn Sie keinen Filter festlegen, werden alle Logeinträge der ausgewählten an das Ziel weitergeleitet werden.

    Sie können z. B. einen Filter erstellen, um alle Datenzugriffe zu einem einzelnen Logging-Bucket hinzufügen. Dieser Filter sieht wie zum Beispiel so:

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

    Filterbeispiele 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: Um zu überprüfen, ob Sie den richtigen Filter eingegeben haben, wählen Sie Logs als Vorschau ansehen Dadurch wird der Log-Explorer in einem neuen Tab mit den automatisch ausgefüllt.

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

    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 Logeinträge aus einem bestimmten Projekt Wesen an das Ziel weitergeleitet werden, fügen Sie den folgenden Ausschlussfilter hinzu:

      logName:projects/PROJECT_ID
      

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

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

  10. Wählen Sie Senke erstellen aus.

  11. Gewähren Sie dem Dienstkonto für die Senke die Berechtigung zum Schreiben Logeinträge an das Senkenziel. Weitere Informationen finden Sie unter Legen Sie Zielberechtigungen fest.

Protokoll

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

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

    • organizations/ORGANIZATION_ID
    • folders/FOLDER_ID
  2. Fügen Sie im LogSink-Objekt im Methodenanfragetext Folgendes ein: Führen Sie einen der folgenden Schritte aus:

    • Setzen Sie includeChildren auf True.

    • Um eine abfangende Senke zu erstellen, legen Sie auch den Parameter interceptChildren auf True.

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

    Filterbeispiele 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 jede Senke fest. Weitere Informationen finden Sie unter Logs an unterstützte Ziele weiterleiten

  5. Rufen Sie unter organizations.sinks.create an oder folders.sinks.create bis erstellen Sie die Senke.

  6. Dem Dienstkonto der Senke die Berechtigung zum Schreiben in die Senke gewähren Ziel. Weitere Informationen finden Sie unter Legen Sie Zielberechtigungen fest.

gcloud

Verwenden Sie zum Erstellen einer aggregierten Senke die Methode logging sinks create Befehl:

  1. Rufen Sie zum Erstellen einer Senke die Methode 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. Der Name einer Senke kann nach dem Erstellen nicht mehr geändert werden.
    • SINK_DESTINATION: Der Dienst oder das Projekt, an das die Logeinträge weitergeleitet werden sollen.
    • INCLUSION_FILTER: Der Einschlussfilter für eine Senke. Filterbeispiele finden Sie unter Filter für aggregierte Senken erstellen
    • FOLDER_ID: Die ID des Ordners. Wenn Sie eine Senke erstellen möchten, auf Organisationsebene erstellen und dann --folder=FOLDER_ID mit -- organization=ORGANIZATION_ID.

    Führen Sie den gcloud logging sinks create Befehl:

    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:

    • Fügen Sie zum Erstellen einer abfangenden Senke den Parameter Option --intercept-children.

    Wenn Sie beispielsweise eine aggregierte Senke auf Ordnerebene erstellen, und deren Ziel ein Pub/Sub-Thema ist, könnte 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"
    
  2. Dem Dienstkonto der Senke die Berechtigung zum Schreiben in die Senke gewähren Ziel. Weitere Informationen finden Sie unter Legen Sie Zielberechtigungen fest.

Es kann einige Minuten dauern, bis alle an einer Senke vorgenommenen Änderungen 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 gilt für jede untergeordnete Ressource der Organisation oder des Ordners werden die Einschluss- und Ausschlussfilter der Senke auf jeden Logeintrag angewendet, an die untergeordnete Ressource gesendet. Ein Logeintrag, der mit einer Einschlussfilter und nicht ausgeschlossen werden, wird weitergeleitet.

Wenn Sie möchten, dass die Senke Logeinträge aus allen untergeordneten Ressourcen weiterleitet, Projekt, Ordner oder Organisation angeben in den Ein- und Ausschlussfiltern der Senke. Angenommen, Sie eine aggregierte Senke für eine Organisation mit dem folgenden Filter konfigurieren:

resource.type="gce_instance"

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

Es kann jedoch Situationen geben, in denen Sie eine aggregierte Senke verwenden möchten, um Logeinträge nur von bestimmten untergeordneten Ressourcen weiterzuleiten. Beispiel: Compliance Gründe, warum Sie Audit-Logs aus bestimmten Ordnern oder Projekten speichern sollten in einem eigenen Cloud Storage-Bucket. Konfigurieren Sie in diesen Fällen die Einschlussfilter, um alle untergeordneten Ressourcen anzugeben, deren Logeinträge Sie abrufen möchten weitergeleitet. Wenn Sie Logeinträge aus einem Ordner und allen Projekten darin weiterleiten möchten diesem Ordner, muss der Filter den Ordner und alle Projekte auflisten, die in diesen Ordner erstellen und die Anweisungen mit einer OR-Klausel verknüpfen.

Die folgenden Filter beschränken Logeinträge 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 ... 

Beispielsweise, um nur Logeinträge weiterzuleiten, die in 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 Logeinträge, die in eine andere Ressource als my-folder, einschließlich Logeinträgen, die in Google Cloud-Projekte geschrieben wurden, die Untergeordnete von my-folder werden nicht an das Ziel weitergeleitet.

Überwachte Ressource auswählen

So leiten Sie Logeinträge nur von einer bestimmten überwachten Ressource in einem Google Cloud-Projekt – verwenden Sie mehrere Vergleiche, um die Ressource anzugeben genau:

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 Berechtigungen zu Identity and Access Management, um Logeinträge in das Senkenziel 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 weiterleitet, als einen Log-Bucket im aktuellen Projekt, ein Dienstkonto für diese Senke. ist erforderlich. Logging erstellt und verwaltet Dienstkonto für Sie:

  • Seit dem 22. Mai 2023 gilt: Wenn Sie eine Senke und keinen Dienst erstellen, Konto für die zugrunde liegende Ressource vorhanden ist, erstellt Logging Dienstkonto. Logging verwendet dasselbe Dienstkonto alle Senken in der zugrunde liegenden Ressource. Ressourcen können Google Cloud-Projekte, eine Organisation, ein Ordner oder eine Rechnungskonto.
  • Vor dem 22. Mai 2023 wurde in Logging ein Dienst erstellt für jede Senke. Seit dem 22. Mai 2023 Logging verwendet ein freigegebenes Dienstkonto für alle Senken im zugrunde liegende Ressource.

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

So leiten Sie Logeinträge an eine Ressource weiter, die durch ein Dienstperimeter müssen Sie das Dienstkonto für diese Senke einer Zugriffsebene hinzufügen. Weisen Sie ihn dem Zieldienstperimeter zu. 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. Um Informationen zum Dienstkonto für Ihre Senke zu erhalten, Gehen Sie so vor:

    1. Rufen Sie in der Google Cloud Console die Seite Logrouter auf:

      Zum Logrouter

      Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

    2. Wählen Sie Menü und dann Senkendetails aufrufen Die Identität des Autors erscheint in der Bereich Senkendetails:

    3. Wenn der Wert des Felds writerIdentity eine E-Mail-Adresse enthält, und fahren Sie dann mit dem nächsten Schritt fort. Wenn der Wert None ist, Zielberechtigungen konfigurieren müssen.

    4. Kopieren Sie die Autorenidentität der Senke in die Zwischenablage. Der String serviceAccount: ist Teil der Dienstkontoidentität sein. Beispiel:

      serviceAccount:[email protected]
      
    5. Fügen Sie das Dienstkonto als IAM-Hauptkonto in der Zielprojekt:

      1. Öffnen Sie in der Google Cloud Console die Seite IAM:

        Rufen Sie IAM auf.

        Wenn Sie diese Seite über die Suchleiste finden, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM und Verwaltung.

      2. Wählen Sie das Zielprojekt aus.

      3. Klicken Sie auf Zugriff erlauben.

      4. Gewähren Sie dem Dienstkonto die erforderliche IAM-Rolle:

        • Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke hinzu. mithilfe von IAM als Hauptkonto festlegen und ihm dann die Rolle „Storage Object Creator“ (roles/storage.objectCreator).
        • Fügen Sie für BigQuery-Ziele die Identität des Autors der Senke hinzu. mithilfe von IAM als Hauptkonto festlegen und ihm dann die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor).
        • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke hinzu. mithilfe von IAM als Hauptkonto festlegen und ihm dann die Rolle „Pub/Sub-Publisher“ (roles/pubsub.publisher).
        • Für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekte hinzufügen, fügen Sie die Identität des Autors der Senke als Hauptkonto hinzu. und gewähren Sie dann die Rolle „Log-Bucket-Autor“ (roles/logging.bucketWriter).
        • Fügen Sie für Google Cloud-Projektziele den Wert der Senke hinzu. Identität des Autors mithilfe von IAM als Hauptkonto festlegen und ihm dann den Rolle „Logautor“ (roles/logging.logWriter). Insbesondere benötigt ein Auftraggeber Berechtigung „logging.logEntries.route“.

Protokoll

Wir empfehlen die Verwendung der Google Cloud Console oder der Google Cloud CLI um dem Dienstkonto eine Rolle zuzuweisen.

gcloud

  1. Sie benötigen die Rolle Inhaber für das Google Cloud-Projekt, das das Ziel enthält. Wenn Sie nicht die Rolle Inhaber für das Ziel der Senke haben, bitten Sie einen Projektinhaber, die Identität des Autors als Prinzipal hinzuzufügen.

  2. Um Informationen zum Dienstkonto für Ihre Senke zu erhalten, rufen Sie die Methode gcloud logging sinks describe-Methode.

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

    • SINK_NAME: Der Name der Logsenke. Der Name einer Senke kann nach dem Erstellen nicht mehr geändert werden.

    Führen Sie den gcloud logging sinks describe Befehl:

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

  4. Kopieren Sie die Autorenidentität der Senke in die Zwischenablage. Der String serviceAccount: ist Teil der Dienstkontoidentität sein.

    Die Identität des Autors für das Dienstkonto sieht in etwa so aus: Folgendes:

    serviceAccount:[email protected]
    
  5. So fügen Sie das Dienstkonto als IAM-Hauptkonto in der Zielprojekt ist, rufen Sie die gcloud projects add-iam-policy-binding auf .

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

    • PROJECT_ID: Die Kennung des Projekts.
    • PRINCIPAL: Eine Kennung für das Hauptkonto, das Sie ausführen möchten dem die Rolle zugewiesen wird. Haupt-IDs haben in der Regel das folgende Format: PRINCIPAL-TYPE:ID Beispiel: user:[email protected] Eine vollständige Liste der Formate, die PRINCIPAL_ID haben kann, Siehe Haupt-IDs.
    • ROLE: Eine IAM-Rolle.

      • Fügen Sie für Cloud Storage-Ziele die Identität des Autors der Senke hinzu. mithilfe von IAM als Hauptkonto festlegen und ihm dann die Rolle „Storage Object Creator“ (roles/storage.objectCreator).
      • Fügen Sie für BigQuery-Ziele die Identität des Autors der Senke hinzu. mithilfe von IAM als Hauptkonto festlegen und ihm dann die Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor).
      • Fügen Sie für Pub/Sub-Ziele, einschließlich Splunk, die Identität des Autors der Senke hinzu. mithilfe von IAM als Hauptkonto festlegen und ihm dann die Rolle „Pub/Sub-Publisher“ (roles/pubsub.publisher).
      • Für Logging-Bucket-Ziele in verschiedenen Google Cloud-Projekte hinzufügen, fügen Sie die Identität des Autors der Senke als Hauptkonto hinzu. und gewähren Sie dann die Rolle „Log-Bucket-Autor“ (roles/logging.bucketWriter).
      • Fügen Sie für Google Cloud-Projektziele den Wert der Senke hinzu. Identität des Autors mithilfe von IAM als Hauptkonto festlegen und ihm dann den Rolle „Logautor“ (roles/logging.logWriter). Insbesondere benötigt ein Auftraggeber Berechtigung „logging.logEntries.route“.

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

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

Nächste Schritte