Tags erstellen und verwalten

Auf dieser Seite werden Google Cloud -Tags und ihre Verwendung mit Pub/Sub beschrieben. Tags können auf Pub/Sub-Themen, ‑Abos und ‑Snapshots angewendet werden. Die Unterstützung für das Anwenden von Tags auf Pub/Sub-Schemas ist geplant.

Tags

Ein Tag ist ein Schlüssel/Wert-Paar, das an eine Ressource inGoogle Cloudangehä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 zu Tags 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

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten von Tags benötigen:

  • Tag-Betrachter (roles/resourcemanager.tagViewer) für die Ressourcen, an die die Tags angehängt sind
  • Tags auf Organisationsebene ansehen und verwalten: Organisationsbetrachter (roles/resourcemanager.organizationViewer) für die Organisation
  • Tag-Definitionen erstellen, aktualisieren und löschen: Tag-Administrator (roles/resourcemanager.tagAdmin) für die Ressource, für die Sie Tags erstellen, aktualisieren oder löschen
  • Tags an Ressourcen anhängen und von Ressourcen entfernen: Tag-Nutzer (roles/resourcemanager.tagUser) für den Tag-Wert und die Ressourcen, an die Sie den Tag-Wert anhängen oder von denen Sie ihn entfernen

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

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Um Pub/Sub-Themen, ‑Abos oder ‑Snapshots Tags zuzuweisen, benötigen Sie die Rolle Pub/Sub-Bearbeiter (roles/pubsub.editor).

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.

Tags während der Ressourcenerstellung hinzufügen

Sie können Tags beim Erstellen von Themen, Abos oder Snapshots hinzufügen. Wenn Sie beim Erstellen von Ressourcen Tags hinzufügen, können Sie sofort wichtige Metadaten für Ihre Ressourcen angeben. Außerdem können Sie so Ressourcen besser organisieren, Kosten verfolgen und Richtlinien automatisch anwenden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub auf.
  2. Zu Pub/Sub

  3. Wählen Sie die Option zum Erstellen eines neuen Themas, Abos oder Snapshots aus.
  4. Klicken Sie auf Tags verwalten.
  5. Wenn Ihre Organisation nicht im Bereich Tags verwalten angezeigt wird, klicken Sie auf Bereich für Tags auswählen. Wählen Sie aus, ob Sie Tags hinzufügen möchten, die auf Organisations- oder Projektebene definiert sind, und geben Sie dann die entsprechende ID ein.
  6. Klicken Sie auf Tag hinzufügen.
  7. Wählen Sie aus der Liste den Schlüssel für das Tag aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
  8. Wählen Sie den Wert für das Tag, das Sie anhängen möchten, aus der Liste aus. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
  9. Klicken Sie auf Speichern. Der Bereich Tags wird mit den Informationen zu den Tags aktualisiert.
  10. Erstellen Sie Ihr Thema, Abo oder Ihren Snapshot. Das neue Thema, Abo oder der neue Snapshot wird mit den angegebenen Tags erstellt.

gcloud

Führen Sie den folgenden Befehl aus, um beim Erstellen von Themen, Abos oder Snapshots Tags hinzuzufügen:

       gcloud pubsub topics create TOPIC_ID --tags=TAG_KEY=TAG_VALUE
     

Ersetzen Sie Folgendes:

  • TOPIC_ID: ID des Themas
  • TAG_KEY: die permanente ID oder der Namespace-Name des angehängten Tag-Schlüssels, z. B. tagKeys/567890123456
  • TAG_VALUE: die permanente ID oder der Namespace-Name des angehängten Tag-Werts, z. B. tagValues/567890123456

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

API

Senden Sie eine POST-Anfrage an die folgende URL:

      https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID

