Tabellen, Ansichten und Datasets taggen

In diesem Dokument wird beschrieben, wie Sie Tags verwenden, um IAM-Richtlinien (Identity and Access Management) auf BigQuery-Tabellen, ‑Ansichten und ‑Datasets bedingt anzuwenden.

Sie können auch Tags verwenden, um den Zugriff bedingt zu verweigern. Dies ist mit IAM-Richtlinien für BigQuery-Tabellen, ‑Ansichten und ‑Datasets (Vorabversion) möglich. Weitere Informationen finden Sie unter Ablehnungsrichtlinien.

Ein Tag ist ein Schlüssel/Wert-Paar, das Sie direkt an eine Tabelle, Ansicht oder ein Dataset anhängen können oder das eine Tabelle, Ansicht oder ein Dataset von anderenGoogle Cloud Ressourcen übernehmen kann. Sie können Richtlinien bedingt anwenden, je nachdem, ob eine Ressource ein bestimmtes Tag hat. Beispielsweise können Sie einem Hauptkonto mit dem Tag environment:dev bedingt die Rolle „BigQuery-Datenbetrachter“ zuweisen.

Weitere Informationen zur Verwendung von Tags in der gesamten Google Cloud Ressourcenhierarchie finden Sie unter Tags – Übersicht.

Wenn Sie vielen zugehörigen BigQuery-Ressourcen gleichzeitig Berechtigungen gewähren möchten, einschließlich Ressourcen, die noch nicht vorhanden sind, können Sie IAM Conditions verwenden.

Beschränkungen

  • Tabellen-Tags werden für BigQuery Omni-Tabellen, Tabellen in ausgeblendeten Datasets oder temporäre Tabellen nicht unterstützt. Dataset-Tags werden für BigQuery Omni-Datasets nicht unterstützt. Darüber hinaus verwenden regionenübergreifende Abfragen in BigQuery Omni keine Tags während der Überprüfung der Zugriffssteuerung von Tabellen in anderen Regionen.

  • Sie können maximal 50 Tags an eine Tabelle oder ein Dataset anhängen.

  • Alle Tabellen, auf die in einer Platzhalterabfrage verwiesen wird, müssen genau dieselben Tag-Schlüssel und ‑Werte haben.

  • Nutzer mit bedingtem Zugriff auf ein Dataset oder eine Tabelle können die Berechtigungen für diese Ressource nicht über die Google Cloud Console ändern. Änderungen an Berechtigungen werden nur über das bq-Tool und die BigQuery API unterstützt.

  • Einige Dienste außerhalb von BigQuery können IAM-Tag-Bedingungen nicht ordnungsgemäß prüfen. Wenn die Tag-Bedingung positiv ist, also einem Nutzer nur dann eine Rolle für eine Ressource gewährt wird, wenn diese Ressource ein bestimmtes Tag hat, dann wird der Zugriff auf die Ressource verweigert, unabhängig davon, welche Tags mit ihr verbunden sind. Wenn die Tag-Bedingung negativ ist, also einem Nutzer nur dann eine Rolle für eine Ressource zugewiesen wird, wenn diese Ressource kein bestimmtes Tag hat, wird die Tag-Bedingung nicht geprüft.

    Data Catalog kann beispielsweise keine IAM-Tag-Bedingungen für BigQuery-Datasets und ‑Tabellen prüfen. Angenommen, es gibt eine bedingte IAM-Richtlinie, die einem Praktikanten die Rolle „BigQuery-Datenbetrachter“ für Datasets mit dem Tag employee_type=intern zuweist. Da dies eine positive Tag-Bedingung ist, kann der Praktikant keine Datasets durch Suchen in Data Catalog ansehen, auch wenn diese Datasets das Tag employee_type=intern haben. Wenn die Tag-Bedingung in eine negative Bedingung geändert würde, sodass der Praktikant nur Datasets aufrufen könnte, die nicht das employee_type=intern-Tag haben, dann würde die Prüfung ganz übersprungen und der Praktikant könnte die Datasets aufrufen, auf die er normalerweise in BigQuery nicht zugreifen kann.

Erforderliche Rollen

Sie müssen IAM-Rollen zuweisen, die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument gewähren.

Beide der folgenden vordefinierten IAM-Rollen enthalten alle erforderlichen BigQuery-Berechtigungen:

  • BigQuery Dateninhaber (roles/bigquery.dataOwner)
  • BigQuery Administrator (roles/bigquery.admin)

Die Resource Manager-Berechtigungen zum Hinzufügen und Entfernen von Tags sind in der Rolle Tag-Nutzer (roles/resourcemanager.tagUser) enthalten.

Erforderliche Berechtigungen

Zur Verwendung von Tags in BigQuery benötigen Sie die folgenden Berechtigungen:

Vorgang BigQuery-Schnittstellen (API, Befehlszeile, Konsole) und Terraform Cloud Resource Manager API oder gcloud
Tabelle oder Ansicht ein Tag zuweisen
  • bigquery.tables.createTagBinding-Berechtigung für die Tabelle oder Ansicht
  • resourcemanager.tagValueBindings.create-Berechtigung für den Tag-Wert
  • bigquery.tables.create-Berechtigung zum Anhängen eines Tags beim Erstellen einer Tabelle oder Ansicht
  • bigquery.tables.update-Berechtigung zum Anhängen eines Tags beim Aktualisieren einer Tabelle oder Ansicht
  • bigquery.tables.createTagBinding-Berechtigung für die Tabelle oder Ansicht
  • resourcemanager.tagValueBindings.create-Berechtigung für den Tag-Wert
Tag aus einer Tabelle oder Ansicht entfernen
  • bigquery.tables.deleteTagBinding-Berechtigung für die Tabelle oder Ansicht
  • resourcemanager.tagValueBindings.delete-Berechtigung für den Tag-Wert
  • bigquery.tables.update-Berechtigung zum Entfernen eines Tags beim Aktualisieren einer Tabelle oder Ansicht
  • bigquery.tables.deleteTagBinding-Berechtigung für die Tabelle oder Ansicht
  • resourcemanager.tagValueBindings.delete-Berechtigung für den Tag-Wert
