Tags für Ressourcen verwalten


In dieser Anleitung wird beschrieben, wie Sie Tags für Compute Engine-Ressourcen erstellen und verwalten. Ein Tag ist ein Schlüssel/Wert-Paar, das an eine Google Cloud Platform-Ressource angehängt werden kann. Tags werden für verschiedene Zwecke verwendet, einschließlich:

  • Richtlinien abhängig davon zulassen oder ablehnen, ob eine Ressource ein bestimmtes Tag hat.
  • Definieren Sie Quellen und Ziele in globalen Firewallrichtlinien und in regionalen Netzwerk-Firewallrichtlinien.
  • Ressourcen logisch organisieren

Nachdem Sie ein Tag erstellt und den entsprechenden Zugriff auf Tag und Ressource gewährt haben, können Sie das Tag als Schlüssel/Wert-Paar anhängen. Sie können pro Schlüssel genau einen Wert an eine Ressource anhängen. Beispiel: Wenn Sie das Tag environment: development anhängen, können Sie die Tags environment: production oder environment: test nicht anhängen. An jede Ressource können maximal 50 Schlüssel/Wert-Paare angehängt werden.

Zum Anhängen von Tags an Ressourcen müssen Sie eine TagBinding-Ressource erstellen, die den Tag-Wert mit der Google Cloud-Ressource verknüpft. Weitere Informationen zu Tags und ihrer Funktionsweise finden Sie in der Übersicht zu Tags.

Hinweise

  • Lesen Sie die Übersicht zu Tags in der Resource Manager-Dokumentation.
  • Lesen Sie in der Resource Manager-Dokumentation den Artikel Tags erstellen und verwalten.
  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich so bei Compute Engine authentifizieren.

    Wählen Sie den Tab für die Verwendung der Beispiele auf dieser Seite aus:

    Console

    Wenn Sie über die Google Cloud Console auf Google Cloud-Dienste und -APIs zugreifen, müssen Sie die Authentifizierung nicht einrichten.

    gcloud

    1. Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init
    2. Legen Sie eine Standardregion und -zone fest.

    REST

    Verwenden Sie die von der gcloud CLI bereitgestellten Anmeldedaten, um die REST API-Beispiele auf dieser Seite in einer lokalen Entwicklungsumgebung zu verwenden.

      Installieren Sie die Google Cloud CLI und initialisieren Sie sie mit folgendem Befehl:

      gcloud init

Berechtigungen

Zur Verwaltung von Tags für Compute Engine-Ressourcen sollte Nutzern und Dienstkonten die Rolle tagUser zugewiesen werden. Weitere Informationen zur Rolle tagUser finden Sie unter Erforderliche Berechtigungen.

Unterstützte Ressourcen

Bei den folgenden Ressourcen wird das Tagging erst nach der Ressourcenerstellung unterstützt:

  • VM-Instanz
  • Laufwerk
  • Verwaltete Instanzgruppe
  • Bild
  • Snapshot
  • Die meisten Netzwerkressourcen wie Netzwerk-, Subnetzwerk-, Firewall- und HealthCheck-Ressourcen.

Bei den folgenden Ressourcen wird auch das Tagging während der Ressourcenerstellung unterstützt:

  • VM-Instanz
  • Laufwerk

Tags zu einer Ressource hinzufügen

Vorhandene Tags können an bestimmte Ressourcen angehängt werden, nachdem die Ressource erstellt wurde. Gehen Sie dazu so vor:

Console

Je nach Ressourcentyp können die genauen Schritte etwas unterschiedlich sein. Mit folgenden Schritten wird beispielsweise ein Tag an eine VM angehängt:

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie in der Spalte Name auf den Namen der VM, für die Sie Tags hinzufügen möchten.

  4. Führen Sie auf der Seite VM-Instanzdetails folgende Schritte aus:

    1. Klicken Sie auf Bearbeiten.
    2. Klicken Sie im Bereich Basic auf Tags verwalten und fügen Sie die für die Instanz gewünschten Tags hinzu.
    3. Klicken Sie auf Speichern.

gcloud

Eine ausführliche Anleitung zur Verwendung dieser Flags finden Sie in der Dokumentation zu Resource Manager unter Tag an eine Ressource anhängen.

Mit folgendem Befehl wird beispielsweise ein Tag an eine VM angehängt:

gcloud resource-manager tags bindings create \
    --location LOCATION_NAME \
    --tag-value=tagValues/TAGVALUE_ID \
    --parent=//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Ersetzen Sie Folgendes:

  • LOCATION_NAME: Die Region der Zielressource, z. B. us-central1
  • TAGVALUE_ID: Die numerische ID des Tag-Werts
  • PROJECT_NUMBER: Die numerische ID Ihres Projekts
  • ZONE: Der Zonenname, z. B. us-central1-a
  • VM_ID: Die numerische ID der VM-Instanz

