Daten registrieren

In diesem Thema wird beschrieben, wie Sie Daten registrieren, damit sie mit einem Snowflake Data Clean Room verknüpft werden können.

Unterstützte Objekte

Die folgenden Objekttypen können mit Clean Rooms verbunden werden:

Bemerkung

†Externe und Iceberg-Tabellen müssen aktiviert werden, bevor sie in einem Clean Room verwendet werden können.

Registrieren von Datenobjekten

Bevor Benutzer Daten in einem Snowflake Data Clean Room verknüpfen können, müssen die Daten zunächst registriert werden. Die Registrierung von Daten gewährt SAMOOHA_APP_ROLE USAGE- und SELECT-Berechtigungen auf das Objekt, die von der Clean Room-Umgebung für den Zugriff auf Daten verwendet werden. Wenn Sie eine Datenbank oder ein Schema registrieren, werden auch alle untergeordneten Objekte registriert. Sie müssen über die Berechtigung MANAGE GRANTS für ein Objekt verfügen, um es verknüpfen zu können.

You can register databases, schemas, and objects using the Clean rooms UI or the Clean rooms API. Using the Clean rooms UI is simpler, but requires that you have the ACCOUNTADMIN role. Using the developer APIs, you can register any object on which you have OWNERSHIP privilege without using the ACCOUNTADMIN role.

Wichtig

Registering a database or schema does not register objects added after the registration. You must either register the new object individually or use the Clean rooms UI to navigate to Admin > Snowflake Admin > Database Registration and select Resync.

Sie können nur Daten verknüpfen, die auf Ihrem Konto registriert sind. Das heißt, ein Anbieter kann keine vom Verbraucher registrierten Daten verknüpfen und ein Verbraucher kann keine vom Anbieter registrierten Daten verknüpfen. Sobald die Daten in einem Clean Room verknüpft sind, kann jeder, der Zugang zum Clean Room hat, darauf zugreifen, vorbehaltlich der Einstellungen der verknüpfenden Partei (z. B. Verknüpfungs- und Spaltenrichtlinien).

Follow the steps below to register a database, schema, or object using the Clean rooms UI:

  1. Sign in to the Clean rooms UI as an account administrator and then take one of the following steps:

    • Wenn Sie ein verwaltetes Konto verwenden, wählen Sie Admin > My Account.

    • Wenn Sie ein Snowflake-Konto verwenden, wählen Sie Admin > Snowflake Admin und melden Sie sich bei Snowflake als Benutzer mit der Rolle ACCOUNTADMIN an.

  2. Wählen Sie Admin > Snowflake Admin aus.

  3. Wählen Sie Log in to Snowflake aus, und authentifizieren Sie sich als Benutzer mit der Rolle ACCOUNTADMIN.

  4. Um externe oder Iceberg-Tabellen in dem Konto zu aktivieren, aktivieren Sie External & Iceberg Tables.

  5. Wählen Sie im Abschnitt Access management for Snowflake objects die Option Edit, und wählen Sie dann die Datenbank, das Schema oder das Objekt aus, deren/dessen Daten von den Benutzern dieses Kontos verknüpft werden sollen.

  6. Wählen Sie Save aus.

Registrieren von Tabellen oder Ansichten, auf die Snowflake-Richtlinien angewendet wurden

Wenn Sie Daten verknüpfen möchten, auf die eine Snowflake-Richtlinie angewendet wurde, und die Snowflake-Richtlinie in einer anderen Datenbank als die Quelldaten gespeichert ist, müssen Sie Clean Rooms die Referenznutzung auf der Richtliniendatenbank erlauben. Sie können dies entweder einmal für einzelne Konten oder einmal für einzelne Clean Rooms tun.

Gewähren der Referenznutzung einmal pro Konto

Um einer Datenbank einmal für einzelne Konten die Referenznutzung zu gewähren und sie automatisch für jeden Clean Room zu gewähren, weisen Sie die Referenznutzung der Rolle SAMOOHA_APP_ROLE zu, indem Sie den folgenden SQL-Befehl ausführen. Ersetzen Sie den Datenbank-Platzhalter durch den Namen Ihrer Datenbank.

GRANT REFERENCE_USAGE ON DATABASE <database_name>
  TO ROLE SAMOOHA_APP_ROLE
  WITH GRANT OPTION;
Copy

Gewähren der Referenznutzung einmal pro Clean Room

Wenn Sie die Referenznutzung lieber einer Datenbank pro Clean Room und nicht allen Clean Rooms im Konto gewähren möchten, führen Sie folgenden SQL-Befehl aus. Ersetzen Sie den Datenbanknamen und die Clean Rooms-ID--Platzhalter mit den entsprechenden Werten:

GRANT REFERENCE_USAGE ON DATABASE <database_name>
  TO SHARE IN APPLICATION PACKAGE SAMOOHA_CLEANROOM_<clean_room_ID>;
Copy

