Logs Ihrer Organisation zusammenfassen und speichern

In diesem Dokument wird beschrieben, wie Sie die Logs, die von den in Ihrer Google Cloud-Organisation enthaltenen Ressourcen generiert werden, mithilfe einer nicht abfangenden aggregierten Senke verwalten.

Sie können eine aggregierte Senke so konfigurieren, dass sie abfangen oder nicht abfangen, je nachdem, ob Sie steuern möchten, welche Logs abgefragt oder über die Senken in untergeordneten Ressourcen weitergeleitet werden können. In dieser Anleitung erstellen Sie eine aggregierte Senke, die die Audit-Logs Ihrer Organisation an ein Google Cloud-Projekt weiterleitet. Anschließend erstellen Sie im Google Cloud-Projekt eine Logsenke, die die aggregierten Audit-Logs an einen Log-Bucket weiterleitet.

Weitere Informationen zu aggregierten Senken finden Sie unter Logs auf Organisations- und Ordnerebene sortieren und an unterstützte Ziele weiterleiten.

In dieser Anleitung führen Sie die folgenden Schritte aus:

  1. Zuerst erstellen Sie einen Log-Bucket und eine Logsenke im Google Cloud-Projekt, in dem Sie die aggregierten Logs speichern möchten.

  2. Als Nächstes erstellen Sie eine nicht abfangende aggregierte Senke auf Organisationsebene, um Logs an das Google Cloud-Projekt weiterzuleiten.

  3. Als Nächstes konfigurieren Sie den Lesezugriff auf Logansichten im neuen Log-Bucket.

  4. Schließlich fragen Sie Ihre Logs über die Seite „Log-Explorer“ ab und sehen sich diese an.

Hinweise

Prüfen Sie dabei Folgendes:

  • Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Inhaber (roles/owner) für ein Projekt zu gewähren, um die Berechtigungen zu erhalten, die Sie zum Gewähren von Hauptrollen benötigen.

  • Wenn Sie VPC Service Controls verwenden, müssen Sie dem Dienstperimeter eine Regel für eingehenden Traffic hinzufügen. Weitere Informationen zu VPC Service Controls-Einschränkungen finden Sie unter Aggregierte Senken und VPC Service Controls-Einschränkungen.

Log-Bucket erstellen

Log-Buckets speichern von anderen Google Cloud-Projekten, Ordnern oder Organisationen weitergeleitete Logs. Weitere Informationen finden Sie unter Log-Buckets konfigurieren.

So erstellen Sie den Log-Bucket in dem Google Cloud-Projekt, in dem Sie Logs aggregieren möchten:

  1. Rufen Sie die Google Cloud Console auf:

    Zur Google Cloud Console

  2. Führen Sie in einem Cloud Shell-Terminal den Befehl gcloud logging buckets create aus.

    Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:

    • BUCKET_NAME: Der Name des Log-Buckets.
    • LOCATION: Der Speicherort des Log-Buckets.
    • PROJECT_ID: Die Kennung des Projekts, in dem der Log-Bucket erstellt werden soll.

    Führen Sie den Befehl gcloud logging buckets create aus:

     gcloud logging buckets create BUCKET_NAME \
       --location=LOCATION --project=PROJECT_ID
    
  3. Prüfen Sie, ob der Log-Bucket erstellt wurde:

    gcloud logging buckets list --project=PROJECT_ID
    
  4. Optional: Legen Sie die Aufbewahrungsdauer für die Logs im Bucket fest. In diesem Beispiel wird die Aufbewahrung von im Bucket gespeicherten Logs auf 365 Tage verlängert:

    gcloud logging buckets update BUCKET_NAME \
      --location=LOCATION --project=PROJECT_ID \
      --retention-days=365
    

Logsenke auf Projektebene erstellen

Durch Erstellen einer Senke leiten Sie Logeinträge an einen Log-Bucket weiter. Eine Senke enthält einen Einschlussfilter, einen optionalen Ausschlussfilter und ein Ziel. In dieser Anleitung ist das Ziel Ihr neuer Log-Bucket. Weitere Informationen zu Senken finden Sie unter Logs an unterstützte Ziele weiterleiten.

