Objekt-Tagging

Unter diesem Thema werden die Konzepte und Anweisungen zur Verwendung von Tags in Snowflake beschrieben.

Unter diesem Thema:

Was ist ein Tag?

Tags bieten Datenverwaltern die Möglichkeit, sensible Daten für Compliance-, Erkennungs-, Schutz- und Ressourcennutzungszwecke über einen zentralen oder dezentralen Data Governance-Verwaltungsansatz zu verfolgen.

Ein Tag ist ein Objekt auf Schemaebene, das einem anderen Snowflake-Objekt zugewiesen werden kann. Einem Tag kann ein beliebiger Zeichenfolgenwert zugewiesen werden, wenn das Tag einem Snowflake-Objekt zugeordnet wird. Snowflake speichert das Tag und seinen Zeichenfolgenwert als Schlüssel-Wert-Paar. Das Tag muss für Ihr Schema eindeutig sein, wobei der Tag-Wert immer eine Zeichenfolge ist. Der Tag-Wert kann maximal 256 Zeichen umfassen. Die maximale Anzahl von eindeutigen Tag-Schlüsseln, die für ein einzelnes Objekt festgelegt werden können, ist 20.

Bemerkung

Für eine Tabelle oder Ansicht und deren Spalten ist die Gesamtzahl der eindeutigen Tag-Schlüssel, die gesetzt werden können, 20.

Wenn beispielsweise für eine einzelne Spalte einer Tabelle 10 eindeutige Tag-Schlüssel gesetzt wurden, erlaubt Snowflake das Setzen von 10 zusätzlichen eindeutigen Tag-Schlüsseln entweder für diese Spalte, für andere Spalten in der Tabelle, für die Tabelle selbst oder für eine Kombination aus der Tabelle und deren Spalten. Sobald die Grenze von 20 eindeutigen Tag-Schlüsseln erreicht ist, können keine weiteren Tag-Schlüssel für die Tabelle oder deren Spalten gesetzt werden.

Sie erstellen einen Tag mit einer CREATE TAG-Anweisung und geben den Tag-Zeichenfolgenwert an, wenn Sie das Tag einem Objekt zuweisen. Das Tag kann einem Objekt beim Erstellen des Objekts mit einer CREATE <Objekt>-Anweisung zugewiesen werden, vorausgesetzt, das Tag ist bereits vorhanden. Alternativ können Sie das Tag mit einer ALTER <Objekt>-Anweisung einem vorhandenen Objekt zuweisen.

Ein einziges Tag kann gleichzeitig verschiedenen Objekttypen zugewiesen werden (z. B. Warehouse und Tabelle gleichzeitig). Zum Zeitpunkt der Zuweisung zum Snowflake-Objekt kann der Zeichenfolgenwert des Tags dupliziert werden oder eindeutig bleiben. So kann z. B. mehreren Tabellen das Tag „cost_center“ zugewiesen werden, und das Tag kann immer den Zeichenfolgenwert „sales“ haben. Alternativ kann der Zeichenfolgenwert auch anders lauten (z. B. „engineering“, „marketing“, „finance“). Nach dem Definieren der Tags und deren Zuweisung zu Snowflake-Objekten können die Tags abgefragt werden, um die Nutzung der Objekte zu verfolgen und so Data Governance-Operationen wie Nachverfolgung, Auditing und Reporting zu vereinfachen.

Da Tags Tabellen, Ansichten und Spalten zugewiesen werden können, ermöglicht das Setzen eines Tags und die anschließende Abfrage des Tags die Erkennung einer Vielzahl von Datenbankobjekten und -spalten, die sensible Informationen enthalten. Nach dem Erkennen können die Datenverwalter bestimmen, wie die Verfügbarkeit der Daten am besten gesteuert werden kann, z. B. durch selektive Filterung mithilfe von Zeilenzugriffsrichtlinien oder mithilfe von Maskierungsrichtlinien, um zu bestimmen, ob die Daten tokenisiert, vollständig maskiert, teilweise maskiert oder nicht maskiert sind.

