Snowflake Data Clean Rooms: Aufgaben des Administrators¶
Unter diesem Thema werden die Aufgaben des Administrators eines Snowflake Data Clean Room beschrieben. Informationen zur erstmaligen Implementierung einer Reinraumumgebung finden Sie unter Überblick über Snowflake Data Clean Rooms.
Clean Room-Benutzer verwalten¶
Der Zugriff auf die UI und API wird über Anwendungsrollen verwaltet. Verschiedene Rollen gewähren Zugriff auf die API und die UI.
Außerdem muss dem Benutzer ein Standard-Warehouse zugewiesen und die Nutzung dieses Warehouse gestattet werden.
Zugriff zur Clean Room UI verwalten¶
Um Zugriff auf die Clean Room UI zu gewähren, weisen Sie einem Benutzer oder einer untergeordneten Rolle die entsprechenden Clean Room UI-Rollen zu. Die folgenden Rollen werden verwendet, um auf die Clean Room UI zuzugreifen oder diese zu verwalten:
ACCOUNTADMIN: Dient zur Installation oder Deinstallation der Clean Room-Umgebung. Gewährt Zugriff auf die Seite Snowflake Admin, die zur Verwaltung der Benutzer- und Konto-Features des Dienstes dient, wie z. B. Cloud-übergreifende automatische Ausführung, externe und Iceberg-Tabellen und die Datensatzregistrierung für UI-Benutzer. Diese Rolle beinhaltet die Berechtigungen aller anderen Clean Room-Rollen.
MANAGE_CLEANROOMS: Ermöglicht das Erstellen, Aktualisieren, Löschen und Installieren von Clean Rooms sowie das Erstellen, Aktualisieren, Löschen und Ausführen von Analysen in der Clean Room UI.
MANAGE_DCR_PROFILE_AND_FEATURES: Ermöglicht den Zugriff auf die Seite Profile & Features im Abschnitt
: ui:Admin
, wo Sie das Unternehmensprofil verwalten und steuern können, welche Konnektoren von Drittanbietern in Clean Rooms verwendet werden können.MANAGE_DCR_CONNECTORS: Ermöglicht den Zugriff auf die Seite Connectors, auf der Sie Konnektoren von Drittanbietern konfigurieren können.
MANAGE_DCR_COLLABORATORS: Ermöglicht den Zugriff auf die Seite Collaborators, wo Sie die Liste der zugelassenen Teilnehmer für UI-Benutzer verwalten können. Die Liste der Teilnehmer, die API-Benutzern zur Verfügung stellt, die jedes Snowflake-Konto zur Zusammenarbeit einladen können, wird nicht kontrolliert.
Beispiel
USE ROLE ACCOUNTADMIN;
CREATE ROLE dcr_access;
-- Choose your privileges:
GRANT APPLICATION ROLE SAMOOHA_BY_SNOWFLAKE.MANAGE_CLEANROOMS TO ROLE dcr_access;
GRANT APPLICATION ROLE SAMOOHA_BY_SNOWFLAKE.MANAGE_DCR_COLLABORATORS TO ROLE dcr_access;
GRANT APPLICATION ROLE SAMOOHA_BY_SNOWFLAKE.MANAGE_DCR_PROFILE_AND_FEATURES TO ROLE dcr_access;
GRANT APPLICATION ROLE SAMOOHA_BY_SNOWFLAKE.MANAGE_DCR_CONNECTORS TO ROLE dcr_access;
GRANT USAGE ON WAREHOUSE <your_warehouse> TO ROLE dcr_access;
ALTER USER <some_user> SET DEFAULT_WAREHOUSE = <your_warehouse>;
GRANT ROLE dcr_access to USER <some_user>;
API-Benutzer verwalten¶
Clean Rooms definiert die folgenden Rollen, um den Zugriff auf die UI und API zu verwalten. Alle Rollen sind Anwendungsrollen im Rahmen von SAMOOHA_BY_SNOWFLAKE.
Die folgenden Snowflake-Rollen werden für den Zugriff auf oder die Verwaltung der API verwendet:
ACCOUNTADMIN: Die Rolle, die zur Installation oder Deinstallation der Clean Room-Umgebung verwendet wird.
SAMOOHA_APP_ROLE: Gewährt volle Berechtigung für die Clean Room API in diesem Konto. (Diese Rolle wird von der Webanwendung zur Kommunikation mit der API verwendet.)
Nur-Ausführen-Entwicklerrolle: Benutzer mit SAMOOHA_APP_ROLE können eine Rolle mit beschränktem Zugriff erstellen. Diese Rolle, die auch als Ausführungsrolle bezeichnet wird, gewährt die Berechtigung, eine Teilmenge der API-Prozeduren auf einer Teilmenge von Clean Rooms zu verwenden. Diese eingeschränkten Rollen können Benutzern zugewiesen werden, um die Nutzung Ihres Kontos für bestimmte Benutzer, z. B. Datenanalysten, zu ermöglichen. Erstellen Sie begrenzte Rollen, indem Sie
consumer.grant_run_on_cleanrooms_to_role
aufrufen.
Vollständigen API-Zugriff gewähren oder widerrufen¶
Die Rolle SAMOOHA_APP_ROLE gewährt vollen API-Zugriff auf alle Clean Rooms in einem Konto.
Gewähren Sie vollständigen API-Zugriff:
USE ROLE ACCOUNTADMIN;
GRANT ROLE SAMOOHA_APP_ROLE TO USER <user_name>;
Entziehen Sie den vollständigen API-Zugriff:
USE ROLE ACCOUNTADMIN;
REVOKE ROLE SAMOOHA_APP_ROLE FROM USER <user_name>;
Begrenzten API-Zugriff gewähren¶
Sie können in Ihrem Konto begrenzten API-Zugriff auf bestimmte Clean Rooms gewähren. Eingeschränkter Zugriff gewährt die Möglichkeit, nur eine Teilmenge der Verbraucherprozeduren auszuführen, wie z. B. consumer.run_analysis
, aber nicht die Möglichkeit, Clean Rooms zu erstellen, zu verknüpfen oder zu ändern.
So gewähren Sie einem Benutzer eingeschränkten Zugriff:
Ein Benutzer mit Vollzugriff, der die Rolle SAMOOHA_APP_ROLE vergeben kann, erstellt eine neue Rolle und weist ihr eingeschränkte Berechtigungen zu:
-- Create the role USE ROLE ACCOUNTADMIN; CREATE ROLE MARKETING_ANALYST_ROLE; GRANT USAGE ON WAREHOUSE APP_WH TO MARKETING_ANALYST_ROLE; -- Or whichever warehouse you are using -- Grant the role limited privileges on a subset of clean rooms. CALL samooha_by_snowflake_local_db.consumer.grant_run_on_cleanrooms_to_role( [$cleanroom_1, $cleanroom_2], 'MARKETING_ANALYST_ROLE' ); -- Grant the role to a user. GRANT ROLE MARKETING_ANALYST_ROLE TO USER george.washington;
Der Benutzer verwendet dann seine eingeschränkte Rolle, um bestimmte Aktionen im Clean Room-Konto durchzuführen:
-- User george.washington logs in and uses the limited role. USE WAREHOUSE APP_WH USE ROLE MARKETING_ANALYST_ROLE; -- Consumer-run analyses should succeed. CALL samooha_by_snowflake_local_db.consumer.run_analysis( $cleanroom_name, 'prod_overlap_analysis', ['MY_DB.MYDATA.CONVERSIONS'], -- Consumer tables ['MY_DB.MYDATA.EXPOSURES'], -- Provider tables object_construct( 'max_age', 30 ) ); -- Clean room creation and management procedures fail. CALL samooha_by_snowflake_local_db.provider.cleanroom_init($cleanroom_name, 'INTERNAL');
Um zu sehen, welchen Benutzern eine bestimmte Rolle zugewiesen wurde:
SHOW GRANTS OF ROLE <run_role_name>;
Begrenzten API-Zugriff widerrufen¶
Um dieser Rolle die Berechtigung zum Ausführen zu entziehen, rufen Sie
consumer.revoke_run_on_cleanrooms_from_role
auf.Um einem einzelnen Benutzer die Berechtigung zum Ausführen zu entziehen, entziehen Sie dem Benutzer seine Rolle.
Verwalten von Clean Room-Teilnehmern¶
Teilnehmer sind Benutzer, die vom Ersteller des Clean Room eingeladen werden, einem Clean Room beizutreten.
Wenn Sie die Clean Room UI verwenden, können Ersteller Teilnehmer aus einer Liste einladen. Diese Liste wird von jemandem mit der Rolle MANAGE_DCR_COLLABORATORS verwaltet.
Benutzer der Clean Room API sind nicht durch eine vordefinierte Liste eingeschränkt und können über den Snowflake-Konto-Locator jeden beliebigen Clean Room-Teilnehmer hinzufügen.
Wenn ein Snowflake-Teilnehmer ein Konto in einer anderen Region als Ihr Snowflake-Konto hat, muss Ihr Kontoadministrator die Cloud-übergreifende automatische Ausführung aktivieren, bevor Sie ihn als Teilnehmer hinzufügen können.
Wenn Sie einen Teilnehmer ohne Snowflake-Konto einladen möchten, müssen Sie zunächst ein von Clean Room verwaltetes Konto für ihn einrichten.
Um die in der Clean Room UI verwendete Teilnehmerliste zu erstellen, benötigen Sie die Rolle MANAGE_DCR_COLLABORATORS.
/INCLUDE/cleanrooms/text/text-sign-in-page.txt
Wählen Sie im linken Navigationsbereich die Option Collaborators aus.
Führen Sie eine der folgenden Aktionen aus:
Wenn der Teilnehmer ein Snowflake-Konto hat, wählen Sie Snowflake Partners » + Snowflake Partner aus. Beantworten Sie die Aufforderungen zur Eingabe der Details des Snowflake Kontos des Teilnehmers.
Wenn der Teilnehmer kein Snowflake-Kunde ist, wählen Sie die Registerkarte Managed Accounts aus, um ein Clean Room-verwaltetes Konto für ihn zu erstellen.
Wenn Sie die Clean Room API verwenden, können Anbieter über den Snowflake-Konto-Locator unter Verwendung der provider.add_consumers
-Prozedur Teilnehmer hinzufügen.
Warehouse-Optionen hinzufügen¶
Jedes Warehouse, für das die Rolle SAMOOHA_APP_ROLE über Berechtigungen zur Verwendung und Ausführung verfügt, kann zur Durchführung von Analysen verwendet werden. Um Warehouses hinzuzufügen, die von Reinraumbenutzern zum Ausführen von Analysen verwendet werden können, erstellen Sie ein Warehouse und erteilen dem Benutzer Berechtigungen für die SAMOOHA_APP_ROLE.
Um zum Beispiel ein Warehouse my_big_warehouse
hinzuzufügen, das zur Durchführung von Analysen verwendet werden kann, führen Sie die folgenden Befehle von einem Arbeitsblatt aus:
USE ROLE ACCOUNTADMIN;
CREATE WAREHOUSE my_big_warehouse WITH WAREHOUSE_SIZE = X5LARGE;
GRANT USAGE, OPERATE ON WAREHOUSE my_big_warehouse TO ROLE SAMOOHA_APP_ROLE;
Web-App-Aktivitäten überwachen¶
Als Administrator können Sie verfolgen, was die Benutzer in der Web-App tun, indem Sie den Abfrageverlauf in Ihrem Snowflake-Konto überwachen. Sie können die Einträge im Abfrageverlauf identifizieren, die einer Aktivität in der Web-App entsprechen, da der Wert von user_name
der Name des Dienstbenutzers ist, der bei der Konfiguration des Snowflake-Kontos erstellt wurde.
Sie können das Abfrage-Tag user_email
verwenden, um festzustellen, welcher Benutzer im Reinraum eine Aktion ausgeführt hat.
Um auf den Abfrageverlauf für Ihre Reinraumumgebung zuzugreifen, führen Sie einen der folgenden Schritte aus, je nachdem, ob Sie SQL oder Snowsight verwenden möchten:
- Snowsight:
Melden Sie sich bei dem Snowflake-Konto, das mit Ihrer Reinraumumgebung verbunden ist, als Benutzer mit der Rolle ACCOUNTADMIN an.
Wählen Sie Monitoring » Query History aus.
Verwenden Sie den Filter User, um den Dienstkontobenutzer auszuwählen, der mit der Reinraumumgebung verbunden ist.
- SQL:
Führen Sie Abfragen auf der Ansicht QUERY_HISTORY im Schema ACCOUNT_USAGE der freigegebenen SNOWFLAKE-Datenbank aus.
Um zum Beispiel die Web-App-Aktivität des Benutzers
joe@example.com
zu verfolgen, führen Sie den folgenden Code aus:SELECT *, TRY_PARSE_JSON(query_tag) AS query_tag_details FROM snowflake.account_usage.query_history WHERE query_tag_details IS NOT NULL AND query_tag_details:request_type = 'DCR' AND query_tag_details:user_email = 'joe@example.com';
Vom Anbieter durchgeführte Analysen überwachen¶
Eine vom Anbieter durchgeführte Analyse bezieht sich auf den Prozess, bei dem ein Anbieter einen Reinraum erstellt und freigibt und dann eine Analyse in diesem Reinraum durchführt, nachdem der Verbraucher seine Daten verlinkt hat. Diese Analysen werden im Konto des Verbrauchers ausgeführt, nicht in dem des Anbieters. In diesem Abschnitt wird beschrieben, wie der Verbraucher die Abfragen verfolgen kann, die von den Analysen des Anbieters im Reinraum ausgeführt werden.
Snowflake Data Clean Rooms weist jeder Abfrage, die für eine vom Anbieter durchgeführte Analyse ausgeführt wird, ein Abfrage-Tag zu. Dieses Abfrage-Tag hat die Form cleanroom_UUID_provider_account_locator
. Ein Verbraucher kann alle Abfragen abrufen, die mit vom Anbieter durchgeführten Analysen verbunden sind, indem er im Abfrageverlauf seines Kontos nach dem Abfrage-Tag sucht.
Um die Abfrage abzurufen, rufen Sie zunächst die UUID für einen Reinraum auf und suchen dann nach dem Abfrage-Tag. Ersetzen Sie im folgenden Code cleanroom_name
und provider_account_locator
durch die entsprechenden Werte.
-- Retrieve clean room UUID
SELECT cleanroom_id FROM samooha_by_snowflake_local_db.public.cleanroom_record
WHERE cleanroom_name = '<cleanroom_name>';
-- Retrieve queries with provider-run query tag
SELECT * FROM snowflake.account_usage.query_history
WHERE query_tag = cleanroom_id || '<provider_account_locator>;
Sie können auch Snowsight verwenden, um den Abfrageverlauf nach dem entsprechenden Abfrage-Tag zu filtern, nachdem Sie SQL verwendet haben, um den Reinraum UUID abzurufen.
Verfügbare Konnektoren anpassen¶
Mit Konnektoren können Sie die Reinraumumgebung mit Ihren Ökosystempartnern zusammenführen. Als Reinraum-Administrator eines Anbieters können Sie die Reinraumumgebung so anpassen, dass dem Reinraumbenutzer nur bestimmte Konnektoren als Optionen angezeigt werden. Wenn Sie beispielsweise einen einzigen bevorzugten Aktivierungspartner haben, können Sie die Reinraumumgebung so konfigurieren, dass dieser Partner die einzige Option ist, wenn ein Verbraucher die Ergebnisse einer Analyse in einem Reinraum aktiviert.
Bemerkung
Ihre Anpassungen gelten nur für neue Reinräume.
Um zu kontrollieren, welche Konnektoren in einem Clean Room verfügbar sind, benötigen Sie die Rolle MANAGE_DCR_CONNECTORS.
Wählen Sie im linken Navigationsbereich die Option Admin » Profile & Features aus.
Optional: Um Konnektoren für die Aktivierung anzupassen, gehen Sie wie folgt vor:
Wählen Sie auf der Kachel Activation die Option Edit aus.
Wählen Sie die Aktivierungsoptionen aus, die Sie anzeigen möchten, und wählen Sie dann Save aus.
Optional: Um die Konnektoren für Identität und Datenanbieter anzupassen, gehen Sie wie folgt vor:
Wählen Sie auf der Kachel Identity & Data Provider die Option Edit aus.
Wählen Sie die Identitätsoptionen, die Sie anzeigen möchten, und wählen Sie dann Save.
Branding Ihrer Reinräume¶
Sie können ein Profil für Ihre Reinraumumgebung konfigurieren, sodass jeder erstellte Reinraum mit Ihrem Logo und Firmennamen versehen wird. Um das Logo und den Namen für Ihr Unternehmen festzulegen, benötigen Sie die Rolle MANAGE_DCR_PROFILE_AND_FEATURES.
Wählen Sie im linken Navigationsbereich die Option Admin » Profile & Features aus.
Gehen Sie im Abschnitt Company profile wie folgt vor:
Laden Sie ein Logo für Ihr Unternehmen im Format JPG oder PNG hoch. Dieses Logo wird für jedem erstellten Reinraum angezeigt.
Bearbeiten Sie Company Name, um den Namen festzulegen, der in den Reinräumen angezeigt werden soll, die in Ihrer Umgebung erstellt werden.
Single Sign-On (SSO) aktivieren¶
Um Single Sign-On (SSO) mit Snowflake-Authentifizierung zu aktivieren, kontaktieren Sie den Snowflake-Support.
Schlüsselpaar-Authentifizierung zulassen¶
Der Benutzer des Dienstkontos, über das die Reinraumumgebung mit Ihrem Snowflake-Konto kommuniziert, verwendet zur Authentifizierung das Schlüsselpaar. Wenn Ihr Snowflake-Konto Authentifizierungsrichtlinien verwendet, um zu steuern, wie sich Benutzer authentifizieren, dann muss die Authentifizierungsrichtlinie, die den Dienstkontobenutzer steuert, die Authentifizierung mit Schlüsselpaaren erlauben.
Um die Schlüsselpaar-Authentifizierung zuzulassen, entfernen Sie entweder alle Authentifizierungsrichtlinien oder fügen eine Authentifizierungsrichtlinie mit AUTHENTICATION_METHODS = ALL
oder AUTHENTICATION_METHODS = KEYPAIR
hinzu. Wenn Ihr Snowflake-Konto über eine Authentifizierungsrichtlinie auf Kontoebene verfügt, die keine Schlüsselpaar-Authentifizierung zulässt, müssen Sie eine neue Authentifizierungsrichtlinie mit dem entsprechenden Parameter erstellen und die Richtlinie dann dem Benutzer des Dienstkontos zuweisen, das während des Installationsprozesses erstellt wurde.
Sie können Ihre Authentifizierungsrichtlinien überprüfen, indem Sie diesen Befehl ausführen:
SHOW AUTHENTICATION POLICIES;
Eine leere Ergebnistabelle zeigt an, dass es keine Richtlinien gibt, was bedeutet, dass die Schlüsselpaar-Authentifizierung erlaubt ist.
Aktivierung in der Clean Room UI aktivieren oder deaktivieren¶
Die Aktivierung bei Verwendung der Clean Room UI wird global von einem Administrator des Clean Room gesteuert. Die Aktivierung in der Clean Room API wird auf Clean Room-Ebene vom Anbieter gesteuert.
In diesem Abschnitt erfahren Sie, wie Sie die Aktivierung aktivieren oder deaktivieren können, wenn Sie die Clean Room UI verwenden. Um zu erfahren, wie Sie die Aktivierung aktivieren können, wenn Sie die API verwenden, lesen Sie die Aktivierungsanleitung.
Anbieter- und Verbraucheraktivierung sind standardmäßig in Ihrem Clean Room-Konto aktiviert, wenn Sie die Clean Room UI verwenden. Die Drittanbieter-Aktivierung muss manuell aktiviert werden.
Hier erfahren Sie, wie Sie die Aktivierung für UI-Benutzer in Ihrem Konto aktivieren oder deaktivieren:
Melden Sie sich bei der Clean Room-Umgebung in der Web-App als DCR-Administrator an.
Wählen Sie Admin » Profile & Features aus.
Wählen Sie im Abschnitt Activation die Option Edit aus.
So verwalten Sie die Verbraucheraktivierung: Aktivieren oder deaktivieren Sie das Kontrollkästchen neben Collaborator Account.
So verwalten Sie die Anbieteraktivierung: Aktivieren oder deaktivieren Sie das Kontrollkästchen neben dem Namen Ihres eigenen Kontos.
So verwalten Sie die Drittanbieter-Aktivierung: Aktivieren oder deaktivieren Sie das Kontrollkästchen neben dem Drittanbieter-Aktivierungsziel, das Sie aktivieren oder deaktivieren möchten. Die Drittanbieter-Aktivierung wird durch Konnektoren ermöglicht und ist nur in der Clean Room UI verfügbar. Siehe die Liste der verfügbaren Drittanbieter-Konnektoren.
Erfahren Sie, wie Sie die Aktivierung in einem Clean Room umsetzen können.
Netzwerkrichtlinien konfigurieren¶
Wenn Ihr Snowflake-Konto eine Netzwerkrichtlinie verwendet, um den Netzwerkdatenverkehr zu kontrollieren, müssen Sie explizit den Datenverkehr von den IP-Adressen zulassen, die die Web-App für die Kommunikation mit Ihrem Snowflake-Konto verwendet.
Suchen Sie die Region Ihres Cloudanbieterkontos in der Tabelle unten und konfigurieren Sie die Netzwerkrichtlinie Ihres Kontos so, dass alle in dieser Zeile aufgeführten IP-Adressen zugelassen werden:
Snowflake-Kontoregion |
Diese IP-Adressen für die Webanwendung zulassen |
---|---|
|
52.7.249.136
34.195.16.248
52.7.210.215
|
|
15223145218
3.96.6.109
15.222.142.44
|
|
54.93.86.99
3.126.238.8
3127143168
|
|
35.154.94.29
13235168249
15.206.48.175
|
|
13.228.90.174
52.220.42.130
52.220.249.16
|
|
52.65.205.236
52.62.198.227
3.104.160.96
|
Siehe Details zum Dienstkonto für diese Umgebung¶
Die Webanwendung verwendet ein Dienstkonto zur Kommunikation mit Snowflake. Dieses Dienstkonto wurde vom Kontoadministrator erstellt, als er die Clean Room-Umgebung für dieses Konto installiert hat.
Sie können die Details zum Benutzer des Dienstkontos nicht ändern.
Um Details über das Dienstkonto für diese Clean Room-Umgebung zu sehen, benötigen Sie die Rolle MANAGE_DCR_PROFILE_AND_FEATURES.
/INCLUDE/cleanrooms/text/text-sign-in-page.txt
Navigieren Sie zu Admin > Snowflake Admin.
Auf der Seite Snowflake Admin können Sie Informationen wie den Namen und die E-Mail-Adresse des Dienstbenutzers einsehen.