Log-Buckets mithilfe von Tags verwalten

In diesem Dokument wird beschrieben, wie Sie Ihre Cloud Logging-Log-Buckets mithilfe von Tags verwalten. Mit Tags, die auf Organisations- oder Projektebene erstellt werden, können Sie Ihre Ressourcen annotieren. Sie können auch IAM-Rollen (Identity and Access Management) bedingt zuweisen oder IAM-Berechtigungen bedingt ablehnen, je nachdem, ob eine Ressource ein bestimmtes Tag hat. Weitere Informationen zu Tags finden Sie unter Tags – Übersicht.

Wenn Sie beispielsweise Ihre Cloud Billing-Daten mit BigQuery analysieren, können Sie das Tag project:production an Protokoll-Buckets anhängen, die Protokolldaten aus Produktionsressourcen speichern, und das Tag project:development an Protokoll-Buckets anhängen, die Protokolldaten aus Entwicklungsressourcen speichern. Anschließend können Sie Cloud Billing-Daten mithilfe von Tags abfragen und eine Aufschlüsselung Ihrer Kosten zwischen Entwicklung und Produktion aufrufen.

Tags können Log-Buckets explizit hinzugefügt oder von der übergeordneten Organisation, den übergeordneten Ordnern und den übergeordneten Projekten übernommen werden.

Hinweise

So verwalten Sie Ihre Log-Buckets mithilfe von Tags:

  1. Sie müssen ein Tag erstellt und seine Werte konfiguriert haben. Tagdefinitionen werden mit dem Resource Manager verwaltet. Informationen zum Erstellen und Verwalten von Tags finden Sie unter Tags erstellen und verwalten.
  2. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen für das Projekt oder die Organisation zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten Ihrer Log-Buckets mithilfe von Tags benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Diese vordefinierten Rollen enthalten die Berechtigungen, die zum Verwalten von Protokoll-Buckets mithilfe von Tags erforderlich sind. Erweitern Sie den Abschnitt Erforderliche Berechtigungen, um die erforderlichen Berechtigungen anzuzeigen:

    Erforderliche Berechtigungen

    Die folgenden Berechtigungen sind erforderlich, um Ihre Log-Buckets mithilfe von Tags zu verwalten:

    • So fügen Sie Log-Buckets Tags hinzu oder entfernen sie:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • Tags aufrufen, die an Log-Buckets angehängt sind:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • logging.buckets.listTagBindings
      • logging.buckets.listEffectiveTags

    Sie können diese Berechtigungen auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

  3. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Logs Configuration Writer (roles/logging.configWriter) für das Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Protokoll-Buckets benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Diese vordefinierte Rolle enthält die Berechtigung logging.buckets.list, die zum Verwalten von Protokoll-Buckets erforderlich ist.

    Sie können diese Berechtigung auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.

Tags an einen Log-Bucket anhängen

So hängen Sie ein Tag an einen Log-Bucket an:

Google Cloud Console

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

    Zum Log-Speicher

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

  2. Suchen Sie den Log-Bucket, dem Sie ein Tag zuweisen möchten.

  3. Klicken Sie im Protokoll-Bucket auf das Dreipunkt-Menü und dann auf Tags bearbeiten.

  4. Suchen Sie im Dialogfeld im Bereich Direkte Tags nach dem Tag. Wählen Sie dazu die Ressource aus, in der das Tag erstellt wurde. Wenn Sie beispielsweise ein Tag verwenden möchten, das auf Projektebene erstellt wurde, wählen Sie Aktuelles Projekt auswählen als Umfang aus.

    Sie können auch manuell nach der Projekt-, Organisations- oder Tag-ID suchen, indem Sie die Option Manuelle Eingabe auswählen.

  5. Wählen Sie das entsprechende Schlüssel/Wert-Paar aus und klicken Sie auf Speichern.

  6. Es wird ein Dialogfeld mit der Bestätigung Ihrer Änderungen angezeigt. Klicke auf Bestätigen, um die Änderungen abzuschließen.

gcloud

Wenn Sie einem Log-Bucket ein Tag zuweisen möchten, erstellen Sie eine Tag-Bindung mit dem Befehl gcloud resource-manager tags bindings create:

gcloud resource-manager tags bindings create \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Ersetzen Sie im vorherigen Befehl die folgenden Werte:

  • TAG_VALUE_ID: Die permanente ID oder der Namespace-Name des Tag-Werts. Beispiel: tagValues/4567890123. Weitere Informationen zu Tag-IDs finden Sie unter Tag-Definitionen und Kennzeichnungen.

  • BUCKET_NAME: Der Name des Log-Buckets. Beispiel: logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

  • LOCATION: Der Speicherort des Log-Buckets.

API

Verwenden Sie die Methode tagBindings.create, um einem Log-Bucket ein Tag hinzuzufügen.

An einen Log-Bucket angehängte Tags ansehen

So rufen Sie die Tags auf, die mit einem Log-Bucket verknüpft sind:

Google Cloud Console

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

    Zum Log-Speicher

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

  2. Suchen Sie den Log-Bucket, dessen Tags Sie aufrufen möchten.

    In der Spalte Tags ist ein Tag aufgeführt, das mit dem Log-Bucket verknüpft ist. Wenn Sie alle mit dem Log-Bucket verknüpften Tags sehen möchten, klicken Sie auf das Dreipunkt-Menü  Mehr, um die Liste der Tags zu maximieren.

gcloud

Führen Sie den Befehl gcloud resource-manager tags bindings list aus:

gcloud resource-manager tags bindings list \
--parent=BUCKET_NAME \
--location=LOCATION