Geben Sie im Anfragetext den folgenden JSON-Code an:

      
{
  "name": "projects/PROJECT_ID/topics/TOPIC_ID"
  "tags": {
    "TAGKEY_NAME": "TAGVALUE_NAME"
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts.
  • TOPIC_ID: ID des Themas
  • TAGKEY_NAME: die permanente ID oder der Namespace-Name des angehängten Tag-Schlüssels, z. B. tagKeys/567890123456
  • TAGVALUE_NAME: die permanente ID oder der Namespace-Name des angehängten Tag-Werts, z. B. tagValues/567890123456

Obligatorische Tags erzwingen

Sie können obligatorische Tags für Ressourcen erzwingen, um sicherzustellen, dass beim Erstellen von Ressourcen bestimmte Tags vorhanden sind, z. B. ein Kostenstellentag, um die Einhaltung von Organisationsrichtlinien zu gewährleisten. Dazu können Sie Organisationsrichtlinien und benutzerdefinierte Einschränkungen verwenden. Die Erzwingung erfolgt beim Erstellen von Ressourcen. So wird verhindert, dass Ressourcen ohne die erforderlichen Tags bereitgestellt werden. Weitere Informationen finden Sie unter Erzwingen von Pflicht-Tags mit Organisationsrichtlinien.

Benutzerdefinierte Einschränkung zum Erzwingen von Tags einrichten

Console

  1. Wechseln Sie in der Google Cloud Console zur Seite Organisationsrichtlinien.

    Zu den Organisationsrichtlinien

  2. Klicken Sie oben auf der Seite auf die Projektauswahl.

  3. Wählen Sie in der Projektauswahl die Organisation aus, in der Sie die benutzerdefinierte Einschränkung erzwingen möchten.

  4. Richten Sie eine benutzerdefinierte Einschränkung mit den folgenden Parametern ein:

    • Erzwingungsmethode: Govern tags
    • Ressourcentyp: Der vollständig qualifizierte Name der Google Cloud-REST-Ressource, für die Sie obligatorische Tags erzwingen möchten, z. B. file.googleapis.com/Instance.
    • Bedingung: Eine CEL-Bedingung (Common Expression Language), die die Tag-Schlüssel angibt, die für die Ressource erzwungen werden sollen, z. B. resource.hasDirectTagKey("1234567890/owner"), um eine Tag-Bindung für den Tag-Schlüssel 1234567890/owner zu erzwingen. Die CEL-Funktion resource.hasDirectTagKey berücksichtigt nur Tags, die direkt auf eine Ressource angewendet werden, und keine Tags, die von übergeordneten Elementen in der Ressourcenhierarchie übernommen wurden.
    • Aktion: Allow oder Deny.
      • Zulassen: Wenn die angegebene Bedingung erfüllt ist, ist die Aktion zum Erstellen oder Aktualisieren der Ressource zulässig.
      • Verweigern: Wenn die angegebene Bedingung erfüllt ist, wird die Aktion zum Erstellen oder Aktualisieren der Ressource blockiert.
  5. Klicken Sie auf Einschränkung erstellen.

gcloud

Erstellen Sie eine YAML-Datei für die benutzerdefinierte Einschränkung:

name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME
resourceTypes:
- RESOURCE_NAME
methodTypes:
- GOVERN_TAGS
condition: "CONDITION"
actionType: ACTION
displayName: DISPLAY_NAME
description: DESCRIPTION

Dabei gilt:

  • ORGANIZATION_ID: Ihre Organisations-ID, z. B. 1234567890.

  • CONSTRAINT_NAME: Name, den Sie für Ihre neue benutzerdefinierte Einschränkung verwenden möchten. Eine benutzerdefinierte Einschränkung muss mit custom. beginnen und darf nur Großbuchstaben, Kleinbuchstaben oder Ziffern enthalten, z. B. custom.enforceMandatoryTags.

  • RESOURCE_NAME: Der vollständig qualifizierte Name derGoogle Cloud REST-Ressource, für die Sie obligatorische Tags erzwingen möchten, z. B. file.googleapis.com/Instance.

  • CONDITION: Eine CEL-Bedingung (Common Expression Language), die die Tag-Schlüssel angibt, die für die Ressource erzwungen werden sollen, z. B. resource.hasDirectTagKey("1234567890/owner"), um eine Tag-Bindung für den Tag-Schlüssel 1234567890/owner zu erzwingen.

  • ACTION: Aktion, die ausgeführt werden soll, wenn condition erfüllt ist. Dies kann entweder ALLOW oder DENY sein.

    Die Aktion „Verweigern“ bedeutet, dass der Vorgang zum Erstellen oder Aktualisieren der Ressource blockiert wird, wenn die angegebene Bedingung erfüllt ist.

    Die Aktion „Zulassen“ bedeutet, dass der Vorgang zum Erstellen oder Aktualisieren der Ressource zulässig ist, wenn die angegebene Bedingung erfüllt ist. Das bedeutet auch, dass jeder andere Fall als der in der Bedingung explizit aufgeführte blockiert wird.

  • DISPLAY_NAME: Ein nutzerfreundlicher Name für die Beschränkung. Dieses Feld hat eine maximale Länge von 200 Zeichen.

  • DESCRIPTION: Eine nutzerfreundliche Beschreibung der Beschränkung, die als Fehlermeldung angezeigt werden soll, wenn die Richtlinie verletzt wird. Dieses Feld hat eine maximale Länge von 2.000 Zeichen.

Richten Sie die benutzerdefinierte Beschränkung ein, um sie für Organisationsrichtlinien in Ihrer Organisation verfügbar zu machen.

Nachdem Sie die benutzerdefinierte Einschränkung definiert haben, können Sie die Änderungen an der Organisationsrichtlinie testen und analysieren und die Einschränkung erzwingen.

Tags zu vorhandenen Ressourcen hinzufügen

So fügen Sie vorhandenen Themen, Abos oder Momentaufnahmen ein Tag hinzu:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub auf.
  2. Zu Pub/Sub

  3. Wählen Sie die Seite für die Ressource aus, der Sie ein Tag zuweisen möchten. Wenn Sie beispielsweise einem Thema ein Tag hinzufügen möchten, rufen Sie die Seite Themen auf.
  4. Klicken Sie auf Tags.
  5. Wenn Ihre Organisation nicht im Bereich Tags angezeigt wird, klicken Sie auf Bereich auswählen. Wählen Sie Ihre Organisation aus und klicken Sie auf Öffnen.
  6. Klicken Sie auf Tag hinzufügen.
  7. Wählen Sie aus der Liste den Schlüssel für das Tag aus, das Sie anhängen möchten. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
  8. Wählen Sie den Wert für das Tag, das Sie anhängen möchten, aus der Liste aus. Sie können die Liste filtern, indem Sie Suchbegriffe eingeben.
  9. Klicken Sie auf Speichern.
  10. Klicken Sie im Dialogfeld Bestätigen auf Bestätigen, um das Tag anzuhängen.
  11. Mit einer Benachrichtigung wird bestätigt, dass Ihre Tags aktualisiert wurden.

gcloud

Wenn Sie ein Tag an ein Thema, ein Abo oder einen Snapshot 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
      

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 (//pubsub.googleapis.com/) zu identifizieren. Wenn Sie beispielsweise ein Tag an /projects/PROJECT_ID/topics/TOPIC_ID anhängen möchten, lautet die vollständige ID //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.

An Ressourcen angehängte Tags auflisten

Sie können eine Liste der Tag-Bindungen aufrufen, die direkt an das Thema, das Abo oder den Snapshot angehängt oder von diesen übernommen wurden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub auf.
  2. Zu Pub/Sub

  3. Wählen Sie die Seite für die Ressource aus, für die Sie Tags ansehen möchten. Wenn Sie beispielsweise Tags für ein Thema aufrufen möchten, rufen Sie die Seite Themen auf.

    Tags werden in der Console auf der Themenseite im Bereich Tags angezeigt.

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
      

Ersetzen Sie Folgendes:

  • RESOURCE_ID ist die vollständige ID der Ressource, einschließlich des API-Domainnamens, um den Ressourcentyp (//pubsub.googleapis.com/) zu identifizieren. Wenn Sie beispielsweise ein Tag an /projects/PROJECT_ID/topics/TOPIC_ID anhängen möchten, lautet die vollständige ID //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.

Sie sollten eine Antwort ähnlich der folgenden erhalten:

name: tagBindings/%2F%2Fcloudresourcemanager.googleapis.com%2Fprojects%2F7890123456/tagValues/567890123456
          tagValue: tagValues/567890123456
          resource: //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID
      

Tags von Ressourcen trennen

Sie können Tags trennen, die direkt an ein Thema, ein Abo oder einen Snapshot angehängt wurden. Übernommene Tags können durch Anhängen eines Tags mit demselben Schlüssel und einem anderen Wert überschrieben, aber nicht getrennt werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Pub/Sub auf.
  2. Zu Pub/Sub

  3. Wählen Sie die Seite für die Ressource aus, aus der Sie ein Tag entfernen möchten. Wenn Sie beispielsweise ein Tag aus einem Thema entfernen möchten, rufen Sie die Seite Themen auf.
  4. Klicken Sie auf Tags.
  5. Klicken Sie im Bereich Tags neben dem Tag, das Sie trennen möchten, auf Element löschen.
  6. Klicken Sie auf Speichern.
  7. Klicken Sie im Dialogfeld Bestätigen auf Bestätigen, um das Tag zu trennen.

Mit einer Benachrichtigung wird bestätigt, dass Ihre Tags aktualisiert wurden.

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
      

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 (//pubsub.googleapis.com/) zu identifizieren. Wenn Sie beispielsweise ein Tag an /projects/PROJECT_ID/topics/TOPIC_ID anhängen möchten, lautet die vollständige ID //pubsub.googleapis.com/projects/PROJECT_ID/topics/TOPIC_ID.

Tag-Schlüssel und -Werte löschen

Achten Sie beim Entfernen eines Tag-Schlüssels oder einer Wertedefinition darauf, dass das Tag vom Thema, Abo oder Snapshot 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