Tag an ein Dataset anhängen
  • bigquery.datasets.createTagBinding-Berechtigung für das Dataset
  • resourcemanager.tagValueBindings.create-Berechtigung für den Tag-Wert
  • bigquery.datasets.create-Berechtigung zum Anhängen eines Tags beim Erstellen eines Datensatzes
  • bigquery.datasets.update-Berechtigung zum Anhängen eines Tags beim Aktualisieren eines Datensatzes
  • bigquery.datasets.createTagBinding-Berechtigung für das Dataset
  • resourcemanager.tagValueBindings.create-Berechtigung für den Tag-Wert
Tag aus einem Datensatz entfernen
  • bigquery.datasets.deleteTagBinding-Berechtigung für das Dataset
  • resourcemanager.tagValueBindings.delete-Berechtigung für den Tag-Wert
  • bigquery.datasets.update-Berechtigung zum Entfernen eines Tags beim Aktualisieren eines Datensatzes
  • bigquery.datasets.deleteTagBinding-Berechtigung für das Dataset
  • resourcemanager.tagValueBindings.delete-Berechtigung für den Tag-Wert

Um Tagschlüssel und Schlüsselwerte in der Google Cloud Console aufzulisten, benötigen Sie die folgenden Berechtigungen:

  • Zum Auflisten der Tag-Schlüssel, die einer übergeordneten Organisation oder einem übergeordneten Projekt zugeordnet sind, benötigen Sie die Berechtigung resourcemanager.tagKeys.list für die übergeordnete Ebene und die Berechtigung resourcemanager.tagKeys.get für jeden Tag-Schlüssel. Wenn Sie die Liste der Tag-Schlüssel in der BigQuery-Konsole aufrufen möchten, klicken Sie auf den Dataset-Namen und dann auf Details bearbeiten. Sie können auch auf den Namen der Tabelle oder Ansicht und dann auf Details > Details bearbeiten klicken.

  • Zum Auflisten der Tag-Werte von Schlüsseln, die einer übergeordneten Organisation oder einem übergeordneten Projekt zugeordnet sind, benötigen Sie die Berechtigung resourcemanager.tagValues.list für das der übergeordneten Ebene des Tag-Werts und die Berechtigung resourcemanager.tagValues.get für jeden Tag-Wert. Wenn Sie die Liste der Tag-Schlüsselwerte in der BigQuery Console aufrufen möchten, klicken Sie auf den Namen des Datensatzes und dann auf Details bearbeiten. Sie können auch auf den Namen der Tabelle oder Ansicht und dann auf Details > Details bearbeiten klicken.

Wenn Sie Tags in der Cloud Resource Manager API oder in gcloud verwenden möchten, benötigen Sie die folgenden Berechtigungen:

  • Wenn Sie die mit einer Tabelle oder Ansicht verknüpften Tags mit der Cloud Resource Manager API oder der gcloud CLI auflisten möchten, benötigen Sie die IAM-Berechtigung bigquery.tables.listTagBindings.
  • Um die gültigen Tags für eine Tabelle oder Ansicht aufzulisten, benötigen Sie die IAM-Berechtigung bigquery.tables.listEffectiveTags.
  • Wenn Sie die mit einem Datensatz verknüpften Tags mit der Cloud Resource Manager API oder der gcloud CLI auflisten möchten, benötigen Sie die IAM-Berechtigung bigquery.datasets.listTagBindings.
  • Um die gültigen Tags für ein Dataset aufzulisten, benötigen Sie die IAM-Berechtigung bigquery.datasets.listEffectiveTags.

Tag-Schlüssel und -Werte erstellen

Sie können ein Tag erstellen, bevor Sie es an eine BigQuery-Ressource anhängen. Sie können es aber auch manuell erstellen, wenn Sie die Ressource über dieGoogle Cloud -Konsole erstellen.

Informationen zum Erstellen von Tag-Schlüsseln und -Werten finden Sie in der Resource Manager-Dokumentation unter Tag erstellen und Tag-Werte hinzufügen.

Datasets mit Tags kennzeichnen

In den folgenden Abschnitten wird beschrieben, wie Sie neuen und vorhandenen Datasets Tags zuweisen, Tags auflisten, die an ein Dataset angehängt sind, und Tags von einem Dataset trennen.

Tags beim Erstellen eines neuen Datensatzes anhängen

Nachdem Sie ein Tag erstellt haben, können Sie es an ein neues BigQuery-Dataset anhängen. Sie können pro Dataset nur einen Tag-Wert für einen bestimmten Tag-Schlüssel anhängen. Sie können maximal 50 Tags an ein Dataset anhängen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Wählen Sie im Bereich Explorer das Projekt aus, in dem Sie das Dataset erstellen möchten.

  3. Klicken Sie auf Aktionen ansehen > Dataset erstellen.

  4. Geben Sie die Informationen für den neuen Datensatz ein. Weitere Informationen finden Sie unter Datasets erstellen.

  5. Maximieren Sie den Bereich Tags.

    1. So wenden Sie ein vorhandenes Tag an:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie Aktueller Umfang aus: Aktuelle Organisation auswählen oder Aktuelles Projekt auswählen.

        Alternativ können Sie auf Umfang auswählen klicken, um nach einer Ressource zu suchen oder eine Liste der aktuellen Ressourcen aufzurufen.

      2. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    2. So geben Sie ein neues Tag manuell ein:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie IDs manuell eingeben > Organisation, Projekt oder Tags aus.

      2. Wenn Sie ein Tag für Ihr Projekt oder Ihre Organisation erstellen, geben Sie im Dialogfeld die PROJECT_ID oder die ORGANIZATION_ID ein und klicken Sie dann auf Speichern.

      3. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    3. Optional: Wenn Sie der Tabelle weitere Tags hinzufügen möchten, klicken Sie auf Tag hinzufügen und wiederholen Sie die vorherigen Schritte.

  6. Klicken Sie auf Dataset erstellen.