Registrierung von Datenobjekten aufheben

Sobald eine Tabelle mit einem Clean Room verknüpft ist, kann sie nicht mehr entfernt werden. Sie können jedoch die Registrierung des Objekts in dem Konto aufheben, wodurch der Zugriff durch alle Clean Rooms in diesem Konto entfernt wird.

Wenn Sie Daten aus einem Clean Room oder Konto entfernen möchten, löschen Sie nicht einfach das zugrunde liegende Objekt; dies führt zum Ausfall des Clean Room. Verwenden Sie stattdessen eine der folgenden Techniken, um die Registrierung des Objekts aufzuheben.

Wenn Sie die Registrierung eines Objekts in einem Konto aufheben, sollten Sie auch alle von Ihnen erstellten Clean Rooms aktualisieren, die diese Daten verwendet haben.

Abfragen aller Teilnehmer, die von gelöschten Daten abhängen, schlagen bei der nächsten Ausführung fehl.

So heben Sie die Registrierung eines Objekts in einem Konto auf:

  1. Sign in to the Clean rooms UI as an account administrator and then take one of the following steps:

    • Wenn Sie ein verwaltetes Konto verwenden, wählen Sie Admin > My Account.

    • Wenn Sie ein Snowflake-Konto verwenden, wählen Sie Admin > Snowflake Admin und melden Sie sich bei Snowflake als Benutzer mit der Rolle ACCOUNTADMIN an.

  2. Wählen Sie Admin > Snowflake Admin aus.

  3. Wählen Sie Log in to Snowflake aus, und authentifizieren Sie sich als Benutzer mit der Rolle ACCOUNTADMIN.

  4. Um externe oder Iceberg-Tabellen in dem Konto zu aktivieren, aktivieren Sie External & Iceberg Tables.

  5. Wählen Sie im Abschnitt Access management for Snowflake objects die Option Edit, und heben Sie dann die Markierung der Datenbank, des Schemas oder des Objekts auf, um die Daten für Benutzer in diesem Konto unzugänglich zu machen.

  6. Wählen Sie Save aus.

  7. Aktualisieren Sie alle Clean Rooms, die Sie erstellt haben und die von diesen Daten abhängen.

Externe und Apache Iceberg™-Tabellen aktivieren

Damit externe Tabellen und Iceberg-Tabellen mit einem Clean Room verknüpft werden können, muss das Konto zunächst so konfiguriert werden, dass die Verwendung von externen und Iceberg-Tabellen möglich ist. Nachdem externe und Iceberg-Tabellen aktiviert wurden, können sie wie alle anderen Tabellen registriert, verknüpft und verwendet werden.

The process for enabling external and Iceberg tables varies, depending on whether you are managing the clean room using the Clean rooms UI or the Clean rooms API.

Anforderungen für externe und Iceberg-Tabellen

  • Sowohl das Anbieter- als auch das Verbraucherkonto müssen externe und Iceberg-Tabellen aktivieren, um die volle Nutzung eines Clean Room zu ermöglichen, der mit externen oder Iceberg-Tabellen verknüpft ist.

  • Anbieter müssen immer externe Tabellen und Iceberg-Tabellen aktivieren, wenn sie einen Clean Room mit einem verwalteten Konto teilen. Das liegt daran, dass verwaltete Konten immer externe Tabellen verwenden.

  • Wenn sich Anbieter und Verbraucher in verschiedenen Regionen befinden, kann nur der Verbraucher externe oder Iceberg-Tabellen mit einem Clean Room verbinden.

The Clean rooms UI controls external and Iceberg tables at the account level.

Warnung

Wenn das Verbraucherkonto dieses Feature nicht aktiviert hat, werden Verbraucher daran gehindert, Clean Rooms beizutreten, die mit externen oder Iceberg-Tabellen verknüpft sind, oder sie können Clean Rooms, denen sie bereits beigetreten sind und die mit einem der beiden Tabellentypen verknüpft sind, nicht bearbeiten (aber dennoch ausführen).

Ein DCR-Administrator muss sowohl für das Anbieter- als auch für das Verbraucherkonto die folgenden Schritte ausführen:

  1. Sign in to the Clean rooms UI as an account administrator and then take one of the following steps:

    • Wenn Sie ein verwaltetes Konto verwenden, wählen Sie Admin > My Account.

    • Wenn Sie ein Snowflake-Konto verwenden, wählen Sie Admin > Snowflake Admin und melden Sie sich bei Snowflake als Benutzer mit der Rolle ACCOUNTADMIN an.

  2. Aktivieren Sie die Umschaltfunktion External & Iceberg Tables. Dies ermöglicht das Feature sowohl in per UI erstellten als auch in per API erstellten Clean Rooms.

  3. Externe und Iceberg-Tabellen sind jetzt im Bereich Access management for Snowflake objects des Administrators auswählbar, wo sie wie alle anderen Objekte auch für Clean Rooms verfügbar gemacht werden können.