Zugriff auf Protokoll-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 BigQuery zum Analysieren Ihrer Cloud Billing-Daten verwenden, können Sie das Tag project:production an Log-Buckets anhängen, in denen Logdaten aus Produktionsressourcen gespeichert sind, und das Tag project:development an Log-Buckets, in denen Logdaten aus Entwicklungsressourcen gespeichert sind. Anschließend können Sie Cloud Billing-Daten mit Tags abfragen und eine Aufschlüsselung Ihrer Kosten zwischen Entwicklung und Produktion sehen.

Tags können explizit an Log-Buckets angehängt oder von der übergeordneten Organisation, den übergeordneten Ordnern und Projekten übernommen werden.

Hinweise

So verwalten Sie Ihre Log-Buckets mit Tags:

  1. Prüfen Sie, ob Sie 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 Ihrer Log-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:

    • Tags zu Log-Buckets hinzufügen oder daraus entfernen:
      • resourcemanager.tagValues.{get,list}
      • resourcemanager.tagKeys.{get,list}
      • resourcemanager.projects.get
      • logging.buckets.createTagbinding
      • logging.buckets.deleteTagBinding
    • So rufen Sie Tags auf, 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 Ihr Projekt zuzuweisen, um die Berechtigung zum Verwalten von Log-Buckets zu erhalten. 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 Log-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 hinzufügen möchten.

  3. Klicken Sie im Log-Bucket auf Mehr und dann auf Tags bearbeiten.

  4. Suchen Sie im Dialogfeld im Bereich Direkte Tags nach dem Tag, indem Sie die Ressource auswählen, 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 Bereich 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 zur Bestätigung Ihrer Änderungen angezeigt. Klicken Sie auf Bestätigen, um die Änderungen abzuschließen.

gcloud

Wenn Sie ein Tag an einen Log-Bucket anhängen möchten, erstellen Sie eine Tag-Bindung, indem Sie den Befehl gcloud resource-manager tags bindings create ausführen:

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

Ersetzen Sie im vorherigen Befehl Folgendes:

  • 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 anzuhängen.

An einen Log-Bucket angehängte Tags ansehen

So rufen Sie die Tags auf, die an einen Log-Bucket angehängt 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 wird ein Tag aufgeführt, das dem Log-Bucket zugeordnet ist. Wenn Sie alle Tags aufrufen möchten, die mit dem Log-Bucket verknüpft sind, klicken Sie auf die Schaltfläche 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 Folgendes:

  • 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 ansehen möchten, fügen Sie das Flag --effective hinzu. Dadurch wird eine Antwort ähnlich der folgenden zurückgegeben:

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

Wenn alle Tags explizit an den Log-Bucket angehängt sind 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 aus einem Log-Bucket entfernen

Wenn Sie die Tags entfernen möchten, die einem Log-Bucket zugewiesen sind, müssen Sie die Tag-Bindung löschen, die dem Log-Bucket zugewiesen ist. Wenn Sie ein Tag löschen möchten, müssen Sie es zuerst 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 Log-Bucket, dessen Tag Sie entfernen möchten.

  3. Klicken Sie im Log-Bucket auf Mehr und dann auf Tags bearbeiten.

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

  5. Es wird ein Dialogfeld zur Bestätigung Ihrer Änderungen angezeigt. Klicken Sie 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 Folgendes:

  • 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

Wenn Sie ein Tag aus einem Log-Bucket entfernen möchten, verwenden Sie die Methode tagBindings.delete.

Beschränkungen

  • Sie können IAM-Rollenzuweisungen nicht verwenden, um zu steuern, welche Log-Buckets ein Hauptkonto sieht, wenn es die Log-Buckets in einem Google Cloud -Projekt auflistet. Ein Schulleiter 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 für einen Log-Bucket ausführen kann. Sie können beispielsweise einschränken, ob ein Hauptkonto einen bestimmten Log-Bucket löschen darf.

  • Wenn Sie Cloud Billing-Datenexporte mit BigQuery verwenden, kann es bis zu einer 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 Rollenzuweisungen mit IAM-Bedingungen

Wenn Sie benutzerdefinierte IAM-Rollen verwenden und IAM-Bedingungen an die Rollenzuweisungen anhängen möchten, müssen Sie möglicherweise mehrere benutzerdefinierte Rollen erstellen. Einige IAM-Berechtigungen werden ungültig, wenn eine IAM-Bedingung an eine Rollenzuweisung angehängt wird.

Für Cloud Logging werden die folgenden IAM-Berechtigungen ungültig, wenn eine Rollenzuweisung 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 andere 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 zuweisen, hängen Sie keine IAM-Bedingung an die Rollenzuweisung an. Wenn Sie die Rolle mit den Berechtigungen delete und update zuweisen, können Sie eine IAM-Bedingung hinzufügen, die die Zuweisung auf Ressourcen mit einem bestimmten Tag beschränkt.

Nächste Schritte