Erste Schritte für sichere Datenfreigaben

Die sichere Datenfreigabe ist eine extrem leistungsstarke und dennoch einfach zu verwendende Funktion. Ihr Einstieg als Datenanbieter ist in wenigen Schritten möglich.

Unter diesem Thema werden die Aufgaben vorgestellt, die erforderlich sind, um eine Datenbank und deren Objekte für ein oder mehrere Konten freizugeben. Das Beispiel am Ende des Themas veranschaulicht alle SQL-Befehle, die zur Ausführung dieser Aufgaben erforderlich sind.

Unter diesem Thema:

Bemerkung

Um die unter diesem Thema beschriebenen Aufgaben auszuführen, müssen Sie die Rolle ACCOUNTADMIN verwenden.

Außerdem wird unter diesem Thema nur der minimale Satz von Aufgaben beschrieben, den Anbieter benötigen, um mit der Verwendung von Datenfreigaben zu beginnen. Detaillierte Informationen, einschließlich detaillierterer Szenarien für die Datenfreigabe, finden Sie unter Verwenden von Freigaben.

Schritt 1: Freigabe erstellen

Verwenden Sie CREATE SHARE, um eine Freigabe zu erstellen. In diesem Schritt ist die Freigabe lediglich ein Container, der darauf wartet, dass Objekte und Konten hinzugefügt werden.

Schritt 2: Objekte durch Erteilen von Berechtigungen zur Freigabe hinzufügen

Verwenden Sie GRANT <Berechtigung> … TO SHARE, um der Freigabe die folgenden Objektberechtigungen zu erteilen:

  • USAGE-Berechtigung für die Datenbank, die Sie freigeben möchten.

  • USAGE-Berechtigung für jedes Datenbankschema, das die Objekte enthält, die Sie freigeben möchten.

  • SELECT-Berechtigung zum Freigeben bestimmter Objekte in jedem freigegebenen Schema:

    • Tabellen

    • Externe Tabellen

    • Sichere Ansichten

    • Sichere materialisierte Ansichten

    • Sichere UDFs

Wichtig

Wenn Sie Daten sicher für Datenverbraucher in verschiedenen Regionen oder auf verschiedenen Cloudplattformen freigeben möchten, beachten Sie, dass die Replikation einer Primärdatenbank derzeit blockiert ist, wenn eine oder mehrere externe Tabellen in der Datenbank vorhanden sind.

Verwenden Sie optional SHOW GRANTS, um die der Freigabe erteilten Objektberechtigungen anzuzeigen.

Tipp

Wir empfehlen, diesen minimale Validierung der Freigabe vor Abschluss des nächsten Schrittes durchzuführen, da die Freigabe nach Abschluss des nächsten Schrittes für alle Konten, die der Freigabe hinzugefügt wurden, „sichtbar“ ist.

Wenn Sie eine tiefgründigere Validierung der Freigabe durchführen möchten, bietet Snowflake einen Mechanismus zur Simulation eines Verbraucherkontos in Ihrem Konto. Weitere Details dazu finden Sie unter Verwenden von sicheren Objekten zur Steuerung des Datenzugriffs.

Schritt 3: Ein oder mehrere Konten zur Freigabe hinzufügen

Verwenden Sie ALTER SHARE, um ein oder mehrere Konten zur Freigabe hinzuzufügen. Um die der Freigabe hinzugefügten Konten zu überprüfen, können Sie SHOW GRANTS verwenden.

Das ist alles! Die Freigabe kann nun von den angegebenen Konten genutzt werden. Detaillierte Anweisungen zur Durchführung dieser und anderer Datenanbieteraufgaben finden Sie unter Verwenden von Freigaben.

Beispiel

Das folgende Beispiel veranschaulicht den gesamten oben beschriebenen Anbieterprozess.

Beachten Sie, dass dieses Beispiel von folgenden Voraussetzungen ausgeht:

  • Es existiert eine Datenbank namens sales_db mit einem Schema aggregates_eula und einer Tabelle aggregate_1.

  • Datenbank, Schema und Tabelle werden für zwei Konten mit dem Namen xy12345 und yz23456 freigegeben.

USE ROLE accountadmin;

CREATE SHARE sales_s;

GRANT USAGE ON DATABASE sales_db TO SHARE sales_s;
GRANT USAGE ON SCHEMA sales_db.aggregates_eula TO SHARE sales_s;
GRANT SELECT ON TABLE sales_db.aggregates_eula.aggregate_1 TO SHARE sales_s;

SHOW GRANTS TO SHARE sales_s;

ALTER SHARE sales_s ADD ACCOUNTS=xy12345, yz23456;

SHOW GRANTS OF SHARE sales_s;