SQL

Verwenden Sie die Anweisung CREATE SCHEMA.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE SCHEMA PROJECT_ID.DATASET_ID
    OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des zu erstellenden Datasets.
    • TAG_KEY_1: der Namespace-Schlüsselname, den Sie als erstes Tag für das Dataset festlegen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname für den Tag-Wert, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie den Befehl bq mk --dataset mit dem Flag --add_tags aus:

bq mk --dataset \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID

Ersetzen Sie Folgendes:

  • TAG: das Tag, das Sie dem neuen Datensatz zuweisen. Mehrere Tags werden durch Kommas getrennt. Beispiel: 556741164180/env:prod,myProject/department:sales Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben.
  • PROJECT_ID: die ID des Projekts, in dem Sie ein Dataset erstellen.
  • DATASET_ID: die ID des neuen Datensatzes.

Terraform

Verwenden Sie die Ressource google_bigquery_dataset.

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

Im folgenden Beispiel wird ein Dataset mit dem Namen my_dataset erstellt und dann durch Ausfüllen des Felds resource_tags mit Tags versehen:


# Create tag keys and values
data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env2"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "department2"
}

resource "google_tags_tag_value" "env_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.env_tag_key.name}"
  short_name = "prod"
}

resource "google_tags_tag_value" "department_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.department_tag_key.name}"
  short_name = "sales"
}

# Create a dataset
resource "google_bigquery_dataset" "default" {
  dataset_id                      = "my_dataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days

  # Attach tags to the dataset
  resource_tags = {
    (google_tags_tag_key.env_tag_key.namespaced_name) : google_tags_tag_value.env_tag_value.short_name,
    (google_tags_tag_key.department_tag_key.namespaced_name) : google_tags_tag_value.department_tag_value.short_name
  }
}

Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud -Projekt anzuwenden.

Cloud Shell vorbereiten

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf. In dieser Anleitung wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.

    Kopieren Sie den Beispielcode in das neu erstellte main.tf.

    Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.

  3. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  4. Speichern Sie die Änderungen.
  5. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init

    Fügen Sie optional die Option -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  3. Öffnen Sie Ihr Google Cloud Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

API

Rufen Sie die Methode datasets.insert auf und fügen Sie dem Feld resource_tags Ihre Tags hinzu.

Tags an ein vorhandenes Dataset anhängen

Nachdem Sie ein Tag erstellt haben, können Sie es an ein vorhandenes Dataset anhängen. Sie können pro Dataset nur einen Tag-Wert für einen bestimmten Tag-Schlüssel anhängen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.

  3. Klicken Sie im Abschnitt Dataset-Informationen auf Details bearbeiten.

  4. Maximieren Sie den Bereich Tags.

    1. So wenden Sie ein vorhandenes Tag an:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie Aktueller Umfang aus: Aktuelle Organisation auswählen oder Aktuelles Projekt auswählen.

        Alternativ können Sie auf Umfang auswählen klicken, um nach einer Ressource zu suchen oder eine Liste der aktuellen Ressourcen aufzurufen.

      2. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    2. So geben Sie ein neues Tag manuell ein:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie IDs manuell eingeben > Organisation, Projekt oder Tags aus.

      2. Wenn Sie ein Tag für Ihr Projekt oder Ihre Organisation erstellen, geben Sie im Dialogfeld die PROJECT_ID oder die ORGANIZATION_ID ein und klicken Sie dann auf Speichern.

      3. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    3. Optional: Wenn Sie der Tabelle weitere Tags hinzufügen möchten, klicken Sie auf Tag hinzufügen und wiederholen Sie die vorherigen Schritte.

  5. Klicken Sie auf Speichern.

SQL

Verwenden Sie die Anweisung ALTER SCHEMA SET OPTIONS.

Im folgenden Beispiel werden alle Tags für ein vorhandenes Dataset überschrieben.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER SCHEMA PROJECT_ID.DATASET_ID
    SET OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, das die Tabelle enthält.
    • TABLE_ID: der Name der Tabelle, der Sie Tags hinzufügen.
    • TAG_KEY_1: der benannte Schlüssel im Namespace, den Sie als erstes Tag in der Tabelle festlegen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname für den Tag-Wert, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