Die Zuweisung von Tags zu Warehouses ermöglicht eine genaue Verfolgung der Ressourcennutzung. Das Abfragen von Ressourcen-Tags ermöglicht eine einfache Gruppierung von Ressourcen nach Kostenstellen oder anderen Organisationseinheiten. Darüber hinaus kann das Tag die Analyse relativ kurzfristiger Geschäftsaktivitäten, wie z. B. Projekte, erleichtern, um detailliertere Informationen darüber zu erhalten, wann welche Ressourcen wie verwendet wurden.

Tag-Herkunft

Ein Tag wird basierend auf der Hierarchie der sicherbaren Snowflake-Objekte vererbt. Snowflake empfiehlt, dass sich die Definition der Tag-Schlüssel so nah wie möglich an der Hierarchie der sicherbaren Objekte in Ihrer Snowflake-Umgebung orientieren sollte.

The tag administrator can apply masking policies to tables and views.

Tag-Vererbung bedeutet, dass ein Tag, das auf eine Tabelle angewendet wird, auch für die Spalten in dieser Tabelle gilt. Dieses Verhalten wird als „Tag-Herkunft“ bezeichnet.

Es ist möglich, das geerbte Tag eines bestimmten Objekts zu überschreiben. Wenn beispielsweise eine Tabellenspalte das Tag „cost_center“ erbt, kann das Tag durch ein Tag mit einem spezifischeren Zeichenfolgenwert wie „sales_na“ ersetzt werden, mit dem die Vertriebskostenstelle „Nordamerika“ angegeben wird. Zusätzlich kann ein neues Tag auf die Tabellenspalte angewendet werden. Verwenden Sie eine ALTER TABLE … ALTER COLUMN-Anweisung, um den Tag-Zeichenfolgenwert der Spalte zu aktualisieren und um ein oder mehrere zusätzliche Tags für eine Spalte festzulegen.

Nachdem Sie die Tag-Schlüssel definiert und die Tags den Snowflake-Objekten zugewiesen haben, können Sie die Tags, die Tag-Referenzen und die Tag-Herkunft mithilfe der angegebenen Tabellenfunktionen oder durch Abfragen der Ansichten verfolgen, wie in Verwenden von Tags (unter diesem Thema) gezeigt.

Bemerkung

Die Tag-Herkunft schließt nicht die Verbreitung auf verschachtelte Objekte ein. Beispiel:

table_1 » view_1 » materialized_view_1

Wenn verschachtelte Objekte bereits in Bezug auf eine zugrunde liegende Tabelle oder Ansicht vorhanden sind, führt ein auf das zugrunde liegende Objekt gesetztes Tag nicht automatisch dazu, dass auch auf das verschachtelte Objekt ein Tag gesetzt wird. In diesem Beispiel führt ein auf table_1 gesetztes Tag nicht dazu, dass dasselbe Tag auf view_1 und materialized_view_1 gesetzt wird. Dieses Verhalten gilt auch für Spalten.

Wenn es erforderlich ist, dass Tags von darunter liegenden Objekten oder Spalten auf verschachtelte Objekte übertragen werden, führen Sie eine CREATE OR REPLACE-Anweisung auf dem verschachtelten Objekt aus, und Sie stellen sicher, dass die SQL-Anweisung das Tag auf dem verschachtelten Objekt oder der Spalte angibt.

Vorteile von Tags

Benutzerfreundlichkeit

Ein Tag wird einmal definiert und kann dann auf beliebig viele verschiedene Objekte angewendet werden.

Tag-Herkunft

Da Tags vererbt werden, führt die Anwendung des Tags auf Objekte, die in der Hierarchie der sicherbaren Objekte höher stehen, dazu, dass das Tag auf alle untergeordneten Objekte angewendet wird. Wird beispielsweise ein Tag für eine Tabelle festgelegt, so wird das Tag an alle Spalten in dieser Tabelle vererbt.