API

Wenn Sie ein Tag an eine Ressource anhängen möchten, müssen Sie zuerst eine JSON-Darstellung einer Tag-Bindung erstellen, die die permanente ID oder den Namespace-Namen des Tag-Werts und die permanente ID der Ressource enthält. Weitere Informationen zum Format einer Tag-Bindung finden Sie in der Referenz zu TagBinding.

Wenn Sie das Tag an eine zonale Ressource (Z. B. eine VM-Instanz) anhängen möchten, verwenden Sie die tagBindings.create-Methode mit dem regionalen Endpunkt am Standpunkt Ihrer Ressource befindet. Beispiel:

POST https://LOCATION-cloudresourcemanager.googleapis.com/v3/tagBindings

Der Anfragetext kann einer der folgenden sein:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValue": "tagValue/TAGVALUE_ID"
}

Oder:

{
  "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID",
  "tagValueNamespacedName": TAGVALUE_NAMESPACED_NAME
}

Ersetzen Sie Folgendes:

  • LOCATION: Der Standort, zu dem die Zielressource gehört
  • PROJECT_NUMBER: Die numerische ID Ihres Projekts
  • ZONE: Der Zonenname, z. B. us-central1-a
  • VM_ID: Die numerische ID der VM
  • TAGVALUE_ID: Die permanente ID des angehängten Tag-Werts. Beispiel: 4567890123.
  • TAGVALUE_NAMESPACED_NAME: Der Namespace-Name des angehängten Tag-Werts im parentNamespace/tagKeyShortName/tagValueShortName-Format.

Tags während der Ressourcenerstellung zu einer Ressource hinzufügen

In bestimmten Szenarien möchten Sie möglicherweise Ressourcen während der Ressourcenerstellung statt nach der Erstellung der Ressource taggen. Beispiel: Sie können Firewall-Tags auf Netzwerkrichtlinien anwenden, wenn Sie die Cloud Next Generation Firewall-Ressource erstellen.

Console

Je nach Ressourcentyp können die genauen Schritte etwas unterschiedlich sein. Die folgenden Schritte gelten für eine VM:

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie auf Instanz erstellen.

  4. Klicken Sie auf Tags und Labels verwalten.

  5. Klicken Sie auf Tags hinzufügen.

  6. Folgen Sie der Anleitung in der Seitenleiste, um die Tags auszuwählen, die der Instanz hinzugefügt werden sollen.

  7. Klicken Sie auf Speichern.

  8. Führen Sie die anderen Schritte unter VM-Instanz erstellen und starten aus, um das Erstellen der Instanz abzuschließen.

gcloud

Um während der Ressourcenerstellung ein Tag an eine Ressource anzuhängen, fügen Sie das --resource-manager-tags-Flag mit dem entsprechenden create-Befehl hinzu. Verwenden Sie beispielsweise folgenden Befehl, um ein Tag an eine VM anzuhängen:

gcloud compute instances create INSTANCE_NAME --resource-manager-tags=tagKeys/TAGKEY_ID=tagValues/TAGVALUE_ID

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: durch den Namen der Instanz
  • TAGKEY_ID: Die numerische ID des Tag-Schlüssels
  • TAGVALUE_ID: Die permanente numerische ID des angehängten Tag-Werts; Beispiel: 4567890123

Um mehrere Tags anzugeben, trennen Sie die Tags durch ein Komma, z. B. TAGKEY1=TAGVALUE1,TAGKEY2=TAGVALUE2.

API

Stellen Sie eine POST-Anfrage an die folgende URL:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/instances

Fügen Sie folgenden JSON-Anfragetext ein:

{
  "name": INSTANCE_NAME,
  "params": {
    "resourceManagerTags": {
      "tagKeys/TAGKEY_ID: "tagValues/TAGVALUE_ID",
    },
  }
  // other fields omitted
}

Ersetzen Sie Folgendes:

  • INSTANCE_NAME: durch den Namen der Instanz
  • TAGKEY_ID: Die numerische ID des Tag-Schlüssels
  • TAGVALUE_ID: Die permanente numerische ID des angehängten Tag-Werts; Beispiel: 4567890123

Tags von einer Ressource trennen

Sie können ein Tag von einer Ressource trennen, indem Sie die Tag-Bindungsressource löschen.

Eine Anleitung zum Trennen von Tags finden Sie in der Resource Manager-Dokumentation unter Tag von einer Ressource trennen.

Console

