Tags für Ressourcen verwalten


In diesem Leitfaden wird beschrieben, wie Sie Tags für Compute Engine-Ressourcen erstellen und verwalten. Ein Tag ist ein Schlüssel/Wert-Paar, das an eineGoogle Cloud -Ressource angehängt werden kann. Tags werden für verschiedene Zwecke verwendet, darunter:

  • Richtlinien zulassen oder ablehnen, je nachdem, ob eine Ressource ein bestimmtes Tag hat
  • Definieren Sie Quellen und Ziele in globalen Firewallrichtlinien und in regionalen Netzwerk-Firewallrichtlinien.
  • Ressourcen auf logische Weise 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. Pro Schlüssel kann genau ein Wert an eine Ressource angehängt werden. 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.

Wenn Sie Tags an Ressourcen anhängen möchten, müssen Sie eine Tag-Bindungsressource erstellen, die den Tag-Wert mit der Google Cloud -Ressource verknüpft. Weitere Informationen zu Tags und ihrer Funktionsweise finden Sie im Dokument Tags – Übersicht.

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 bei Compute Engine authentifizieren. Wählen Sie dazu eine der folgenden Optionen aus:

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. REST

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

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Weitere Informationen finden Sie unter Für die Verwendung von REST authentifizieren in der Dokumentation zur Google Cloud-Authentifizierung.

Berechtigungen

Damit Nutzer und Dienstkonten Tags für Compute Engine-Ressourcen verwalten können, muss ihnen die Rolle tagUser zugewiesen werden. Weitere Informationen zur Rolle tagUser finden Sie unter Erforderliche Berechtigungen.

Unterstützte Ressourcen

Die Compute Engine unterstützt das Tagging für die folgenden Ressourcen:

  • Nur nach der Ressourcenerstellung:

    • Verwaltete Instanzgruppen (MIGs)
    • Images
    • Snapshots
    • Die meisten Netzwerkressourcen wie Netzwerk, Subnetzwerk, Firewall und Ressourcen für den Gesundheitscheck.
  • Sowohl während als auch nach der Ressourcenerstellung: VM-Instanzen und Laufwerke

Tags zu einer Ressource hinzufügen

Vorhandene Tags können bestimmten Ressourcen auch nach der Erstellung der Ressource hinzugefügt werden. Folgen Sie dazu der Anleitung unten.

Console

Je nach Ressourcentyp können die genauen Schritte etwas variieren. 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 Resource Manager-Dokumentation unter Tags 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. Beispiele:

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

Der Anfragetext kann eine der folgenden Optionen 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 beim Erstellen 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 variieren. 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 restlichen Schritte unter VM-Instanz erstellen und starten aus, um die Instanz zu erstellen.

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 Entfernen 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 variieren. 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}

Dabei gilt:

  • 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 variieren. 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. Beispiele:

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. Beispiele:

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