In diesem Dokument wird beschrieben, wie Sie die von den Ressourcen in Ihrer Google Cloud -Organisation generierten Logeinträge mithilfe einer nicht abfangenden aggregierten Senke verwalten.
Sie können eine aggregierte Senke so konfigurieren, dass sie Logs abfängt oder nicht, je nachdem, ob Sie steuern möchten, welche Logeinträge in den Senken in untergeordneten Ressourcen abgefragt oder weitergeleitet werden können. In dieser Anleitung erstellen Sie eine aggregierte Senke, die die Audit-Logs Ihrer Organisation an einGoogle Cloud -Projekt weiterleitet, das die aggregierten Audit-Logs dann an einen Log-Bucket weiterleitet. Weitere Informationen finden Sie unter Zusammengefasste Senken.
In dieser Anleitung führen Sie die folgenden Schritte aus:
Zuerst erstellen Sie einen Log-Bucket und eine Logsenke imGoogle Cloud -Projekt, in dem Sie Ihre aggregierten Logeinträge speichern möchten.
Als Nächstes erstellen Sie eine nicht abfangende aggregierte Senke auf Organisationsebene, um Logeinträge an das Google Cloud -Projekt weiterzuleiten, das den Log-Bucket enthält.
Anschließend konfigurieren Sie den Lesezugriff auf Logansichten für den neuen Log-Bucket.
Schließlich können Sie Ihre Logeinträge über die Seite „Log-Explorer“ abfragen und ansehen.
Hinweise
Prüfen Sie dabei Folgendes:
-
Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für Ihre Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Konfigurieren eines aggregierten Senken benötigen:
-
So erstellen Sie Log-Buckets und ‑Senken in einem Projekt:
Log-Konfigurationsautor (
roles/logging.configWriter
) – Ihr Projekt -
So erstellen Sie eine aggregierte Senke:
Autor von Logkonfigurationen (
roles/logging.configWriter
) – Ihre Organisation -
So weisen Sie Prinzipalen Rollen zu:
Inhaber (
roles/owner
) – Ihr Projekt
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
-
So erstellen Sie Log-Buckets und ‑Senken in einem Projekt:
Log-Konfigurationsautor (
- Wenn Sie VPC Service Controls verwenden, müssen Sie dem Dienstperimeter eine Regel für eingehenden Traffic hinzufügen. Weitere Informationen zu Einschränkungen von VPC Service Controls finden Sie unter Aggregierte Senken und Einschränkungen von VPC Service Controls.
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Log-Bucket erstellen
In Log-Buckets werden die Logeinträge gespeichert, die von anderenGoogle Cloud -Projekten,Google Cloud -Ordnern oderGoogle Cloud -Organisationen weitergeleitet werden. Weitere Informationen finden Sie unter Log-Buckets konfigurieren.
Führen Sie die folgenden Schritte aus, um den Log-Bucket im Google Cloud -Projekt zu erstellen, in dem Sie Logeinträge zusammenfassen möchten:
Öffnen Sie eine Shell.
Wenn Sie beispielsweise Cloud Shell verwenden möchten, gehen Sie so vor:
-
Rufen Sie die Google Cloud Console auf:
- Klicken Sie in der Symbolleiste auf terminal Cloud Shell aktivieren.
-
Führen Sie in der Shell 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. Nachdem Sie den Log-Bucket erstellt haben, können Sie seinen Standort nicht mehr ändern.
- 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
Prüfen Sie, ob der Log-Bucket erstellt wurde:
gcloud logging buckets list --project=PROJECT_ID
Die Antwort des Befehls ist eine Liste der Log-Buckets in Ihrem Projekt.
Log-Buckets haben konfigurierbare Aufbewahrungszeiträume. Wenn Sie die Aufbewahrungsdauer der Logeinträge in Ihrem Log-Bucket festlegen möchten, verwenden Sie den Befehl
gcloud logging buckets update
. Mit dem folgenden Befehl wird beispielsweise die Aufbewahrungsdauer von im Log-Bucket gespeicherten Logeinträgen auf 365 Tage verlängert:gcloud logging buckets update BUCKET_NAME \ --location=LOCATION --project=PROJECT_ID \ --retention-days=365
Weitere Informationen zu den Optionen finden Sie unter
gcloud logging buckets update
.
Logsenke auf Projektebene erstellen
Um Logeinträge zu einem Log-Bucket weiterzuleiten, können Sie eine Senke erstellen. Eine Senke enthält einen Einschlussfilter, Ausschlussfilter und ein Ziel. In diesem Tutorial konfigurieren Sie einen Einschlussfilter und das Ziel für Ihren neuen Log-Bucket. Ihre Senke enthält keine Ausschlussfilter. Weitere Informationen zu Senken finden Sie unter Logs an unterstützte Ziele weiterleiten.
Führen Sie den Befehl gcloud logging sinks create
aus, um eine Senke zu erstellen, die Logeinträge an den gerade erstellten Log-Bucket weiterleitet.
Bevor Sie den folgenden Befehl ausführen, ersetzen Sie die folgenden Werte:
- PROJECT_LEVEL_SINK_NAME: Der Name der Logsenke auf Projektebene.
SINK_DESTINATION: Der Log-Bucket, in den Ihre Logeinträge weitergeleitet werden. Der Zielpfad für einen Log-Bucket hat folgendes Format:
logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME
PROJECT_ID: Die Kennung des Projekts, in dem die Logs-Senke erstellt werden soll. Legen Sie diese Option auf dasselbe Projekt fest, in dem Sie den Log-Bucket erstellt haben.
Folgende Optionen stehen zur Verfügung:
--log-filter
: Verwenden Sie diese Option, um einen Filter festzulegen, der den Logeinträgen entspricht, die Sie in die Senke aufnehmen möchten. In dieser Anleitung ist der Filter so festgelegt, dass alle Audit-Log-Einträge ausgewählt werden. Wenn Sie keinen Filter festlegen, werden alle Logeinträge aus Ihrem Google Cloud -Projekt an das Ziel weitergeleitet.--description
: Verwenden Sie diese Option, um den Zweck oder den Anwendungsfall für die Senke zu beschreiben.
Führen Sie den Befehl gcloud logging sinks create
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, die in einer Organisation oder einem Ordner enthalten sind, an ein Ziel weiter.
In dieser Anleitung erstellen Sie einen aggregierten Senken, der nicht abfängt. Das bedeutet, dass jeder Logeintrag, der von der aggregierten Senke weitergeleitet wird, auch von den Senken in der Ressource weitergeleitet wird, aus der der Logeintrag stammt. Ein Audit-Log, das in einem Projekt generiert wird, wird beispielsweise von der aggregierten Senke und den Senken in diesem Projekt weitergeleitet. Daher ist es möglich, dass Sie mehrere Kopien eines Logeintrags speichern.
Sie können abfangende Senken erstellen. Weitere Informationen finden Sie unter Zusammengefasste Senken.
Senke auf Organisationsebene einrichten
So erstellen Sie eine nicht abfangende aggregierte Senke, die Logeinträge an ein Projekt weiterleitet:
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. Sie können den Namen eines Senken nach dem Erstellen nicht mehr ändern.
- PROJECT_ID: Die Kennung des Projekts, in dem der Log-Bucket gespeichert ist.
- 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 werden Logeinträge aus allenGoogle Cloud Projekten undGoogle Cloud Ordnern in Ihrer Organisation weitergeleitet. Weitere Informationen finden Sie unter Logs auf Organisationsebene sortieren und an unterstützte Ziele weiterleiten.Prüfen Sie, ob die Senke erstellt wurde:
gcloud logging sinks list --organization=ORGANIZATION_ID
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
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 Schreiben von Logeinträgen in das Projekt gewähren, das Sie als Ziel festgelegt haben. Sie können Berechtigungen über die Google Cloud Console oder durch Bearbeiten der IAM-Richtlinie (Identity and Access Management) gewähren, wie unter Berechtigungen für das Ziel festlegen beschrieben.
So erteilen Sie Ihrer Senke die Berechtigung zum Schreiben von Logeinträgen:
-
Rufen Sie in der Google Cloud Console die Seite IAM auf:
Rufen Sie IAM auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin ist.
Wählen Sie das Google Cloud Projekt aus, das Ihren Log-Bucket enthält.
Klicken Sie auf
Zugriff gewähren und fügen Sie das Dienstkonto als neues Hauptkonto hinzu. Geben Sie nicht das Präfix serviceAccount: an.Wählen Sie im Menü Rolle auswählen die Option Logautor aus.
Klicken Sie auf Speichern.
Logeinträge generieren, um die Senkenprüfung zu unterstützen
So prüfen Sie, ob Ihre aggregierte Senke richtig konfiguriert ist:
Generieren Sie Audit-Log-Einträge, die an Ihren Log-Bucket weitergeleitet werden sollen.
Wenn Sie viele Google Cloud Projekte in Ihrer Organisation haben, haben Sie möglicherweise genügend Audit-Log-Traffic, um keine für Validierungszwecke erstellen zu müssen. Fahren Sie mit dem nächsten Schritt fort.
Andernfalls wechseln Sie zu einem anderen Projekt, erstellen Sie eine Compute Engine-VM-Instanz und löschen Sie die erstellte Instanz wieder. Audit-Logs werden geschrieben, wenn eine VM erstellt, gestartet und gelöscht wird.
Folgen Sie der Anleitung im Abschnitt Logs auf der Seite „Log-Explorer“ ansehen, um Ihre Audit-Logs aufzurufen. Achten Sie darauf, dass Sie die Ansicht
_AllLogs
auswählen.
Lesezugriff für eine Logansicht eines Log-Buckets konfigurieren
Wenn Sie einen Log-Bucket erstellen, erstellt Cloud Logging automatisch eine Log-Ansicht mit dem Namen _AllLogs
.
Diese Ansicht enthält jeden Logeintrag, der im Log-Bucket gespeichert ist.
Wenn Sie den Zugriff eines Hauptkontos auf bestimmte Logeinträge beschränken möchten, erstellen Sie eine Logansicht und führen Sie dann einen der folgenden Schritte aus:
Weisen Sie ihnen die Rolle
roles/logging.viewAccessor
zusammen mit einer IAM-Bedingung zu, die die Zuweisung auf die Logansicht beschränkt.Gewähren Sie einem Hauptkonto Zugriff auf die mit der Logansicht verknüpfte IAM-Richtlinie. 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 weisen Sie einem Hauptkonto die Rolle roles/logging.viewAccessor
zusammen mit einer IAM-Bedingung zu, die die Zuweisung auf die Ansicht mit dem Namen _AllLogs
beschränkt:
-
Rufen Sie in der Google Cloud Console die Seite IAM auf:
Rufen Sie IAM auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift IAM & Admin ist.
Wählen Sie das Google Cloud Projekt aus, das den Log-Bucket enthält.
Klicken Sie auf
Hinzufügen.Fügen Sie im Feld Neues Hauptkonto ein Hauptkonto hinzu.
Wählen Sie im Menü Rolle auswählen die Option Logs Views Accessor aus.
Wenn Sie dieser Rolle keine Bedingung hinzufügen, hat das Hauptkonto Zugriff auf alle Logansichten für alle benutzerdefinierten Log-Buckets im Google Cloud -Projekt.
Fügen Sie der Bindung eine IAM-Bedingung hinzu:
- Klicken Sie auf Bedingung hinzufügen und geben Sie einen Titel und eine Beschreibung ein.
- Scrollen Sie im Menü Bedingungstyp zu Ressource und wählen Sie dann Name aus.
- Wählen Sie im Menü Operator die Option Endet mit aus.
Geben Sie im Feld Wert den vollständigen Namen der Logansicht ein:
locations/LOCATION/buckets/BUCKET_NAME/views/_AllLogs
Klicken Sie auf Speichern, um die Bedingung zu speichern.
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:
-
Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf:
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Logging ist.
Wählen Sie Bereich eingrenzen aus.
Wählen Sie im Bereich Bereich eingrenzen die Option Logansicht aus.
Wählen Sie die Logansicht(en) aus, deren Logeinträge Sie sehen möchten. Wenn Sie beispielsweise alle Logeinträge ansehen möchten, wählen Sie die Ansicht mit dem Namen
_AllLogs
aus.Klicken Sie auf Übernehmen.
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.