Tabellen und Datasets taggen

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

Ein Tag ist ein Schlüssel/Wert-Paar, das Sie direkt an eine Tabelle oder ein Dataset anhängen können oder eines, das eine Tabelle oder ein Dataset von anderen Google 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.

Hinweise

Sie müssen IAM-Rollen zuweisen, die Nutzern die erforderlichen Berechtigungen zum Ausführen der einzelnen Aufgaben in diesem Dokument gewähren. Sie müssen außerdem Tag-Schlüssel und -Werte erstellen, die an Ressourcen angehängt werden sollen.

Erforderliche Berechtigungen

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

  • Zum Anhängen eines Tags an ein Dataset benötigen Sie die IAM-Berechtigung bigquery.datasets.createTagBinding für das Dataset und die Berechtigung resourcemanager.tagValueBindings.create auf Projektebene für den Tag-Wert, den Sie anhängen möchten.
  • Zum Anhängen eines Tags an eine Tabelle benötigen Sie die IAM-Berechtigung bigquery.tables.createTagBinding für die Tabelle und die Berechtigung resourcemanager.tagValueBindings.create auf Projektebene für den Tag-Wert, den Sie anhängen möchten.
  • Zum Entfernen eines Tags aus einem Dataset benötigen Sie die IAM-Berechtigung bigquery.datasets.deleteTagBinding für das Dataset und die Berechtigung resourcemanager.tagValueBindings.delete auf Projektebene für den Tag-Wert, den Sie löschen möchten
  • Zum Entfernen eines Tags aus einer Tabelle benötigen Sie die IAM-Berechtigung bigquery.tables.deleteTagBinding für die Tabelle und die Berechtigung resourcemanager.tagValueBindings.delete auf Projektebene für den Tag-Wert, den Sie löschen möchten
  • Zum Auflisten der Tag-Schlüssel, die einer übergeordneten Organisation oder einem übergeordneten Projekt im Bereich Details bearbeiten für ein Dataset oder eine Tabelle 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.
  • Zum Auflisten der Tag-Werte von Schlüsseln, die einer übergeordneten Organisation oder einem übergeordneten Projekt im Bereich Details bearbeiten für ein Dataset oder eine Tabelle zugeordnet sind, benötigen Sie die Berechtigung resourcemanager.tagValues.list für das der übergeordneten Ebene des Tag-Werts und der Berechtigung resourcemanager.tagValues.get für jeden Tag-Wert.

Wenn Sie Tags mit der Cloud Resource Manager API oder gcloud verwenden, benötigen Sie außerdem die folgenden Berechtigungen:

  • Zum Auflisten der an ein Dataset angehängten Tags mit der Cloud Resource Manager API oder der gcloud CLI 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.
  • Zum Auflisten der an eine Tabelle angehängten Tags mit der Cloud Resource Manager API oder der gcloud CLI benötigen Sie die IAM-Berechtigung bigquery.tables.listTagBindings.
  • Sie benötigen die IAM-Berechtigung bigquery.tables.listEffectiveTags, um die gültigen Tags für eine Tabelle aufzulisten.

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 sind in der Rolle „Tag-Nutzer“ (roles/resourcemanager.tagUser) enthalten.

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

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-Werte hinzufügen.

Tags an ein Dataset anhängen

Sie können ein neues BigQuery-Dataset erstellen, wenn Sie ein Tag anhängen, oder Sie können ein Tag an ein vorhandenes 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

Für neue Datasets:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    BigQuery aufrufen

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

  3. Klicken Sie auf more_vert Aktionen ansehen > Dataset erstellen

  4. Klicken Sie unter Tags auf Bereich auswählen.

  5. Wählen Sie den Bereich aus, in dem sich Ihre Tags befinden.

  6. Wählen Sie die Tags aus, die Sie dem Dataset hinzufügen möchten, und fügen Sie sie hinzu.

  7. Klicken Sie auf Dataset erstellen.

Für vorhandene Datasets:

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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. Wählen Sie im Bereich Tags die Tags aus, die Sie dem Dataset hinzufügen möchten.

  5. Klicken Sie auf Speichern.

bq

Verwenden Sie für neue Datasets den Befehl bq mk --dataset mit dem Flag --add_tags:

bq mk --dataset \
    --add_tags=TAG[,...] \
    PROJECT_ID:DATASET_ID

Verwenden Sie für vorhandene Datasets den Befehl bq update mit dem Flag --add_tags:

bq update \
    --add_tags=TAG[,...] \
    PROJECT_ID:DATASET_ID

Ersetzen Sie Folgendes:

  • 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 ein Dataset erstellen oder in dem sich ein vorhandenes Dataset befindet.
  • DATASET_ID: die ID des neuen Datasets, das Sie erstellen, oder die ID eines 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=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • TAGVALUE_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

API

Rufen Sie für neue Datasets die Methode datasets.insert auf und fügen Sie Ihre Tags zum Feld resource_tags hinzu.

Rufen Sie für vorhandene Datasets zuerst die Methode datasets.get auf, um die Dataset-Ressource abzurufen, einschließlich des Felds resource_tags. Fügen Sie Ihre Tags zum Feld resource_tags hinzu und übergeben 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. Sie geben keine Tags zurück, die von übergeordneten Ressourcen übernommen wurden.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 Tags aufzulisten, die an ein Dataset angehängt sind.

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 Datasets, für das Sie die Tags auflisten möchten.

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 in 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

API

Rufen Sie die Methode datasets.get auf, um die Dataset-Ressource abzurufen. Die Dataset-Ressource enthält Tags, die im Feld resource_tags an das Dataset angehängt sind.

Ansichten

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

Die folgende Abfrage zeigt beispielsweise alle Tags an, die an alle Datasets in einer Region angehängt 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. Bei Datasets 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 Datasets 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üssen, sollten Sie es zuerst trennen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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.

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 der Tabelle entfernen. Akzeptiert nur Schlüssel ohne Wertpaare und mehrere Schlüssel werden durch Kommas getrennt.
  • 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=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • TAGVALUE_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

API

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

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 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. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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. Wählen Sie im Bereich Tags die Tags aus, die Sie der neuen Tabelle hinzufügen möchten.

  6. Klicken Sie auf Tabelle erstellen.

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 Namespace-Schlüsselnamen und den Kurznamen des Werts 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 ist die ID der neuen Tabelle, die Sie erstellen.

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. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 dem Tab Details auf Details bearbeiten.

  4. Wählen Sie im Bereich Tags die Tags aus, die Sie der Tabelle hinzufügen möchten.

  5. Klicken Sie auf Speichern.

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 Namespace-Schlüsselnamen und den Kurznamen des Werts 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=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • TAGVALUE_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/my_table
  • LOCATION: der Standort Ihrer Tabelle.

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. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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/my_table

  • LOCATION: der Standort Ihres Datasets

Die Ausgabe sieht in 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

API

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

Ansichten

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

Die folgende Abfrage zeigt beispielsweise alle Tags, die an alle Tabellen in einem Dataset angehängt sind. Diese Abfrage gibt eine Tabelle mit Spalten 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üssen, sollten Sie es zuerst trennen.

Console

  1. Öffnen Sie in der Google Cloud Console die Seite BigQuery.

    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 dem Tab Details auf Details bearbeiten.

  4. Entfernen Sie im Abschnitt Tags die Tags, die Sie von der Tabelle trennen möchten.

  5. Klicken Sie auf Speichern.

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

Zum Entfernen einer Tag-Verknüpfung aus einer Tabelle ü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=TAGVALUE_NAME \
    --parent=RESOURCE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • TAGVALUE_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/my_table
  • LOCATION: der Standort Ihres Datasets

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.

Tags löschen

Sie können ein Tag nicht löschen, wenn von einem Dataset oder einer Tabelle 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. Öffnen Sie in der Google Cloud Console die Seite IAM.

    Seite „IAM“

  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:

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

Beschränkungen

  • Tabellen-Tags werden für BigQuery Omni-Tabellen, Tabellen in ausgeblendeten Datasets oder temporäre Tabellen 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 ein Dataset oder eine Tabelle anhängen.

  • Bei der Zugriffssteuerungsprüfungen für Platzhalterabfragen wird der bedingte Zugriff für getaggte Tabellen nicht berücksichtigt.

  • 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 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.

Nächste Schritte