Konsistente Zuweisung mit Replikation

Snowflake repliziert die Tags und deren Zuweisungen innerhalb der Primärdatenbank auch in die Sekundärdatenbank.

Weitere Informationen dazu finden Sie unter Replikation (unter diesem Thema).

Verfolgen von sensiblen Daten und der Ressourcennutzung

Tags vereinfachen das Identifizieren von sensiblen Daten (z. B. PII, Geheimnis) und machen die Nutzung von Snowflake-Ressourcen transparent. Da sich Daten und Metadaten im gleichen System befinden, können Analysten anhand der Tag-Definition (z B. cost_center, department) schnell feststellen, welche Ressourcen die meisten Snowflake-Credits verbrauchen.

Zentrale oder dezentrale Verwaltung

Tags unterstützen verschiedene Verwaltungsansätze, um die Konformität mit internen und externen Vorschriften zu vereinfachen.

Bei einem zentralen Ansatz werden Tags von der benutzerdefinierten Rolle tag_admin erstellt und auf Snowflake-Objekte angewendet.

Bei einem dezentralen Ansatz werden die Tags zwar von der benutzerdefinierten Rolle tag_admin definiert, um eine einheitliche Benennung sicherzustellen, aber die Anwendung der Tags auf die Snowflake-Objekte erfolgt durch einzelne Teams.

Verwendung von Tags mit Snowflake-Objekten und -Funktionen

Im Folgenden wird beschrieben, wie sich Tags auf Objekte und Funktionen in Snowflake auswirken.

Unterstützte Objekte

In der folgenden Tabelle sind die unterstützten Objekte für Tags, einschließlich Spalten, basierend auf der Hierarchie der sicherbaren Snowflake-Objekte aufgeführt.

Ein Tag kann mit einer CREATE <Objekt>-Anweisung oder einer ALTER <Objekt>-Anweisung auf ein Objekt festgelegt werden, sofern in der nachstehenden Tabelle nichts anderes angegeben ist.

Ein Tag kann für eine Spalte entweder mit einer CREATE TABLE-, CREATE VIEW-, ALTER TABLE … MODIFY COLUMN- oder ALTER VIEW-Anweisung gesetzt werden.

Objekthierarchie

Unterstützte Objekte

Anmerkungen

Organisation

Konto

Ein Tag kann über eine Rolle mit der globalen Berechtigung APPLY TAG auf Ihr aktuelles Konto gesetzt werden.

Konto

Integration

Freigabe

Warehouse

Benutzer

Rolle

Datenbank

Es werden alle Integrationstypen unterstützt. Verwenden Sie einen ALTER INTEGRATION-Befehl, um ein Tag für die Integration festzulegen.

Die Tags auf Freigaben werden vom Data Sharing-Anbieter gesetzt. Diese Tags sind für den Data Sharing-Verbraucher nicht sichtbar. Verwenden Sie einen ALTER SHARE-Befehl, um ein Tag für die Freigabe festzulegen.

Datenbank

Schema

Schema

Stream

Aufgabe

Pipe

Tabelle

Externe Tabelle

Ansicht

Materialisierte Ansicht

Stagingbereich

Verwenden Sie einen ALTER STREAM-Befehl, um ein Tag für einen Stagingbereich festzulegen.

Verwenden Sie einen ALTER TASK-Befehl, um ein Tag für eine Aufgabe festzulegen.

Verwenden Sie einen ALTER PIPE-Befehl, um ein Tag für die Pipe festzulegen.

Tabelle oder Ansicht

Spalte

Festlegen von Tag-Werten

Mit der Tag-Eigenschaft ALLOWED_VALUES können die möglichen Zeichenfolgenwerte angegeben werden, die dem Tag zugewiesen werden können, wenn das Tag auf ein Objekt gesetzt wird. Die maximale Anzahl möglicher Zeichenfolgenwert für ein einzelnes Tag ist 50.