Je nach Ressourcentyp können die genauen Schritte etwas unterschiedlich sein. Mit folgenden Schritten wird beispielsweise ein Tag von einer VM getrennt:

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie in der Spalte Name auf den Namen der VM, für die Sie Tags hinzufügen möchten.

  4. Führen Sie auf der Seite VM-Instanzdetails folgende Schritte aus:

    1. Klicken Sie auf Bearbeiten.
    2. Klicken Sie im Bereich Basic auf Tags verwalten und entfernen Sie die für die Instanz gewünschten Tags.
    3. Klicken Sie auf Speichern.

gcloud

Im folgenden Beispiel wird ein Tag mithilfe der gcloud CLI von der VM getrennt:

gcloud resource-manager tags bindings delete \
--location LOCATION_NAME \
--tag-value=tagValues/TAGVALUE_ID \
--parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Ersetzen Sie Folgendes:

  • LOCATION_NAME: Die Region der Zielressource, z. B. us-central1
  • TAGVALUE_ID: Die numerische ID des Tag-Schlüssels
  • PROJECT_NUMBER: Die numerische ID Ihres Projekts
  • ZONE: Der Zonenname, z. B. us-central1-a
  • VM_ID: Die numerische ID der VM-Instanz

Wenn Sie eine vorhandene Tag-Bindung aktualisieren oder ersetzen möchten, trennen Sie die alte Tag-Bindung und hängen die neue an.

API

Verwenden Sie die tagBindings.delete-Methode mit dem regionalen Endpunkt am Standpunkt Ihrer Ressource, um eine Tag-Bindung zu löschen, die an eine Ressource angehängt ist, z. B. eine VM.

DELETE https://LOCATION-cloudresourcemanager.googleapis.com/v3/{name=TAGBINDINGS_NAME}

Wobei:

  • TAGBINDINGS_NAME ist die permanente ID der TagBinding. Beispiel: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F1234567890/tagValues/567890123456.

  • LOCATION ist der regionale Endpunkt für Ihre Ressource. Beispiel: us-central1.

An eine Ressource angehängte Tags anzeigen

Eine ausführliche Anleitung zum Auflisten von Tags finden Sie in der Resource Manager-Dokumentation unter Tags auflisten, die an eine Ressource angehängt sind.

Console

Je nach Ressourcentyp können die genauen Schritte etwas unterschiedlich sein. In folgenden Schritten wird beispielsweise gezeigt, wie Sie Tags für eine VM anzeigen:

  1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu „VM-Instanzen“

  2. Wählen Sie Ihr Projekt aus und klicken Sie auf Weiter.

  3. Klicken Sie in der Spalte Name auf den Namen der VM, für die Sie Tags anzeigen möchten.

  4. Suchen Sie auf der Detailseite der VM-Instanzen im Abschnitt Tags nach Tags.

gcloud

Verwenden Sie den Befehl gcloud resource-manager tags bindings list, um eine Liste der Tag-Bindungen abzurufen, die direkt an eine Ressource angehängt sind: Wenn Sie das --effective-Flag hinzufügen, wird auch eine Liste der Tags zurückgegeben, die von dieser Ressource übernommen wurden. Beispiel:

gcloud resource-manager tags bindings list \
    --location=LOCATION_NAME \
    --parent //compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID

Ersetzen Sie Folgendes:

  • LOCATION_NAME: Die Region der Zielressource, z. B. us-central1
  • PROJECT_NUMBER: Die numerische ID Ihres Projekts
  • ZONE: Der Zonenname, z. B. us-central1-a
  • VM_ID: Die numerische ID der VM-Instanz

Wenn Sie dem tags bindings list-Befehl das --effective-Flag hinzufügen, wird auch eine Liste aller Tags zurückgegeben, die von dieser Ressource übernommen wurden. Sie sollten eine Antwort ähnlich der folgenden erhalten:

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

Sind alle in einer Ressource ausgewerteten Tags direkt angehängt, ist das inherited-Feld falsch und wird ausgelassen.

API

Um die Tag-Bindungen aufzulisten, die an eine regionale Ressource wie Compute Engine-Instanzen angehängt sind, verwenden Sie die Methode tagBindings.list mit dem regionalen Endpunkt, in dem sich Ihre Ressource befindet. Beispiel:

GET https://LOCATION_NAME-cloudresourcemanager.googleapis.com/v3/tagBindings

{
    "parent": "//compute.googleapis.com/projects/PROJECT_NUMBER/zones/ZONE/instances/VM_ID"
}

Ersetzen Sie Folgendes:

  • LOCATION_NAME: Die Region der Zielressource, z. B. us-central1
  • PROJECT_NUMBER: Die numerische ID Ihres Projekts
  • ZONE: Der Zonenname, z. B. us-central1-a
  • VM_ID: Die numerische ID der VM-Instanz

Nächste Schritte