Tutorial: Erstellen und Verwalten eines Organisations-Freigabeangebots

Organisations-Freigabeangebote in Snowflake ermöglichen es Ihnen, Datenprodukte sicher innerhalb Ihrer Organisation zu teilen, sodass interne Teams vertrauenswürdige Ressourcen leichter entdecken und nutzen können. Als Anbieter können Sie Freigabeangebote erstellen, die den Zugriff auf Datensätze, Native Apps und andere Ressourcen zentralisieren und so die Datenfreigabe und die Datenzusammenarbeit in Ihren Teams vereinfachen. Dieser Leitfaden hilft Ihnen, die Schritte und Anforderungen zu verstehen, die für die Erstellung und Verwaltung von Freigabeangeboten erforderlich sind. So stellen Sie sicher, dass Ihre Datenprodukte zugänglich sind und Sie gleichzeitig die Kontrolle darüber behalten, wer sie sehen und nutzen kann.

Bevor Sie beginnen, vergewissern Sie sich, dass Sie über die erforderlichen Berechtigungen zum Erstellen und Verwalten von Organisations-Freigabeangeboten verfügen.

In diesem Tutorial erstellen wir eine kundenspezifische Rolle (ORG_LISTING_PROVIDER), um Freigabeangebote im Namen der Organisation zu verwalten.

Erstellen einer Rolle zur Verwaltung von Organisations-Freigabeangeboten

Wechseln Sie zur Rolle ORGADMIN (oder ACCOUNTADMIN), um eine neue Rolle zu erstellen und einen oder mehrere Benutzer hinzuzufügen. Diese Benutzer sind die Administratoren für Organisations-Freigabeangebote. Dann GRANT der neuen Rolle die erforderlichen Berechtigungen zum Erstellen und Freigeben von Organisations-Freigabeangeboten.

USE ROLE ACCOUNTADMIN;
CREATE ROLE ORG_LISTING_PROVIDER;
GRANT ROLE ORG_LISTING_PROVIDER TO USER <user_name>;
GRANT CREATE SHARE ON ACCOUNT TO ROLE ORG_LISTING_PROVIDER;
Copy

Erstellen Sie eine Freigabe, und gewähren Sie ihr die Nutzung

Wechseln Sie zu der kundenspezifische Rolle ORG_LISTING_PROVIDER, die Sie gerade erstellt haben, um eine Freigabe zu erstellen und die Nutzung der Freigabe zu gewähren.

USE ROLE ORG_LISTING_PROVIDER;
CREATE OR REPLACE DATABASE DEVORGDB;
USE DATABASE DEVORGDB;
CREATE SHARE ORG_SHARE SECURE_OBJECTS_ONLY=FALSE;
GRANT USAGE ON DATABASE DEVORGDB TO SHARE ORG_SHARE;
GRANT USAGE ON SCHEMA PUBLIC TO SHARE ORG_SHARE;
CREATE OR REPLACE TABLE TUTORIAL_TABLE ( item_id INT, item_name STRING );
GRANT SELECT ON TABLE DEVORGDB.PUBLIC.TUTORIAL_TABLE TO SHARE ORG_SHARE;
INSERT INTO TUTORIAL_TABLE (item_id, item_name) VALUES (1,'Tutorial table');
Copy

Ein Organisations-Freigabeangebot erstellen

Erstellen Sie ein Organisations-Freigabeangebot aus der Freigabe mit den erforderlichen Attributen in YAML (eingegeben in $$-Trennzeichen).

In diesem Beispiel wird das Freigabeangebot für alle Konten in der Organisation freigegeben:

USE ROLE ORG_LISTING_PROVIDER;
CREATE ORGANIZATION LISTING ORG_LISTING
SHARE ORG_SHARE AS
$$
title : 'My title'
organization_profile: INTERNAL
organization_targets:
    access:
    - all_accounts : true 
locations:
  access_regions:
  - name: "ALL"
auto_fulfillment:
  refresh_type: "SUB_DATABASE"
  refresh_schedule: "10 MINUTE"
$$;
Copy

Ein Organisations-Freigabeangebot ändern

Ändern Sie Organisations-Freigabeangebote, indem Sie alle Änderungen oder zusätzlichen Attribute in die YAML aufnehmen.

In diesem Beispiel wird das Freigabeangebot nur für ein Konto freigegeben. Außerdem wird dem Freigabeangebot eine Beschreibung hinzugefügt:

USE ROLE ORG_LISTING_PROVIDER;
ALTER LISTING ORG_LISTING
AS
$$
title : 'My title'
organization_profile: INTERNAL
organization_targets:
    access:
    - all_accounts : false 
locations:
  access_regions:
  - name: "ALL"
auto_fulfillment:
  refresh_type: "SUB_DATABASE"
  refresh_schedule: "10 MINUTE"
$$;
Copy

Eine Liste der Organisations-Freigabeangebote anzeigen

Um die Organisations-Freigabeangebote anzuzeigen, führen Sie den folgenden Befehl aus:

SHOW LISTINGS;
DESCRIBE LISTING ORG_LISTING;
Copy

(Optional) Fügen Sie die automatische Ausführung für Organisations-Freigabeangebote hinzu

Um die automatische Ausführung für Ihre Organisations-Freigabeangebote zu aktivieren, führen Sie die folgenden Befehle aus:

Wichtig

Bevor Sie den Befehl zum Aktivieren der automatischen Ausführung ausführen, prüfen Sie, ob diese Funktion bereits aktiviert ist, und notieren Sie sich die aktuellen Einstellungen. Wenn er bereits aktiviert ist, müssen Sie den Befehl nicht ausführen.

USE ROLE ACCOUNTADMIN;
GRANT MANAGE LISTING AUTO FULFILLMENT ON ACCOUNT TO ROLE ORG_LISTING_PROVIDER;

USE ROLE ORG_LISTING_PROVIDER;
SHOW ORGANIZATION ACCOUNTS;
SELECT SYSTEM$IS_GLOBAL_DATA_SHARING_ENABLED_FOR_ACCOUNT('<ORGACCOUNT>');

CALL SYSTEM$ENABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT('<ORGACCOUNT>');
Copy

Bereinigen nach dem Tutorial

Um unerwünschte Objekte, die Sie während dieses Tutorials erstellt haben, zu löschen, führen Sie einen oder mehrere der folgenden Befehle aus, je nach Bedarf:

Wichtig

Wenn die automatische Ausführung aktiviert war, als Sie den letzten Schritt ausgeführt haben, deaktivieren Sie sie unter DO NOT, wenn Sie nach der Abfrage aufräumen. Dadurch werden alle automatischen Ausführungen auf Ihrem Konto gestoppt!

DROP LISTING <organizational_listing_name>;
DROP SHARE org_listing1_share1;
DROP DATABASE org_listing_db1;
--CALL SYSTEM$DISABLE_GLOBAL_DATA_SHARING_FOR_ACCOUNT('ORGACCOUNT');
DROP ROLE ORG_LISTING_PROVIDER;
Copy