Logs Ihrer Organisation zusammenfassen und speichern

In diesem Dokument wird beschrieben, wie Sie die von den Ressourcen generierten Logeinträge verwalten in Ihrer Google Cloud-Organisation durch ein nicht abfangendes aggregierte Senke.

Sie können eine aggregierte Senke so konfigurieren, dass sie abfangen oder nicht abfangen, je nachdem, ob Sie steuern möchten, welche Logeinträge abgefragt werden können, über die Senken in untergeordneten Ressourcen weitergeleitet werden. In dieser Anleitung erstellen Sie eine aggregierte Senke, die die Audit-Logs Ihrer Organisation an eine Google Cloud-Projekt, das dann das aggregierten Audit-Logs in einen Log-Bucket übertragen.

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 Ihre aggregierten Logeinträge speichern möchten.

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

  3. Anschließend konfigurieren Sie den Lesezugriff auf Logansichten im neuen Log-Bucket.

  4. Abschließend können Sie Ihre Logeinträge über die Seite „Log-Explorer“ abfragen und ansehen.

Hinweise

Prüfen Sie dabei Folgendes:

  • Um die Berechtigungen zu erhalten, die Sie zum Konfigurieren einer aggregierten Senke benötigen, bitten Sie Ihren Administrator, Ihnen folgende IAM-Rollen für die Organisation:

    • So erstellen Sie Log-Buckets und -Senken in einem Projekt: Autor von Logkonfigurationen (roles/logging.configWriter) – Ihr Projekt
    • So erstellen Sie eine aggregierte Senke: Autor von Logkonfigurationen (roles/logging.configWriter) – Ihre Organisation
    • So weisen Sie Hauptkonten Rollen zu: Inhaber (roles/owner) – Ihr Projekt

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Log-Bucket erstellen

In Log-Buckets werden Logeinträge gespeichert, die von anderen Google Cloud-Projekte, ‐Ordner oder ‐Organisationen. Weitere Informationen finden Sie unter Log-Buckets konfigurieren

So erstellen Sie den Log-Bucket in dem Google Cloud-Projekt, das Sie erstellen möchten: Log-Einträge aggregieren möchten, führen Sie die folgenden Schritte aus:

  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-Befehl.

    Führen Sie den folgenden Befehl aus, bevor Sie den folgenden Befehl ausführen: Ersatz:

    • BUCKET_NAME: Der Name des Log-Buckets.
    • LOCATION: Der Speicherort des Log-Buckets. Nachdem Sie den Log-Bucket erstellt haben, können Sie den Standort nicht mehr ändern.
    • PROJECT_ID: Die Kennung des Projekts, in dem das Element erstellt werden soll. Log-Bucket.

    gcloud logging buckets create ausführen Befehl:

     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
    

    Auf den Befehl wird eine Liste der Log-Buckets Projekt.

  4. Log-Buckets haben konfigurierbare Aufbewahrungszeiträume. Wenn Sie Aufbewahrungsdauer der Logeinträge in Ihrem Log-Bucket und verwenden Sie dann den Befehl gcloud logging buckets update. Beispiel: -Befehl erweitert die Aufbewahrung von Logeinträgen, die in der Log-Bucket auf 365 Tage festlegen:

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

    Weitere Informationen zu Optionen finden Sie unter gcloud logging buckets update

Logsenke auf Projektebene erstellen

Durch Erstellen einer Senke leiten Sie Logeinträge an einen Log-Bucket weiter. Ein Waschbecken enthält ein Einschlussfilter, Ausschlussfilter und ein Ziel. In dieser konfigurieren Sie einen Einschlussfilter und das Ziel, Ihren neuen Log-Bucket. Die Senke enthält keine Ausschlussfilter. Weitere Informationen zu Senken finden Sie unter Logs an unterstützte Ziele weiterleiten

So erstellen Sie eine Senke, die Logeinträge an den soeben erstellten Log-Bucket weiterleitet: Führen Sie den Befehl gcloud logging sinks create aus.

Führen Sie den folgenden Befehl aus, bevor Sie den folgenden Befehl ausführen: Ersatz:

  • PROJECT_LEVEL_SINK_NAME: der Name der Projektebene Logsenke.
  • SINK_DESTINATION: Der Log-Bucket, an den Ihre Logeinträge weitergeleitet werden. Die Das Format des Zielpfads 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 das Element erstellt werden soll. Logsenke. Legen Sie für diese Option dasselbe Projekt fest, in dem Sie das Log erstellt haben Bucket.

  • Folgende Optionen sind verfügbar:

    • --log-filter : Mit dieser Option legen Sie einen Wert fest, Filter, der mit dem Log übereinstimmt die Sie in die Senke aufnehmen möchten. In dieser Anleitung ist der Filter alle Audit-Logeinträge auswählen. Wenn Sie keinen Filter festlegen, Logeinträge aus Ihrem Google Cloud-Projekt werden an das Ziel weitergeleitet.
    • --description: Verwenden Sie diese Option, um den Zweck oder Anwendungsfall für in die Spüle.

