Tags erstellen und verwalten

In dieser Anleitung wird beschrieben, wie Sie Tags in Firestore-Datenbanken erstellen und verwalten.

Tags

Ein Tag ist ein Schlüssel/Wert-Paar, das an eine Ressource in Google Cloud angehängt werden kann. Mit Tags können Sie Richtlinien abhängig davon zulassen oder ablehnen, ob eine Ressource ein bestimmtes Tag hat. Beispielsweise können Sie IAM-Rollen (Identity and Access Management) bedingt zuweisen, je nachdem, ob eine Ressource ein bestimmtes Tag hat. Weitere Informationen finden Sie unter Tags – Übersicht.

Tags werden an Ressourcen angehängt, indem eine Tag-Bindungsressource erstellt wird, die den Wert mit der Google Cloud-Ressource verknüpft.

Erforderliche Berechtigungen

Welche Berechtigungen Sie benötigen, hängt von der auszuführenden Aktion ab.

Um diese Berechtigungen zu erhalten, bitten Sie Ihren Administrator, die vorgeschlagene Rolle auf der entsprechenden Ebene der Ressourcenhierarchie zu gewähren.

Tags aufrufen

Sie benötigen die Rolle Tag-Betrachter (roles/resourcemanager.tagViewer) oder eine andere Rolle mit den folgenden Berechtigungen, um Tag-Definitionen und Tags aufzurufen, die an Ressourcen angehängt sind:

Erforderliche Berechtigungen

  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.list
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • listTagBindings für den entsprechenden Ressourcentyp. Beispiel: compute.instances.listTagBindings zum Aufrufen von Tags, die an Compute Engine-Instanzen angehängt sind.
  • listEffectiveTags
  • für den entsprechenden Ressourcentyp. Beispiel: compute.instances.listEffectiveTags zum Aufrufen aller Tags, die an Compute Engine-Instanzen angehängt sind oder von diesen übernommen wurden.

Zum Aufrufen von Tags auf Organisationsebene benötigen Sie die Rolle Organisationsbetrachter (roles/resourcemanager.organizationViewer) für die Organisationsressource.

Tags verwalten

Zum Erstellen, Aktualisieren und Löschen von Tag-Definitionen benötigen Sie die Rolle Tag-Administrator (roles/resourcemanager.tagAdmin) oder eine andere Rolle mit den folgenden Berechtigungen:

Erforderliche Berechtigungen

  • resourcemanager.tagKeys.create
  • resourcemanager.tagKeys.update
  • resourcemanager.tagKeys.delete
  • resourcemanager.tagKeys.list
  • resourcemanager.tagKeys.get
  • resourcemanager.tagKeys.getIamPolicy
  • resourcemanager.tagKeys.setIamPolicy
  • resourcemanager.tagValues.create
  • resourcemanager.tagValues.update
  • resourcemanager.tagValues.delete
  • resourcemanager.tagValues.list
  • resourcemanager.tagValues.get
  • resourcemanager.tagValues.getIamPolicy
  • resourcemanager.tagValues.setIamPolicy

Zum Verwalten von Tags auf Organisationsebene benötigen Sie die Rolle Organization Viewer (roles/resourcemanager.organizationViewer) für die Organisationsressource.

Tags für Ressourcen verwalten

Zum Hinzufügen und Entfernen von Tags, die mit Ressourcen verknüpft sind, benötigen Sie die Rolle Tag-Nutzer (roles/resourcemanager.tagUser) oder eine andere Rolle mit entsprechenden Berechtigungen für den Tag-Wert und die Ressourcen, an die Sie den Tag-Wert anhängen. Die Rolle Tag-Nutzer umfasst die folgenden Berechtigungen:

Erforderliche Berechtigungen

  • Erforderliche Berechtigungen für die Ressource, an die Sie den Tag-Wert anhängen:
    • Ressourcenspezifische createTagBinding-Berechtigung, z. B. compute.instances.createTagBinding für Compute Engine-Instanzen.
    • Ressourcenspezifische deleteTagBinding-Berechtigung, z. B. compute.instances.deleteTagBinding für Compute Engine-Instanzen.
  • Erforderliche Berechtigungen für den Tag-Wert:
    • resourcemanager.tagValueBindings.create
    • resourcemanager.tagValueBindings.delete
  • Berechtigungen, mit denen Sie Projekte und Tag-Definitionen aufrufen können:
    • resourcemanager.tagValues.get
    • resourcemanager.tagValues.list
    • resourcemanager.tagKeys.get
    • resourcemanager.tagKeys.list
    • resourcemanager.projects.get

Wenn Sie Firestore-Instanzen Tags zuweisen möchten, benötigen Sie die Rolle Datastore-Inhaber (roles/datastore.owner).

Tag-Schlüssel und -Werte erstellen

Bevor Sie ein Tag anhängen können, müssen Sie ein Tag erstellen und seinen Wert konfigurieren. Informationen zum Erstellen von Tag-Schlüsseln und -Werten finden Sie unter Tag erstellen und Tag-Wert hinzufügen.

Tag an eine Datenbank anhängen

Nachdem ein Tag erstellt wurde, müssen Sie es an eine Datenbank anhängen.