Im folgenden Beispiel werden mit dem Operator += Tags an einen Datensatz angehängt, ohne vorhandene Tags zu überschreiben. Wenn ein vorhandenes Tag denselben Schlüssel hat, wird es überschrieben.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER SCHEMA PROJECT_ID.DATASET_ID
    SET OPTIONS (
      tags += [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, das die Tabelle enthält.
    • TABLE_ID: der Name der Tabelle, der Sie Tags hinzufügen.
    • TAG_KEY_1: der benannte Schlüssel im Namespace, den Sie als erstes Tag in der Tabelle festlegen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname für den Tag-Wert, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie den Befehl bq update mit dem Flag --add_tags aus:

bq update \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID

Ersetzen Sie Folgendes:

  • TAG: das Tag, das Sie dem Datensatz zuweisen. Mehrere Tags werden durch Kommas getrennt. Beispiel: 556741164180/env:prod,myProject/department:sales Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben.
  • PROJECT_ID: die ID des Projekts, in dem sich das vorhandene Dataset befindet.
  • DATASET_ID: die ID des vorhandenen Datasets.

gcloud

Zum Anhängen eines Tags an ein Dataset über die Befehlszeile erstellen Sie mit dem Befehl gcloud resource-manager tags bindings create eine Tag-Bindungsressource:

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

Ersetzen Sie Folgendes:

  • TAG_VALUE_NAME: die permanente ID oder der Namespace-Name des Tag-Werts, der angehängt werden soll, z. B. tagValues/4567890123 oder 1234567/my_tag_key/my_tag_value.
  • RESOURCE_ID: die vollständige ID des Datensatzes, einschließlich des API-Domainnamens (//bigquery.googleapis.com/), um den Ressourcentyp zu identifizieren. Beispiel: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
  • LOCATION: Speicherort des Datensatzes

Terraform

Fügen Sie dem Feld resource_tags des Datensatzes Tags hinzu und wenden Sie dann die aktualisierte Konfiguration mithilfe der Ressource google_bigquery_dataset an. Weitere Informationen finden Sie im Terraform-Beispiel unter Tags beim Erstellen eines neuen Datensatzes anhängen.

API

Rufen Sie die Methode datasets.get auf, um die Dataset-Ressource einschließlich des Felds resource_tags abzurufen. Fügen Sie dem Feld resource_tags Ihre Tags hinzu und geben Sie die aktualisierte Dataset-Ressource mit der Methode datasets.update zurück.

Tags auflisten, die an ein Dataset angehängt sind

Die folgenden Schritte enthalten eine Liste von Tag-Bindungen, die direkt mit einem Dataset verknüpft sind. Mit diesen Methoden werden keine Tags zurückgegeben, die von übergeordneten Ressourcen übernommen werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.

    Die Tags werden im Bereich Dataset-Informationen angezeigt.

bq

Verwenden Sie den Befehl bq show, um die an ein Dataset angehängten Tags aufzulisten.

bq show PROJECT_ID:DATASET_ID

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, das Ihr Dataset enthält.
  • DATASET_ID: die ID des Datensatzes, für den die Tags aufgelistet werden sollen.

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: die vollständige ID des Datasets, einschließlich des API-Domainnamens (//bigquery.googleapis.com/), um den Ressourcentyp zu identifizieren, z. B. //bigquery.googleapis.com/projects/my_project/datasets/my_dataset

  • LOCATION: der Standort Ihres Datasets

Die Ausgabe sieht etwa so aus:

name: tagBindings/%2F%2Fbigquery.googleapis.com%2Fprojects%2Fmy_project%2Fdatasets%2Fmy_dataset/tagValues/4567890123
parent: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
tagValue: tagValues/4567890123

Terraform

Verwenden Sie den Befehl terraform state show, um die Attribute des Datensatzes aufzulisten, einschließlich des Felds resource_tags. Führen Sie diesen Befehl in dem Verzeichnis aus, in dem die Terraform-Konfigurationsdatei des Datensatzes ausgeführt wurde.

terraform state show google_bigquery_dataset.default

API

Rufen Sie die Methode datasets.get auf, um die Dataset-Ressource abzurufen. Die Dataset-Ressource enthält Tags, die dem Dataset im Feld resource_tags zugeordnet sind.

Aufrufe

Wählen Sie das Dropdown-Menü INFORMATION_SCHEMA.SCHEMATA_OPTIONS Ansicht aus:

Die folgende Abfrage zeigt beispielsweise alle Tags an, die mit allen Datasets in einer Region verknüpft sind. Diese Abfrage gibt eine Tabelle mit Spalten zurück, wie schema_name (die Dataset-Namen), option_name (immer 'tags'), object_type (immer ARRAY<STRUCT<STRING, STRING>>) und option_value, das Arrays von STRUCT-Objekten enthält, die Tags darstellen, die mit jedem Dataset verknüpft sind. Für Datensätze ohne zugewiesene Tags gibt die Spalte option_value ein leeres Array zurück.

SELECT * from region-REGION.INFORMATION_SCHEMA.SCHEMATA_OPTIONS
WHERE option_name='tags'

Ersetzen Sie Folgendes:

  • REGION: die Region, in der sich Ihre Datensätze befinden.

Tags von einem Dataset trennen

Sie können ein Tag von einer Ressource trennen, indem Sie die Tag-Bindungsressource löschen. Wenn Sie ein Tag löschen möchten, müssen Sie es zuerst vom Datensatz trennen. Weitere Informationen finden Sie unter Tags löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie ein Dataset aus.

  3. Klicken Sie im Abschnitt Dataset-Informationen auf Details bearbeiten.

  4. Klicken Sie im Bereich Tags neben dem Tag, das Sie löschen möchten, auf Element löschen.

  5. Klicken Sie auf Speichern.

SQL

Verwenden Sie die Anweisung ALTER SCHEMA SET OPTIONS.

Im folgenden Beispiel werden Tags mithilfe des Operators -= von einem Datensatz getrennt. Wenn Sie alle Tags von einem Datensatz trennen möchten, können Sie tags=NULL oder tags=[] angeben.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags -= [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, das die Tabelle enthält.
    • TABLE_ID: der Name der Tabelle, von der Sie die Tags lösen.
    • TAG_KEY_1: der Namespace-Schlüsselname des ersten Tags, das getrennt werden soll, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname des Werts für das Tag, das getrennt werden soll, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag, das Sie trennen.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags, das Sie trennen.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie den Befehl bq update mit dem Flag --remove_tags aus:

bq update \
    --remove_tags=REMOVED_TAG \
    PROJECT_ID:DATASET_ID

Ersetzen Sie Folgendes:

  • REMOVED_TAG: das Tag, das Sie aus dem Datensatz entfernen. Mehrere Tags werden durch Kommas getrennt. Es werden nur Schlüssel ohne Wertpaare akzeptiert. Beispiel: 556741164180/env,myProject/department. Jeder Tag muss den Namespace-Schlüsselnamen haben.
  • PROJECT_ID: Die ID des Projekts, das Ihr Dataset enthält.
  • DATASET_ID: die ID des Datasets, aus dem Tags getrennt werden sollen.

Wenn Sie alle Tags aus einem Dataset entfernen möchten, verwenden Sie alternativ den Befehl bq update mit dem Flag --clear_all_tags:

bq update \
    --clear_all_tags
    PROJECT_ID:DATASET_ID

gcloud

Zum Trennen eines Tags von einem Dataset über die Befehlszeile löschen Sie die Tag-Bindung mit dem Befehl gcloud resource-manager tags bindings delete:

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

Ersetzen Sie Folgendes:

  • TAG_VALUE_NAME: die permanente ID oder der Namespace-Name des Tag-Werts, der angehängt werden soll, z. B. tagValues/4567890123 oder 1234567/my_tag_key/my_tag_value
  • RESOURCE_ID: die vollständige ID des Datasets, einschließlich des API-Domainnamens (//bigquery.googleapis.com/), um den Ressourcentyp zu identifizieren, z. B. //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
  • LOCATION: der Standort Ihres Datasets

Terraform

Entfernen Sie Ihre Tags aus dem Feld resource_tags des Datensatzes und wenden Sie dann die aktualisierte Konfiguration mithilfe der Ressource google_bigquery_dataset an.

API

Rufen Sie die Methode datasets.get auf, um die Dataset-Ressource einschließlich des Felds resource_tags abzurufen. Entfernen Sie Ihre Tags aus dem Feld resource_tags und geben Sie die aktualisierte Dataset-Ressource mit der Methode datasets.update zurück.

Tabellen taggen

In den folgenden Abschnitten wird beschrieben, wie Sie Tags an neue und vorhandene Tabellen anhängen, an eine Tabelle angehängte Tags auflisten und Tags von einer Tabelle lösen.

Tags beim Erstellen einer neuen Tabelle anhängen

Nachdem Sie ein Tag erstellt haben, können Sie es an eine neue Tabelle anhängen. Sie können pro Tabelle nur einen Tag-Wert für einen bestimmten Tag-Schlüssel anhängen. Sie können maximal 50 Tags an ein Dataset anhängen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und wählen Sie dann ein Dataset aus.

  3. Klicken Sie im Abschnitt Dataset-Informationen auf Tabelle erstellen.

  4. Geben Sie die Informationen für die neue Tabelle ein. Weitere Informationen finden Sie unter Tabellen erstellen und verwenden.

  5. Maximieren Sie den Bereich Tags.

    1. So wenden Sie ein vorhandenes Tag an:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie Aktueller Umfang aus: Aktuelle Organisation auswählen oder Aktuelles Projekt auswählen.

        Alternativ können Sie auf Umfang auswählen klicken, um nach einer Ressource zu suchen oder eine Liste der aktuellen Ressourcen aufzurufen.

      2. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    2. So geben Sie ein neues Tag manuell ein:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie IDs manuell eingeben > Organisation, Projekt oder Tags aus.

      2. Wenn Sie ein Tag für Ihr Projekt oder Ihre Organisation erstellen, geben Sie im Dialogfeld die PROJECT_ID oder die ORGANIZATION_ID ein und klicken Sie dann auf Speichern.

      3. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    3. Optional: Wenn Sie der Tabelle weitere Tags hinzufügen möchten, klicken Sie auf Tag hinzufügen und wiederholen Sie die vorherigen Schritte.

  6. Klicken Sie auf Tabelle erstellen.

SQL

Verwenden Sie die Anweisung CREATE TABLE.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    CREATE TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, in dem Sie die Tabelle erstellen.
    • TABLE_ID ist der Name der neuen Tabelle.
    • TAG_KEY_1: der benannte Schlüssel im Namespace, den Sie als erstes Tag in der Tabelle festlegen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname für den Tag-Wert, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie den Befehl bq mk --table mit dem Flag --add_tags aus:

bq mk --table \
    --schema=SCHEMA \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID.TABLE_ID

Ersetzen Sie Folgendes:

  • SCHEMA: Die Inline-Schemadefinition.
  • TAG: das Tag, das Sie an die neue Tabelle anhängen. Mehrere Tags werden durch Kommas getrennt. Beispiel: 556741164180/env:prod,myProject/department:sales Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben.
  • PROJECT_ID: die ID des Projekts, in dem Sie eine Tabelle erstellen.
  • DATASET_ID: der Name des Datasets, in dem Sie eine Tabelle erstellen.
  • TABLE_ID: Die ID der neuen Tabelle.

Terraform

Verwenden Sie die Ressource google_bigquery_table:

Richten Sie zur Authentifizierung bei BigQuery die Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für Clientbibliotheken einrichten.

Im folgenden Beispiel wird eine Tabelle mit dem Namen mytable erstellt und dann werden Tags angehängt, indem das Feld resource_tags ausgefüllt wird:


# Create tag keys and values
data "google_project" "default" {}

resource "google_tags_tag_key" "env_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "env3"
}

resource "google_tags_tag_key" "department_tag_key" {
  parent     = "projects/${data.google_project.default.project_id}"
  short_name = "department3"
}

resource "google_tags_tag_value" "env_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.env_tag_key.name}"
  short_name = "prod"
}

resource "google_tags_tag_value" "department_tag_value" {
  parent     = "tagKeys/${google_tags_tag_key.department_tag_key.name}"
  short_name = "sales"
}

# Create a dataset
resource "google_bigquery_dataset" "default" {
  dataset_id                      = "MyDataset"
  default_partition_expiration_ms = 2592000000  # 30 days
  default_table_expiration_ms     = 31536000000 # 365 days
  description                     = "dataset description"
  location                        = "US"
  max_time_travel_hours           = 96 # 4 days
}

# Create a table
resource "google_bigquery_table" "default" {
  dataset_id          = google_bigquery_dataset.default.dataset_id
  table_id            = "mytable"
  description         = "table description"
  deletion_protection = false # set to "true" in production

  # Attach tags to the table
  resource_tags = {
    (google_tags_tag_key.env_tag_key.namespaced_name) : google_tags_tag_value.env_tag_value.short_name,
    (google_tags_tag_key.department_tag_key.namespaced_name) : google_tags_tag_value.department_tag_value.short_name
  }
}

Führen Sie die Schritte in den folgenden Abschnitten aus, um Ihre Terraform-Konfiguration auf ein Google Cloud -Projekt anzuwenden.

Cloud Shell vorbereiten

  1. Rufen Sie Cloud Shell auf.
  2. Legen Sie das Google Cloud Standardprojekt fest, auf das Sie Ihre Terraform-Konfigurationen anwenden möchten.

    Sie müssen diesen Befehl nur einmal pro Projekt und in jedem beliebigen Verzeichnis ausführen.

    export GOOGLE_CLOUD_PROJECT=PROJECT_ID

    Umgebungsvariablen werden überschrieben, wenn Sie in der Terraform-Konfigurationsdatei explizite Werte festlegen.

Verzeichnis vorbereiten

Jede Terraform-Konfigurationsdatei muss ein eigenes Verzeichnis haben (auch als Stammmodul bezeichnet).

  1. Erstellen Sie in Cloud Shell ein Verzeichnis und eine neue Datei in diesem Verzeichnis. Der Dateiname muss die Erweiterung .tf haben, z. B. main.tf. In dieser Anleitung wird die Datei als main.tf bezeichnet.
    mkdir DIRECTORY && cd DIRECTORY && touch main.tf
  2. Wenn Sie einer Anleitung folgen, können Sie den Beispielcode in jedem Abschnitt oder Schritt kopieren.

    Kopieren Sie den Beispielcode in das neu erstellte main.tf.

    Kopieren Sie optional den Code aus GitHub. Dies wird empfohlen, wenn das Terraform-Snippet Teil einer End-to-End-Lösung ist.

  3. Prüfen und ändern Sie die Beispielparameter, die auf Ihre Umgebung angewendet werden sollen.
  4. Speichern Sie die Änderungen.
  5. Initialisieren Sie Terraform. Dies ist nur einmal für jedes Verzeichnis erforderlich.
    terraform init

    Fügen Sie optional die Option -upgrade ein, um die neueste Google-Anbieterversion zu verwenden:

    terraform init -upgrade

Änderungen anwenden

  1. Prüfen Sie die Konfiguration und prüfen Sie, ob die Ressourcen, die Terraform erstellen oder aktualisieren wird, Ihren Erwartungen entsprechen:
    terraform plan

    Korrigieren Sie die Konfiguration nach Bedarf.

  2. Wenden Sie die Terraform-Konfiguration an. Führen Sie dazu den folgenden Befehl aus und geben Sie yes an der Eingabeaufforderung ein:
    terraform apply

    Warten Sie, bis Terraform die Meldung „Apply complete“ anzeigt.

  3. Öffnen Sie Ihr Google Cloud Projekt, um die Ergebnisse aufzurufen. Rufen Sie in der Google Cloud Console Ihre Ressourcen in der Benutzeroberfläche auf, um sicherzustellen, dass Terraform sie erstellt oder aktualisiert hat.

API

Rufen Sie die Methode tables.insert mit einer definierten Tabellenressource auf und fügen Sie die Tags in das Feld resource_tags ein.

Tags an eine vorhandene Tabelle anhängen

Nachdem Sie ein Tag erstellt haben, können Sie es an eine vorhandene Tabelle anhängen. Sie können pro Tabelle nur einen Tag-Wert für einen bestimmten Tag-Schlüssel anhängen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann eine Tabelle aus.

  3. Klicken Sie auf den Tab Details und dann auf Details bearbeiten.

  4. Maximieren Sie den Bereich Tags.

    1. So wenden Sie ein vorhandenes Tag an:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie Aktueller Umfang aus: Aktuelle Organisation auswählen oder Aktuelles Projekt auswählen.

        Alternativ können Sie auf Umfang auswählen klicken, um nach einer Ressource zu suchen oder eine Liste der aktuellen Ressourcen aufzurufen.

      2. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    2. So geben Sie ein neues Tag manuell ein:

      1. Klicken Sie auf den Drop-down-Pfeil neben Umfang auswählen und wählen Sie IDs manuell eingeben > Organisation, Projekt oder Tags aus.

      2. Wenn Sie ein Tag für Ihr Projekt oder Ihre Organisation erstellen, geben Sie im Dialogfeld die PROJECT_ID oder die ORGANIZATION_ID ein und klicken Sie dann auf Speichern.

      3. Wählen Sie für Schlüssel 1 und Wert 1 die entsprechenden Werte aus den Listen aus.

    3. Optional: Wenn Sie der Tabelle weitere Tags hinzufügen möchten, klicken Sie auf Tag hinzufügen und wiederholen Sie die vorherigen Schritte.

  5. Klicken Sie auf Speichern.

SQL

Verwenden Sie die Anweisung ALTER TABLE SET OPTIONS.

Im folgenden Beispiel werden alle Tags für eine vorhandene Tabelle überschrieben.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags = [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, das die Tabelle enthält.
    • TABLE_ID: der Name der Tabelle, der Sie Tags hinzufügen.
    • TAG_KEY_1: der benannte Schlüssel im Namespace, den Sie als erstes Tag in der Tabelle festlegen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname für den Tag-Wert, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

Im folgenden Beispiel wird mit dem Operator += ein Tag an eine Tabelle angehängt, ohne vorhandene Tags zu überschreiben. Wenn ein vorhandenes Tag denselben Schlüssel hat, wird es überschrieben.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags += [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, das die Tabelle enthält.
    • TABLE_ID: der Name der Tabelle, der Sie Tags hinzufügen.
    • TAG_KEY_1: der benannte Schlüssel im Namespace, den Sie als erstes Tag in der Tabelle festlegen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname für den Tag-Wert, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag.
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Führen Sie den Befehl bq update mit dem Flag --add_tags aus:

bq update \
    --add_tags=TAG \
    PROJECT_ID:DATASET_ID.TABLE_ID

Ersetzen Sie Folgendes:

  • TAG: das Tag, das Sie an die Tabelle anhängen. Mehrere Tags werden durch Kommas getrennt. Beispiel: 556741164180/env:prod,myProject/department:sales Jedes Tag muss den Parameter Kurzname des Namespace-Schlüssels und des Namespace haben.
  • PROJECT_ID: Die ID des Projekts, das Ihre Tabelle enthält.
  • DATASET_ID: die ID des Datasets, das Ihre Tabelle enthält.
  • TABLE_ID: Die ID der Tabelle, die Sie aktualisieren.

gcloud

Zum Anhängen eines Tags an ein Dataset über die Befehlszeile erstellen Sie mit dem Befehl gcloud resource-manager tags bindings create eine Tag-Bindungsressource:

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

Ersetzen Sie Folgendes:

  • TAG_VALUE_NAME: die permanente ID oder der Namespace-Name des Tag-Werts, der angehängt werden soll, z. B. tagValues/4567890123 oder 1234567/my_tag_key/my_tag_value
  • RESOURCE_ID: die vollständige ID des Datasets, einschließlich des API-Domainnamens (//bigquery.googleapis.com/), um den Ressourcentyp zu identifizieren, z. B. //bigquery.googleapis.com/projects/my_project/datasets/my_dataset/tables/my_table
  • LOCATION: der Speicherort Ihrer Tabelle.

Terraform

Fügen Sie dem Feld resource_tags der Tabelle Tags hinzu und wenden Sie dann die aktualisierte Konfiguration mit der Ressource google_bigquery_table an. Weitere Informationen finden Sie im Terraform-Beispiel unter Tags beim Erstellen einer neuen Tabelle anhängen.

API

Rufen Sie die Methode tables.update mit einer definierten Tabellenressource auf und fügen Sie die Tags in das Feld resource_tags ein.

An eine Tabelle angehängte Tags auflisten

Sie können die Tags auflisten, die direkt an eine Tabelle angehängt sind. Bei diesem Vorgang werden die Tags, die von übergeordneten Ressourcen übernommen werden, nicht aufgelistet.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann eine Tabelle aus.

    Die Tags werden auf dem Tab Details angezeigt.

bq

Verwenden Sie den Befehl bq show und suchen Sie nach der Spalte tags. Wenn die Tabelle keine Tags enthält, wird die Spalte tags nicht angezeigt.

bq show \
    PROJECT_ID:DATASET_ID.TABLE_ID

Ersetzen Sie Folgendes:

  • PROJECT_ID: Die ID des Projekts, das Ihre Tabelle enthält.
  • DATASET_ID: die ID des Datasets, das Ihre Tabelle enthält.
  • TABLE_ID: Die ID Ihrer Tabelle

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: die vollständige ID der Tabelle, einschließlich des API-Domainnamens (//bigquery.googleapis.com/), um den Ressourcentyp zu identifizieren, z. B. //bigquery.googleapis.com/projects/my_project/datasets/my_dataset/tables/my_table

  • LOCATION: der Standort Ihres Datasets

Die Ausgabe sieht etwa so aus:

name: tagBindings/%2F%2Fbigquery.googleapis.com%2Fprojects%2Fmy_project%2Fdatasets%2Fmy_dataset/tagValues/4567890123
parent: //bigquery.googleapis.com/projects/my_project/datasets/my_dataset
tagValue: tagValues/4567890123

Terraform

Verwenden Sie den Befehl terraform state show, um die Attribute der Tabelle aufzulisten, einschließlich des Felds resource_tags. Führen Sie diesen Befehl in dem Verzeichnis aus, in dem die Terraform-Konfigurationsdatei der Tabelle ausgeführt wurde.

terraform state show google_bigquery_table.default

API

Rufen Sie die Methode tables.get mit einer definierten Tabellenressource auf und suchen Sie nach dem Feld resource_tags.

Aufrufe

Wählen Sie das Dropdown-Menü INFORMATION_SCHEMA.TABLE_OPTIONS Ansicht aus:

In der folgenden Abfrage werden beispielsweise alle Tags angezeigt, die an alle Tabellen in einem Dataset angehängt sind. Diese Abfrage gibt eine Tabelle mit Spalten zurück, wie schema_name (der Dataset-Name), option_name (immer 'tags'), object_type (immer ARRAY<STRUCT<STRING, STRING>>) und option_value, das Arrays von STRUCT-Objekten enthält, die Tags darstellen, die mit jedem Dataset verknüpft sind. Bei Tabellen ohne zugewiesene Tags gibt die Spalte option_value ein leeres Array zurück.

SELECT * from DATASET_ID.INFORMATION_SCHEMA.TABLE_OPTIONS
WHERE option_name='tags'

Ersetzen Sie DATASET_ID durch die ID des Datasets, das Ihre Tabelle enthält.

Tags von einer Tabelle trennen

Sie können eine Tag-Verknüpfung aus einer Tabelle entfernen, indem Sie die Tag-Bindung löschen. Wenn Sie ein Tag löschen möchten, müssen Sie es zuerst von der Tabelle trennen. Weitere Informationen finden Sie unter Tags löschen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Maximieren Sie im Bereich Explorer Ihr Projekt und das Dataset und wählen Sie dann eine Tabelle aus.

  3. Klicken Sie auf den Tab Details und dann auf Details bearbeiten.

  4. Klicken Sie im Bereich Tags neben dem Tag, das Sie löschen möchten, auf Element löschen.

  5. Klicken Sie auf Speichern.

SQL

Verwenden Sie die Anweisung ALTER TABLE SET OPTIONS.

Im folgenden Beispiel werden Tags mithilfe des Operators -= aus einer Tabelle getrennt. Wenn Sie alle Tags von einer Tabelle lösen möchten, können Sie tags=NULL oder tags=[] angeben.

  1. Rufen Sie in der Google Cloud Console die Seite BigQuery auf.

    BigQuery aufrufen

  2. Geben Sie im Abfrageeditor die folgende Anweisung ein:

    ALTER TABLE PROJECT_ID.DATASET_ID.TABLE_ID
    SET OPTIONS (
      tags -= [('TAG_KEY_1', 'TAG_VALUE_1'), ('TAG_KEY_2', 'TAG_VALUE_2')];)

    Dabei gilt:

    • PROJECT_ID: Ihre Projekt-ID.
    • DATASET_ID: die ID des Datasets, das die Tabelle enthält.
    • TABLE_ID: der Name der Tabelle, von der Sie die Tags lösen.
    • TAG_KEY_1: der Namespace-Schlüsselname des ersten Tags, das Sie trennen möchten, z. B. 'my-project/env' oder '556741164180/department'.
    • TAG_VALUE_1: der Kurzname des Werts für das Tag, das getrennt werden soll, z. B. 'prod' oder 'sales'.
    • TAG_KEY_2: der Namespace-Schlüsselname für das zweite Tag, das Sie trennen
    • TAG_VALUE_2: Der Kurzname für den Wert des zweiten Tags, das Sie trennen.

  3. Klicken Sie auf Ausführen.

Informationen zum Ausführen von Abfragen finden Sie unter Interaktive Abfrage ausführen.

bq

Verwenden Sie zum Entfernen einiger Tags aus einer Tabelle den Befehl bq update mit dem Flag --remove_tags:

bq update \
    --remove_tags=TAG_KEYS \
    PROJECT_ID:DATASET_ID.TABLE_ID

Ersetzen Sie Folgendes:

  • TAG_KEYS: die Tag-Schlüssel, die Sie aus der Tabelle trennen, durch Kommas getrennt. Beispiel: 556741164180/env,myProject/department Jeder Tag-Schlüssel muss den Namespace-Schlüsselnamen haben.
  • PROJECT_ID: Die ID des Projekts, das Ihre Tabelle enthält.
  • DATASET_ID: die ID des Datasets, das Ihre Tabelle enthält.
  • TABLE_ID: Die ID der Tabelle, die Sie aktualisieren.

Verwenden Sie zum Entfernen aller Tags aus einer Tabelle den Befehl bq update mit dem Flag --clear_all_tags:

bq update \
    --clear_all_tags \
    PROJECT_ID:DATASET_ID.TABLE_ID

gcloud

Wenn Sie eine Tag-Verknüpfung über die Befehlszeile aus einer Tabelle entfernen möchten, löschen Sie die Tag-Bindung mit dem Befehl gcloud resource-manager tags bindings delete:

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

Ersetzen Sie Folgendes:

  • TAG_VALUE_NAME: die permanente ID oder der Namespace-Name des Tag-Werts, der angehängt werden soll, z. B. tagValues/4567890123 oder 1234567/my_tag_key/my_tag_value
  • RESOURCE_ID: die vollständige ID der Tabelle, einschließlich des API-Domainnamens (//bigquery.googleapis.com/), um den Ressourcentyp zu identifizieren, z. B. //bigquery.googleapis.com/projects/my_project/datasets/my_dataset/tables/my_table
  • LOCATION: der Standort Ihres Datasets

Terraform

Entfernen Sie Ihre Tags aus dem Feld resource_tags der Tabelle und wenden Sie dann die aktualisierte Konfiguration mit der Ressource google_bigquery_table an.

API

Rufen Sie die Methode tables.update mit einer definierten Tabellenressource auf und entfernen Sie die Tags im Feld resource_tags. Wenn Sie alle Tags entfernen möchten, entfernen Sie das Feld resource_tags.

Andere tabellarische Ressourcen taggen

Auf ähnliche Weise können Sie BigQuery-Ansichten, materialisierte Ansichten, Klone und Snapshots taggen.

Tags löschen

Sie können ein Tag nicht löschen, wenn von einer Tabelle, Ansicht oder einem Dataset darauf verwiesen wird. Sie sollten alle vorhandenen Tag-Bindungsressourcen trennen, bevor Sie den Tag-Schlüssel oder -Wert selbst löschen. Informationen zum Löschen von Tag-Schlüsseln und Tag-Werten finden Sie unter Tags löschen.

Beispiel

Angenommen, Sie sind Administrator einer Organisation. Ihre Datenanalysten sind alle Mitglieder der Gruppe analysts@example.com, die die IAM-Rolle „BigQuery-Datenbetrachter“ für das Projekt userData haben. Es wird ein Datenanalysten-Praktikant eingestellt, der gemäß den Unternehmensrichtlinien nur die Berechtigung haben soll, das Dataset anonymousData im Projekt userData einzusehen. Sie können den Zugriff mithilfe von Tags steuern.

  1. Erstellen Sie ein Tag mit dem Schlüssel employee_type und dem Wert intern:

    Beispiel für das Erstellen von Tag-Schlüsseln und -Werten.

  2. Rufen Sie in der Google Cloud Console die Seite IAM auf.

    IAM aufrufen

  3. Suchen Sie die Zeile mit dem Praktikanten, dessen Dataset-Zugriff Sie einschränken möchten, und klicken Sie in dieser Zeile auf Hauptkonto bearbeiten.

  4. Wählen Sie im Menü Rolle die Option BigQuery-Datenbetrachter aus.

  5. Klicken Sie auf Bedingung hinzufügen.

  6. Geben Sie in den Feldern Titel und Beschreibung Werte ein, die die zu erstellende IAM-Tag-Bedingung beschreiben.

  7. Klicken Sie auf dem Tab Tool zur Bedingungserstellung auf Hinzufügen.

  8. Wählen Sie im Menü Bedingungstyp die Option Ressource und dann Tag aus.

  9. Wählen Sie im Menü Operator die Option hat einen Wert aus.

  10. Geben Sie im Feld Wertpfad den Tagwertpfad im Format ORGANIZATION/TAG_KEY/TAG_VALUE ein, z. B. example.org/employee_type/intern.

    Beispiel für eine IAM-Bedingung mit Tags.

    Diese IAM-Tag-Bedingung beschränkt den Zugriff des Praktikanten auf Datasets mit dem Tag intern.

  11. Klicken Sie auf Speichern, um die Tag-Bedingung zu speichern.

  12. Klicken Sie auf Speichern, um alle Änderungen zu speichern, die Sie im Bereich Berechtigungen bearbeiten vorgenommen haben.

  13. Führen Sie mithilfe der Befehlszeile den Befehl gcloud resource-manager tags bindings create aus, um den Tag-Wert intern an das Dataset anonymousData anzuhängen: Beispiel:

    gcloud resource-manager tags bindings create \
        --tag-value=tagValues/4567890123 \
        --parent=//bigquery.googleapis.com/projects/userData/datasets/anonymousData \
        --location=US
    

Nächste Schritte