Um eine Senke zu erstellen, die Logeinträge an den soeben erstellten Log-Bucket weiterleitet, ersetzen Sie die folgenden Werte und führen den Befehl gcloud logging sinks create aus:

  • PROJECT_LEVEL_SINK_NAME: Der Name der Logsenke auf Projektebene.
  • SINK_DESTINATION: Der Log-Bucket, an den Ihre Logs weitergeleitet werden. Das Zielpfadformat für einen Log-Bucket lautet:

    logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
    
  • PROJECT_ID: Die Kennung des Projekts, in dem die Logsenke erstellt werden soll. Legen Sie dieses Flag auf dasselbe Projekt fest, in dem Sie den Log-Bucket erstellt haben.

  • Fügen Sie die folgenden Flags hinzu:

    • --log-filter : Verwenden Sie dieses Flag, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. In dieser Anleitung ist der Filter so eingestellt, dass alle Audit-Logeinträge ausgewählt werden. Wenn Sie keinen Filter festlegen, werden alle Logs aus Ihrem Google Cloud-Projekt an das Ziel weitergeleitet.
    • --description: Verwenden Sie dieses Flag, um den Zweck oder Anwendungsfall der Senke zu beschreiben.

    Führen Sie folgenden Befehl aus:

    gcloud logging sinks create PROJECT_LEVEL_SINK_NAME SINK_DESTINATION
    --project=PROJECT_ID
    --log-filter='logName:cloudaudit.googleapis.com' \
    --description="Audit logs from my organization" \
    

Aggregierte Senke erstellen

Aggregierte Senken kombinieren und leiten Logeinträge aus den Ressourcen einer Organisation oder eines Ordners an ein Ziel weiter.

In dieser Anleitung erstellen Sie eine aggregierte Senke, die nicht abfangen. Das bedeutet, dass jeder von der aggregierten Senke weitergeleitete Logeintrag auch von den Senken in der Ressource weitergeleitet wird, aus der der Logeintrag stammt. Beispielsweise wird ein Audit-Log aus einem Projekt von der aggregierten Senke und den Senken in diesem Projekt weitergeleitet. Daher ist es möglich, mehrere Kopien eines Logeintrags zu speichern.

Sie können abfangende Senken erstellen. Weitere Informationen finden Sie unter Logs auf Organisations- und Ordnerebene sortieren und an Supportziele weiterleiten.

Senke auf Organisationsebene einrichten

Führen Sie die folgenden Schritte aus, um eine aggregierte Senke zu erstellen, die nicht abfangen und Logeinträge an ein Projekt weiterleitet:

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

    Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:

    • SINK_NAME: Der Name der Logsenke.
    • PROJECT_ID: Die Kennung des Projekts, in dem der Log-Bucket gespeichert wird.
    • ORGANIZATION_ID: Die Kennung der Organisation.

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

    gcloud logging sinks create SINK_NAME \
    logging.googleapis.com/projects/PROJECT_ID  \
      --log-filter='logName:cloudaudit.googleapis.com' \
      --description="Audit logs from my organization" \
      --organization=ORGANIZATION_ID \
      --include-children
    

    Das Flag --include-children ist wichtig, damit Logs aus allen Google Cloud-Projekten innerhalb Ihrer Organisation berücksichtigt werden. Weitere Informationen finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.

  2. Prüfen Sie, ob die Senke erstellt wurde:

    gcloud logging sinks list --organization=ORGANIZATION_ID
    
  3. Rufen Sie den Namen des Dienstkontos ab:

    gcloud logging sinks describe SINK_NAME --organization=ORGANIZATION_ID
    

    Die Ausgabe sieht dann ungefähr so aus:

    writerIdentity: serviceAccount:o1234567890-ORGANIZATION_ID@gcp-sa-logging.iam.gserviceaccount.com
    
  4. Kopieren Sie den Wert des Felds serviceAccount in die Zwischenablage.

Zugriff auf die Senke gewähren

Nach dem Erstellen der aggregierten Senke müssen Sie der Senke die Berechtigung erteilen, Logs in das Projekt zu schreiben, das Sie als Ziel festgelegt haben. Sie können Berechtigungen über die Google Cloud Console gewähren oder die IAM-Richtlinie (Identity and Access Management) bearbeiten, wie unter Zielberechtigungen festlegen beschrieben.

So gewähren Sie der Senke die Berechtigung zum Schreiben von Logs:

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

    Zu IAM

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

  2. Wählen Sie das Google Cloud-Projekt aus, das Ihren Log-Bucket enthält.

  3. Klicken Sie auf Zugriff erlauben.

  4. Fügen Sie im Feld Neue Hauptkonten das Dienstkonto ohne das Präfix serviceAccount: hinzu.

  5. Wählen Sie im Menü Rolle auswählen die Option Logautor aus.

  6. Klicken Sie auf Speichern.