Sie können diese Werte beim Erstellen oder Ersetzen eines Tags mit einer CREATE TAG-Anweisung oder beim Ändern eines vorhandenen Tag-Schlüssels mit einer ALTER TAG-Anweisung angeben. Beachten Sie, dass die Anweisung ALTER TAG das Hinzufügen zulässiger Werte für ein Tag und das Löschen vorhandener Werte für ein Tag unterstützt.

Beispiel:

Erstellen Sie ein Tag mit dem Namen cost_center mit 'finance' und 'engineering' als den beiden einzigen zulässigen Zeichenfolgenwerten:

create tag cost_center
    allowed_values 'finance', 'engineering';

Ändern Sie das Tag mit dem Namen cost_center, um 'marketing' als zulässigen Zeichenfolgenwert hinzuzufügen:

alter tag cost_center
    add allowed_values 'marketing';

Ändern Sie das Tag mit dem Namen cost_center, um 'engineering' als zulässigen Zeichenfolgenwert zu entfernen:

alter tag cost_center
    drop allowed_values 'engineering';

Um die Liste der zulässigen Zeichenfolgenwerte für ein bestimmtes Tag zu erhalten, rufen Sie die Funktion SYSTEM$GET_TAG_ALLOWED_VALUES auf. Angenommen, das Tag cost_center ist in einer Datenbank namens governance und einem Schema namens tags gespeichert:

select system$get_tag_allowed_values('governance.tags.cost_center');

+--------------------------------------------------------------+
| SYSTEM$GET_TAG_ALLOWED_VALUES('GOVERNANCE.TAGS.COST_CENTER') |
|--------------------------------------------------------------|
| ["finance","marketing"]                                      |
+--------------------------------------------------------------+

CREATE TABLE-Anweisungen

Mit CREATE TABLE … LIKE werden die der Quelltabelle zugewiesenen Tags der Zieltabelle zugewiesen.

Replikation

Tags können repliziert werden.

Die Replikationsoperation schlägt fehl, wenn eine der folgenden Bedingungen erfüllt ist:

  • Die Primärdatenbank befindet sich in einem Enterprise-Konto (oder höher) und enthält ein Tag, aber mindestens eines der zur Replikation genehmigten Konten befindet sich in einer niedrigeren Edition.

  • Eine in der Primärdatenbank enthaltene Richtlinie hat einen Verweis auf ein Tag in einer anderen Datenbank.

    Bemerkung

    Bei Verwendung von Failover- oder Failback-Aktionen muss das Snowflake-Konto Business Critical Edition oder höher sein.

    Weitere Informationen dazu finden Sie unter Datenbankreplikation und Failover/Failback.

Klonen

Snowflake unterstützt das folgende Tag-Verhalten bei Klonoperationen:

  • Tag-Zuordnungen im Quellobjekt bleiben in den geklonten Objekten erhalten.

  • Wenn eine Klonoperation für eine Datenbank oder ein Schema ausgeführt wird, werden auch die in dieser Datenbank oder diesem Schema gespeicherten Tags geklont.

  • Nach dem Klonen bleiben die Objekte und deren Tag-Zuordnungen in der Quelldatenbank oder dem Quellschema unverändert. In der geklonten Datenbank oder dem geklonten Schema sind die Objekte und deren Tag-Zuordnungen spezifisch für die geklonte Datenbank und das geklonte Schema.

Verwenden von Tags

Tags können in Snowflake im Allgemeinen für Folgendes verwendet werden:

  1. Benutzerdefinierte Rolle definieren und Berechtigungen zuweisen

  2. Benutzerdefinierte Rolle einem Benutzer zuweisen

  3. Tag mit CREATE TAG-Anweisung erstellen

  4. Tag einem vorhandenen Snowflake-Objekt mit dem ALTER <Objekt>-Befehl zuweisen

    Beachten Sie, dass Sie alternativ ein Tag einem neuen Objekt zuweisen können, indem Sie einen CREATE <Objekt>-Befehl verwenden.

  5. Tags über Tabellenfunktionen und Ansichten verfolgen