gcloud

Wenn Sie ein Tag an eine Datenbank anhängen möchten, müssen Sie mit dem Befehl gcloud resource-manager tags bindings create eine Tag-Bindungsressource erstellen:

      gcloud resource-manager tags bindings create \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Ersetzen Sie Folgendes:

  • TAGVALUE_NAME: die permanente ID oder der Namespace-Name des angehängten Tag-Werts. Beispiel: tagValues/567890123456.
  • RESOURCE_ID ist die vollständige ID der Ressource, einschließlich des API-Domainnamens, um den Ressourcentyp (//firestore.googleapis.com/) zu identifizieren. Wenn Sie beispielsweise ein Tag an eine Datenbank in projects/firestore-test-project anhängen möchten, lautet die vollständige ID: //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: Der Standort Ihrer Ressource. Wenn Sie ein Tag an eine globale Ressource anhängen, z. B. einen Ordner oder ein Projekt, lassen Sie dieses Flag weg. Wenn Sie ein Tag an eine regionale oder zonale Ressource anhängen, müssen Sie den Standort angeben, z. B. us-central1 (Region) oder us-central1-a (Zone).

An eine Datenbank angehängte Tags auflisten

Sie können eine Liste der Tag-Bindungen aufrufen, die direkt an die Datenbank angehängt oder von ihr übernommen wurden.

gcloud

Verwenden Sie den Befehl gcloud resource-manager tags bindings list, um eine Liste der Tag-Bindungen abzurufen, die an eine Ressource angehängt sind:

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

Ersetzen Sie Folgendes:

  • RESOURCE_ID ist die vollständige ID der Ressource, einschließlich des API-Domainnamens, um den Ressourcentyp (//firestore.googleapis.com/) zu identifizieren. Wenn Sie beispielsweise ein Tag an eine Datenbank in projects/firestore-test-project anhängen möchten, lautet die vollständige ID: //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: Der Standort Ihrer Ressource. Wenn Sie ein Tag aufrufen, das an eine globale Ressource angehängt ist, z. B. einen Ordner oder ein Projekt, lassen Sie dieses Flag weg. Wenn Sie ein Tag aufrufen, das an eine regionale oder zonale Ressource angehängt ist, müssen Sie den Standort angeben, z. B. us-central1 (Region) oder us-central1-a (Zone).

Sie sollten eine Antwort ähnlich der folgenden erhalten:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //firestore.googleapis.com/projects/firestore-test-project/databases/(default)
      

Tags von einer Datenbank trennen

Sie können Tags, die direkt an eine Datenbank angehängt wurden, trennen. Übernommene Tags können durch Anhängen eines Tags mit demselben Schlüssel und einem anderen Wert überschrieben, aber nicht getrennt werden. Bevor Sie ein Tag löschen können, müssen Sie dessen Schlüssel und Werte von allen Ressourcen trennen, an die es angehängt ist.

gcloud

Verwenden Sie den Befehl gcloud resource-manager tags bindings delete, um eine Tag-Bindung zu löschen:

      gcloud resource-manager tags bindings delete \
          --tag-value=TAGVALUE_NAME \
          --parent=RESOURCE_ID \
          --location=LOCATION
      

Ersetzen Sie dabei Folgendes:

  • TAGVALUE_NAME: die permanente ID oder der Namespace-Name des angehängten Tag-Werts. Beispiel: tagValues/567890123456.
  • RESOURCE_ID ist die vollständige ID der Ressource, einschließlich des API-Domainnamens, um den Ressourcentyp (//firestore.googleapis.com/) zu identifizieren. Wenn Sie beispielsweise ein Tag an eine Datenbank in projects/firestore-test-project anhängen möchten, lautet die vollständige ID: //firestore.googleapis.com/projects/firestore-test-project/databases/\(default\).
  • LOCATION: Der Standort Ihrer Ressource. Wenn Sie ein Tag an eine globale Ressource anhängen, z. B. einen Ordner oder ein Projekt, lassen Sie dieses Flag weg. Wenn Sie ein Tag an eine regionale oder zonale Ressource anhängen, müssen Sie den Standort angeben, z. B. us-central1 (Region) oder us-central1-a (Zone).

Tag-Schlüssel und -Werte löschen

Achten Sie beim Entfernen eines Tag-Schlüssels oder einer Wertedefinition darauf, dass das Tag von der Datenbank getrennt ist. Sie müssen vorhandene Tag-Anhänge, die als Tag-Bindungen bezeichnet werden, löschen, bevor Sie die Tag-Definition selbst löschen. Informationen zum Löschen von Tag-Schlüsseln und Tag-Werten finden Sie unter Tags löschen.

Bedingungen und Tags für Identity and Access Management

Mit Tags und IAM-Bedingungen können Sie Nutzern in Ihrer Hierarchie bedingte Rollenbindungen zuweisen. Wenn Sie das an eine Ressource angehängte Tag ändern oder löschen, kann der Nutzerzugriff auf diese Ressource entfernt werden, nachdem eine IAM-Richtlinie mit bedingten Rollenbindungen angewendet wurde. Weitere Informationen finden Sie unter Bedingungen und Tags für Identity and Access Management.

Nächste Schritte