Ersetzen Sie im vorherigen Befehl die folgenden Werte:

  • TAG_VALUE_ID: Die permanente ID oder der Namespace-Name des Tag-Werts. Beispiel: tagValues/4567890123. Weitere Informationen zu Tag-IDs finden Sie unter Tag-Definitionen und Kennzeichnungen.

  • BUCKET_NAME: Der Name des Log-Buckets. Beispiel: logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

  • LOCATION: Der Speicherort des Log-Buckets.

Optional: Wenn Sie die vom Log-Bucket übernommenen Tags aufrufen möchten, fügen Sie das Flag --effective hinzu. Dadurch wird eine Antwort zurückgegeben, die der folgenden ähnelt:

namespacedTagKey: 961309089256/environment
namespacedTagValue: 961309089256/environment/production
tagKey: tagKeys/417628178507
tagValue: tagValues/247197504380
inherited: true

Wenn alle Tags dem Log-Bucket explizit hinzugefügt wurden und keine Tags übernommen werden, ist das Feld inherited falsch und wird ausgelassen.

API

Verwenden Sie die Methode tagBindings.list, um eine Liste der Tag-Bindungen für einen Bucket abzurufen.

Tags für einen Log-Bucket entfernen

Wenn Sie die Tags entfernen möchten, die mit einem Log-Bucket verknüpft sind, müssen Sie die Tag-Bindung löschen, die mit dem Log-Bucket verknüpft ist. Wenn Sie ein Tag löschen möchten, müssen Sie es aus allen angehängten Ressourcen entfernen.

Google Cloud Console

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

    Zum Log-Speicher

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

  2. Suchen Sie den Protokoll-Bucket, dessen Tag Sie entfernen möchten.

  3. Klicken Sie beim Log-Bucket auf das Dreipunkt-Menü und dann auf Tags bearbeiten.

  4. Bewegen Sie im Dialogfeld den Mauszeiger auf das zu entfernende Tag und klicken Sie auf Element löschen. Klicken Sie auf Speichern, um die Änderungen zu speichern.

  5. Es wird ein Dialogfeld mit der Bestätigung Ihrer Änderungen angezeigt. Klicke auf Bestätigen, um die Änderungen abzuschließen.

gcloud

Zum Abrufen der aktuellen Richtlinie führen Sie den Befehl gcloud resource-manager tags bindings delete aus:

gcloud resource-manager tags bindings delete \
--tag-value=TAG_VALUE_ID \
--parent=BUCKET_NAME \
--location=LOCATION

Ersetzen Sie im vorherigen Befehl die folgenden Werte:

  • TAG_VALUE_ID: Die permanente ID oder der Namespace-Name des Tag-Werts. Beispiel: tagValues/4567890123. Weitere Informationen zu Tag-IDs finden Sie unter Tag-Definitionen und Kennzeichnungen.

  • BUCKET_NAME: Der Name des Log-Buckets. Beispiel: logging.googleapis.com/projects/BUCKET_PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID

  • LOCATION: Der Speicherort des Log-Buckets.

API

Verwenden Sie die Methode tagBindings.delete, um ein Tag aus einem Protokoll-Bucket zu entfernen.

Beschränkungen

  • Sie können mit IAM-Rollenzuweisungen nicht steuern, welche Log-Buckets ein Hauptkonto sieht, wenn es die Log-Buckets in einem Google Cloud-Projekt auflistet. Eine Person mit der Rolle „Leiter“ sieht entweder eine vollständige Liste oder eine leere Liste. Sie können jedoch IAM-Rollenzuweisungen mit IAM-Bedingungen verwenden, um die Aktionen einzuschränken, die ein Hauptkonto auf einem Protokoll-Bucket ausführen kann. Sie können beispielsweise festlegen, ob ein Hauptkonto einen bestimmten Protokoll-Bucket löschen darf.

  • Wenn Sie Cloud Billing-Datenexporte mit BigQuery verwenden, kann es bis zu eine Stunde dauern, bis Tags im Export verwendet werden. Wenn ein Tag innerhalb einer Stunde hinzugefügt oder entfernt wurde oder der Log-Bucket weniger als eine Stunde lang existiert, wird er möglicherweise nicht im Export angezeigt.

Benutzerdefinierte Rollen und Rollengesten mit IAM-Bedingungen

Wenn Sie benutzerdefinierte IAM-Rollen verwenden und den Rollenzuweisungen IAM-Bedingungen zuweisen möchten, müssen Sie möglicherweise mehrere benutzerdefinierte Rollen erstellen. Einige IAM-Berechtigungen werden ungültig, wenn einer Rollenzuweisung eine IAM-Bedingung hinzugefügt wird.

Bei Cloud Logging werden die folgenden IAM-Berechtigungen ungültig, wenn eine Rollengewährung eine IAM-Bedingung enthält:

  • logging.buckets.list
  • logging.buckets.create

Daher müssen Sie möglicherweise eine Rolle mit den Berechtigungen list und create und eine weitere Rolle mit anderen Bucketspezifischen Berechtigungen erstellen. Sie können beispielsweise eine Rolle mit den Berechtigungen logging.buckets.delete und logging.buckets.update erstellen.

Wenn Sie die Rolle mit den Berechtigungen list und create gewähren, hängen Sie der Rollenzuweisung keine IAM-Bedingung an. Wenn Sie die Rolle mit den Berechtigungen delete und update gewähren, können Sie eine IAM-Bedingung hinzufügen, die die Berechtigung auf Ressourcen mit einem bestimmten Tag beschränkt.

Nächste Schritte