Generieren Sie Logs, um die Senkenprüfung zu unterstützen

So überprüfen Sie, ob die aggregierte Senke ordnungsgemäß konfiguriert ist:

  1. Erstellen Sie Audit-Logs, die an den Log-Bucket weitergeleitet werden sollen.

    • Wenn Ihre Organisation viele Google Cloud-Projekte umfasst, haben Sie möglicherweise genügend Audit-Log-Traffic, den Sie zu Validierungszwecken nicht erstellen müssen. Fahren Sie mit dem nächsten Schritt fort.

    • Wechseln Sie andernfalls zu einem anderen Projekt, erstellen Sie eine Compute Engine-VM-Instanz und löschen Sie dann die von Ihnen erstellte Instanz. Audit-Logs werden geschrieben, wenn eine VM erstellt, gestartet und gelöscht wird.

  2. Führen Sie die Schritte im Abschnitt Logs auf der Seite „Log-Explorer“ ansehen aus, um die Audit-Logs aufzurufen. Wählen Sie unbedingt die Ansicht _AllLogs aus.

Lesezugriff auf eine Logansicht für einen Log-Bucket konfigurieren

Beim Erstellen eines Log-Buckets erstellt Cloud Logging automatisch eine Logansicht mit dem Namen _AllLogs. Diese Ansicht enthält jeden im Log-Bucket gespeicherten Logeintrag.

Wenn Sie ein Hauptkonto nur auf bestimmte Logeinträge beschränken möchten, erstellen Sie eine Logansicht und führen Sie dann einen der folgenden Schritte aus:

  • Weisen Sie ihm die Rolle roles/logging.viewAccessor zusammen mit einer IAM-Bedingung zu, die die Erteilung auf die Logansicht einschränkt.

  • Gewähren Sie in der mit der Logansicht verknüpften IAM-Richtlinie einem Hauptkonto Zugriff. Wir empfehlen diesen Ansatz, wenn Sie eine große Anzahl von Logansichten erstellen.

Weitere Informationen zu diesen beiden Ansätzen finden Sie unter Zugriff auf eine Logansicht steuern.

In den folgenden Schritten gewähren Sie einem Hauptkonto die Rolle roles/logging.viewAccessor zusammen mit einer IAM-Bedingung, die die Erteilung auf die Ansicht mit dem Namen _AllLogs einschränkt:

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

    Zu IAM

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

    Achten Sie darauf, dass Sie das Google Cloud-Projekt ausgewählt haben, das Sie zum Zusammenfassen der Logs verwenden.

  2. Klicken Sie auf Hinzufügen.

  3. Fügen Sie im Feld Neues Hauptkonto ein Hauptkonto hinzu.

  4. Wählen Sie im Menü Rolle auswählen die Option Zugriffsfunktion für Logansichten aus.

  5. Fügen Sie der Bindung eine IAM-Bedingung hinzu:

    1. Klicken Sie auf Bedingung hinzufügen und geben Sie einen Titel und eine Beschreibung ein.
    2. Scrollen Sie im Menü Bedingungstyp zu Ressource und wählen Sie dann Name aus.
    3. Wählen Sie im Menü Operator die Option Endet mit aus.
    4. Geben Sie in das Feld Wert den vollständigen Namen der Logansicht ein:

      locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
      
    5. Klicken Sie auf Speichern, um die Bedingung zu speichern.

  6. Klicken Sie auf Speichern, um die Bindung zu speichern.

Logs auf der Seite „Log-Explorer“ ansehen

So rufen Sie die Logs in Ihrem Log-Bucket auf:

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

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

  2. Wählen Sie Bereich eingrenzen aus.

  3. Wählen Sie unter Bereich eingrenzen die Option Bereich nach Speicher aus.

  4. Wählen Sie die Logansicht oder Logansichten aus, deren Logeinträge Sie ansehen möchten. Wenn Sie beispielsweise alle Logs ansehen möchten, wählen Sie die Ansicht mit dem Namen _AllLogs aus.

  5. Klicken Sie auf Anwenden.

    Der Log-Explorer wird aktualisiert und zeigt die Logs aus Ihrem Log-Bucket an.

    Informationen zur Verwendung des Log-Explorers finden Sie unter Log-Explorer verwenden.