Der Einfachheit halber wird in diesen Schritten von einem zentralen Verwaltungsansatz für Tags ausgegangen, bei dem die benutzerdefinierte Rolle tag_admin sowohl die CREATE- als auch die APPLY-Berechtigungen für das Tag besitzt.

Schritt 1: Benutzerdefinierte Rolle definieren und Berechtigungen zuweisen

In einem zentralen Verwaltungsansatz ist die benutzerdefinierte Rolle tag_admin für die Erstellung und Zuweisung von Tags zu Snowflake-Objekten zuständig.

Beachten Sie, dass in diesem Beispiel die Systemrolle ACCOUNTADMIN verwendet wird. Wenn die Verwendung dieser Rolle mit deren höheren Berechtigungen in einer Produktionsumgebung nicht erwünscht ist, überprüfen Sie, ob die Rolle, die der benutzerdefinierten Rolle tag_admin Berechtigungen zuweist, über die notwendigen Berechtigungen verfügt, um die benutzerdefinierte Rolle tag_admin zu qualifizieren. Weitere Informationen dazu finden Sie unter Verwalten von Tags (unter diesem Thema).

use role useradmin;
create role tag_admin;
use role accountadmin;
grant create tag on schema <schema_name> to role tag_admin;
grant apply tag on account to role tag_admin;

Schritt 2: Benutzerdefinierte TAG_ADMIN-Rolle einem Benutzer zuweisen

Weisen Sie einem Benutzer, der als Tag-Administrator fungiert, die benutzerdefinierte Rolle TAG_ADMIN zu.

use role useradmin;
grant role tag_admin to user jsmith;

Schritt 3: Tag erstellen

Führen Sie eine CREATE TAG-Anweisung aus, um ein Tag zu erstellen.

use role tag_admin;
use schema my_db.my_schema;
create tag cost_center;

Schritt 4: Tag einem Snowflake-Objekt zuweisen

Verwenden Sie für das Zuweisen eines Tags zu einem neuen Snowflake-Objekt die CREATE <Objekt>-Anweisung.

Um beispielsweise ein Tag einem neuen Warehouse zuzuweisen, verwenden Sie den Befehl CREATE WAREHOUSE.

use role tag_admin;
create warehouse mywarehouse with tag (cost_center = 'sales');

Verwenden Sie für das Zuweisen eines Tags zu einem vorhandenen Snowflake-Objekt die ALTER <Objekt>-Anweisung.

Um beispielsweise ein Tag einem vorhandenen Warehouse zuzuordnen, verwenden Sie den Befehl ALTER WAREHOUSE.

use role tag_admin;
alter warehouse wh1 set tag cost_center = 'sales';

Um ein Tag einer vorhandenen Spalte zuzuordnen oder zu entziehen, verwenden Sie bei einer Tabellenspalte den Befehl ALTER TABLE … MODIFY COLUMN und bei einer Ansichtsspalte den Befehl ALTER VIEW … MODIFY COLUMN. Beachten Sie, dass mit einer einzelnen Anweisung auch mehrere Tags zugeordnet oder entzogen werden können.

-- For a table or external table column

alter table <table_name> modify column <column_name> set tag <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ];
alter table <table_name> modify column <column_name> unset tag <tag_name> [ , <tag_name> , ... ];

-- For a view or materialized view column

alter view <view_name> modify column <column_name> set tag <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ];
alter view <view_name> modify column <column_name> unset tag <tag_name> [ , <tag_name> , ... ];

Schritt 5: Tags verfolgen

Sie können die Tag-Nutzung über zwei verschiedene Account Usage-Ansichten, eine Information Schema-Tabellenfunktion, eine Account Usage-Tabellenfunktion und eine Systemfunktion verfolgen.