Führen Sie den gcloud logging sinks create Befehl:

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 weiterleiten Log-Einträge aus den Ressourcen in einer Organisation oder einem Ordner an ein Ziel.

In dieser Anleitung erstellen Sie eine aggregierte Senke, die nicht abfangen. Dieses Jeder Logeintrag, der von der aggregierten Senke weitergeleitet wird, den Senken in der Ressource, von der der Logeintrag stammt. Beispiel: das Audit-Log von einem Projekt, wird von der aggregierten Senke und dem Senken in diesem Projekt. Daher ist es möglich, mehrere Kopien eines Logeintrags.

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

Senke auf Organisationsebene einrichten

Zum Erstellen einer aggregierten Senke, die nicht abfangen und das Log weiterleitet. Einträge zu einem Projekt erstellen, führen Sie die folgenden Schritte aus:

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

    Führen Sie den folgenden Befehl aus, bevor Sie den folgenden Befehl ausführen: Ersatz:

    • SINK_NAME: Der Name der Logsenke. Der Name einer Senke kann nach dem Erstellen nicht mehr geändert werden.
    • 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
    

    Die Option --include-children ist wichtig. Mit dieser Option wird sichergestellt, Logeinträge aus allen Google Cloud-Projekte und -Ordner in Ihrer Organisation werden weitergeleitet. 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

Nachdem Sie die aggregierte Senke erstellt haben, müssen Sie ihr die Berechtigung zum Logeinträge in das Projekt schreiben, das Sie als Ziel festgelegt haben. Sie können Berechtigung über die Google Cloud Console oder durch Bearbeiten der IAM-Richtlinie (Identity and Access Management) wie unter Legen Sie Zielberechtigungen fest.

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

  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 mit der Zwischenüberschrift IAM und Verwaltung.

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

  3. Klicken Sie auf Zugriff gewähren und fügen Sie den Dienstkonto als neues Hauptkonto. Fügen Sie nicht das Tag Fügen Sie das Präfix serviceAccount: hinzu.

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

  5. Klicken Sie auf Speichern.

Logeinträge zur Unterstützung der Senkenprüfung generieren

Um zu überprüfen, ob Ihre aggregierte Senke richtig konfiguriert ist, versuchen Sie Folgendes: Folgendes:

  1. Erstellen Sie Audit-Logeinträge, die an den Log-Bucket weitergeleitet werden sollen.

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

    • Andernfalls wechseln Sie zu einem anderen Projekt und erstellen 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. Folgen Sie der Anleitung im Abschnitt Sehen Sie sich die Logs auf der Seite „Log-Explorer“ an, um Ihre Audit-Logs. Wählen Sie unbedingt die Ansicht _AllLogs aus.

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

Wenn Sie einen Log-Bucket erstellen, erstellt Cloud Logging automatisch einen Logansicht mit dem Namen _AllLogs. Diese Ansicht enthält jeden im Log-Bucket gespeicherten Logeintrag.

Um ein Hauptkonto so zu beschränken, dass es nur Zugriff auf bestimmte Logeinträge hat, erstellen Sie eine Logansicht und führen Sie dann einen der folgenden Schritte aus:

  • Gewähren Sie ihnen die Rolle roles/logging.viewAccessor zusammen mit einem IAM-Bedingung, die die Erteilung auf die Logansicht einschränkt.

  • In der IAM-Richtlinie, die mit der Logansicht verknüpft ist, einem Hauptkonto Zugriff zu gewähren. Wir empfehlen diesen Ansatz, wenn Sie viele Logansichten enthält.

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

In den folgenden Schritten weisen Sie einem Hauptkonto die Rolle roles/logging.viewAccessor zusammen mit einer IAM-Bedingung , durch die die Berechtigung auf die Ansicht _AllLogs eingeschränkt wird:

  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 mit der Zwischenüberschrift IAM und Verwaltung.

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

  3. Klicken Sie auf Hinzufügen.

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

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

    Wenn Sie dieser Rolle keine Bedingung hinzufügen, hat das Hauptkonto Zugriff auf alle Logansichten aller benutzerdefinierten Log-Buckets im Google Cloud-Projekt.

  6. 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 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.

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

Logeinträge auf der Seite „Log-Explorer“ ansehen

So rufen Sie die Logeinträge 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 Logeinträge 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 Logeinträge aus Ihrem Log-Bucket an. Informationen zur Verwendung des Log-Explorers finden Sie unter Log-Explorer verwenden