Es kann hilfreich sein, sich zwei allgemeine Ansätze vorzustellen, um zu bestimmen, wie die Tag-Nutzung verfolgt werden soll:

  • Tags ermitteln oder auflisten

  • Zuweisungen (d. h. Referenzen) zwischen Tag und Objekt identifizieren

Tags ermitteln

Snowflake unterstützt die folgenden Optionen, um Tags aufzulisten und den Tag-Zeichenfolgenwert eines bestimmten Tag-Schlüssels zu identifizieren.

  • Identifizieren von Tags in Ihrem Konto:

    Verwenden Sie die Ansicht TAGS im Account Usage-Schema der freigegebenen SNOWFLAKE-Datenbank. Diese Ansicht fungiert wie ein Katalog für alle Tags in Ihrem Snowflake-Konto, der Informationen über aktuelle und gelöschte Tags enthält. Beispiel:

    select * from snowflake.account_usage.tags
    order by tag_name;
    
  • Identifizieren des Werts eines bestimmten Tags:

    Verwenden Sie die Systemfunktion SYSTEM$GET_TAG, um den Tag-Wert, der dem angegebenen Tag zugewiesen ist, sowie das Snowflake-Objekt oder die Spalte zurückzugeben.

    select system$get_tag('cost_center', 'my_table', 'table');
    
Zuweisungen identifizieren

Snowflake unterstützt verschiedene Optionen zur Identifizierung von Tag-Zuweisungen, je nachdem, ob die Abfrage auf das Konto oder eine bestimmte Datenbank abzielen soll und ob eine Tag-Herkunft benötigt wird.

  • Abfrage auf Kontoebene mit Herkunft:

    Verwenden Sie die Account Usage-Tabellenfunktion TAG_REFERENCES_WITH_LINEAGE, um alle Objekte zu ermitteln, die einen bestimmten Tag-Schlüssel und Tag-Wert haben, der auch die Tag-Herkunft enthält:

    select *
    from table(snowflake.account_usage.tag_references_with_lineage('my_db.my_schema.cost_center'));
    
  • Abfrage auf Kontoebene ohne Herkunft:

    Verwenden Sie die Account Usage-Ansicht TAG_REFERENCES, um alle Objekte zu ermitteln, die einen bestimmten Tag-Schlüssel und Tag-Wert haben, aber nicht die Tag-Herkunft enthalten:

    select * from snowflake.account_usage.tag_references
    order by tag_name, domain, object_id;
    
  • Abfrage auf Datenbankebene mit Herkunft:

    Jede Snowflake-Datenbank enthält ein Snowflake Information Schema. Verwenden Sie die Information Schema-Tabellenfunktion TAG_REFERENCES, um alle Objekte zu ermitteln, die ein bestimmtes Tag haben, das auch die Tag-Herkunft in einer bestimmten Datenbank enthält:

    select *
    from table(my_db.information_schema.tag_references('my_table', 'table'));
    
  • Abfrage auf Datenbankebene nach allen Tags für jede Spalte in einer Tabelle oder Ansicht mit Herkunft:

    Verwenden Sie die Information Schema-Tabellenfunktion TAG_REFERENCES_ALL_COLUMNS, um alle Tags zu erhalten, die auf jeder Spalte einer gegebenen Tabelle oder Ansicht festgelegt sind:

    Beachten Sie, dass die Domäne TABLE für alle Objekte verwendet werden muss, die Spalten enthalten, auch wenn der Objektname eine Ansicht ist (d. h. Ansicht, materialisierte Ansicht).

    select *
    from table(information_schema.tag_references_all_columns('my_table', 'table'));
    

Verwalten von Tags

Tag-Berechtigungen

Snowflake unterstützt die folgenden Berechtigungen, um zu bestimmen, ob Benutzer Tags erstellen, festlegen und besitzen können.

Berechtigung

Verwendung

CREATE

Ermöglicht das Erstellen eines neuen Tags in einem Schema.

APPLY

Aktiviert die Set- und Unset-Operationen für das Tag auf einem Snowflake-Objekt. Beispiele für die Syntax finden Sie unter: Übersicht der DDL-Befehle, Operationen und Berechtigungen.

OWNERSHIP

Überträgt die Eigentümerschaft eines Tags, was die volle Kontrolle über das Tag gewährt. Erforderlich, um die meisten Eigenschaften eines Tags zu ändern.

Bemerkung

Tags werden auf Schemaebene gespeichert.

Für das Ausführen von Operationen auf einem Tag ist auch die USAGE-Berechtigung für die übergeordnete Datenbank und das übergeordnete Schema erforderlich.

Tag-DDL-Referenz

Snowflake unterstützt die folgenden DDL-Befehle zum Erstellen und Verwalten von Tags.

Beachten Sie, dass Snowflake die describe-Operation bei Tag-Objekten nicht unterstützt.

Übersicht der DDL-Befehle, Operationen und Berechtigungen

Die folgende Tabelle fasst die Beziehung zwischen Tag-Berechtigungen und DDL-Operationen zusammen.

Operation

Erforderliche Berechtigung

Tag erstellen.

Eine Rolle mit USAGE-Berechtigung für die übergeordnete Datenbank und das übergeordnete Schema sowie mit CREATE TAG-Berechtigung für dasselbe Schema.

Tag ändern.

Die Rolle mit OWNERSHIP-Berechtigung für das Tag.

Tag löschen und wiederherstellen.

Eine Rolle mit OWNERSHIP-Berechtigung für das Tag und USAGE-Berechtigung für die Datenbank und das Schema, in denen sich das Tag befindet.

Tags anzeigen.

Eine der folgenden Möglichkeiten: . Eine Rolle mit USAGE-Berechtigung für das Schema, in dem die Tags existieren, oder . Eine Rolle mit APPLY TAG on ACCOUNT-Berechtigung.

Tag einem Objekt zuordnen oder entziehen.

Für einzelne Objekte eine Rolle mit APPLY TAG-Berechtigung für das Konto oder APPLY TAG-Berechtigung für das Tag und OWNERSHIP-Berechtigung für das Objekt, dem das Tag zugeordnet wurde. Siehe Unterstützte Objekte.

Tag einer Spalte zuordnen oder entziehen.

Eine Rolle mit APPLY-Berechtigung für das Tag und OWNERSHIP-Berechtigung für die Tabelle oder Ansicht.

Tags eines Objekts abrufen.

Siehe SYSTEM$GET_TAG, TAG_REFERENCES und TAG_REFERENCES_WITH_LINEAGE.

Snowflake unterstützt verschiedene Berechtigungen zum Erstellen und Festlegen eines Tags für ein Objekt.

  1. Bei einem zentralen Ansatz für die Tag-Verwaltung, bei dem die benutzerdefinierte Rolle tag_admin Tags für alle Objekte erstellt und festlegt, sind die folgenden Berechtigungen erforderlich:

    use role securityadmin;
    grant create tag on schema to role tag_admin;
    grant apply tag on account to role tag_admin;
    
  2. In einem hybriden Verwaltungsansatz verfügt eine einzelne Rolle über die CREATE TAG-Berechtigung, um die konsistente Benennung der Tag-Schlüssel sicherzustellen, und einzelne Teams oder Rollen verfügen über die APPLY-Berechtigung für ein bestimmtes Tag.

    So kann beispielsweise der benutzerdefinierten Rolle finance_role die Berechtigung erteilt werden, den Tag-Schlüssel cost_center für Tabellen und Ansichten festzulegen, die der Rolle gehören:

    use role securityadmin;
    grant create tag on schema to role tag_admin;
    grant apply on tag cost_center to role finance_role;