Snowflake Data Clean Rooms : tâches de l’administrateur

Cette rubrique décrit les tâches de l’administrateur d’une Snowflake Data Clean Room. Pour obtenir des informations sur la mise en œuvre d’un environnement de salle blanche pour la première fois, consultez Aperçu des Snowflake Data Clean Rooms.

Gérer les utilisateurs de la clean room

L’accès à l’UI et à l’API est géré à l’aide de rôles d’application. Différents rôles permettent l’accès à l’API et à l’UI.

L’utilisateur doit également se voir attribuer un entrepôt par défaut et se voir accorder l’utilisation de cet entrepôt.

Gérer l’accès à l’UI de clean room

Pour accorder l’accès à l’UI de clean room, attribuez les rôles appropriés de l’UI de clean room à un utilisateur ou à un sous-rôle. Les rôles suivants sont utilisés pour accéder ou gérer l’UI de clean room :

  • ACCOUNTADMIN : utilisé pour installer ou désinstaller l’environnement de la clean room. Accorde l’accès à la page Snowflake Admin, utilisée pour gérer l’utilisateur de service et les fonctionnalités de compte telles que le traitement automatique inter-cloud (Cross-Cloud Auto-Fulfillment), les tables externes et Iceberg, ainsi que l’enregistrement des jeux de données pour les utilisateurs de l’UI. Ce rôle comprend les privilèges de tous les autres rôles de la clean room.

  • MANAGE_CLEANROOMS : permet de créer, mettre à jour, supprimer et installer des clean rooms, et de créer, mettre à jour, supprimer et exécuter des analyses dans l’UI de clean room.

  • MANAGE_DCR_PROFILE_AND_FEATURES : donne l’accès à la page Profile & Features dans la section : ui:Admin, où vous pouvez gérer le profil de l’entreprise et contrôler quels connecteurs tiers peuvent être utilisés dans les clean rooms.

  • MANAGE_DCR_CONNECTORS: donne accès à la page Connectors, où vous pouvez configurer des connecteurs tiers.

  • MANAGE_DCR_COLLABORATORS: donne accès à la page Collaborators, où vous pouvez gérer la liste des collaborateurs approuvés pour les utilisateurs de l’UI. Ne contrôle pas la liste des collaborateurs disponibles pour les utilisateurs de l’API, qui peuvent inviter n’importe quel compte Snowflake à collaborer.

Exemple

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>;
Copy

Gérer les utilisateurs de l’API

Clean room définit les rôles suivants pour gérer l’accès à l’UI et à l’API. Tous les rôles sont des rôles d’application, dans le champ d’application de SAMOOHA_BY_SNOWFLAKE.

Les rôles Snowflake suivants sont utilisés pour accéder ou gérer l’API :

  • ACCOUNTADMIN: le rôle utilisé pour installer ou désinstaller l’environnement de la clean room.

  • SAMOOHA_APP_ROLE: donne l’autorisation complète de l’API clean room dans ce compte. (Ce rôle est utilisé par l’application web pour communiquer avec l’API.

  • Rôle de développeur à accès limité : les utilisateurs de SAMOOHA_APP_ROLE peuvent créer un rôle à accès limité. Ce rôle, également appelé rôle d’exécution **, donne l’autorisation d’utiliser un sous-ensemble de procédures d’API dans un sous-ensemble de clean rooms. Ces rôles limités peuvent être accordés à des utilisateurs afin de permettre une utilisation champ d’application de votre compte pour des utilisateurs spécifiques, tels que les analystes de données. Créez des rôles limités en appelant consumer.grant_run_on_cleanrooms_to_role.

Donner ou révoquer l’accès complet à l’API

Le rôle SAMOOHA_APP_ROLE accorde un accès complet à l’API à toutes les clean rooms d’un compte.

Donner l’accès complet à l’API :

USE ROLE ACCOUNTADMIN;
GRANT ROLE SAMOOHA_APP_ROLE TO USER <user_name>;
Copy

Révoquer l’accès complet à l’API :

USE ROLE ACCOUNTADMIN;
REVOKE ROLE SAMOOHA_APP_ROLE FROM USER <user_name>;
Copy

Donner l’accès complet à l’API

Vous pouvez accorder un accès limité à l’API aux clean rooms spécifiées dans votre compte. L’accès limité accorde la possibilité d’exécuter uniquement un sous-ensemble de procédures consommateurs, telles que consumer.run_analysis, mais pas la possibilité de créer, de rejoindre ou de modifier des clean rooms.

Voici comment accorder un accès limité à un utilisateur :

  1. Un utilisateur disposant d’un accès complet et pouvant accorder le rôle SAMOOHA_APP_ROLE crée un nouveau rôle et lui attribue des autorisations limitées :

    -- 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;
    
    Copy
  2. L’utilisateur utilise ensuite son rôle limité pour effectuer des actions spécifiques dans le compte de la clean room :

     -- 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');
    
    Copy

Pour savoir quels utilisateurs se sont vu attribuer un rôle spécifique :

SHOW GRANTS OF ROLE <run_role_name>;
Copy

Révoquer l’accès limité à l’API

  • Pour révoquer les privilèges d’exécution de ce rôle, appelez consumer.revoke_run_on_cleanrooms_from_role.

  • Pour révoquer les privilèges d’exécution d’un seul utilisateur, révoquez le rôle de l’utilisateur.

Gérer les collaborateurs de la clean room

Les collaborateurs sont des utilisateurs invités à rejoindre une clean room par le créateur de la clean room.

Lors de l’utilisation de l’UI de clean room, les créateurs peuvent inviter des collaborateurs à partir d’une liste. Cette liste est gérée par une personne ayant le rôle de MANAGE_DCR_COLLABORATORS.

Les utilisateurs de l’API Clean room ne sont pas limités par une liste prédéfinie, et peuvent ajouter n’importe quel collaborateur de la clean room par l’intermédiaire de l’emplacement du compte Snowflake.

Si un collaborateur Snowflake possède un compte dans une région différente de votre compte Snowflake, votre administrateur de compte doit activer Cross-Cloud Auto-Fulfillment avant que vous puissiez l’ajouter en tant que collaborateur.

Si vous souhaitez inviter un collaborateur qui n’a pas de compte Snowflake, vous devez d’abord créer un compte de gestion de clean room pour lui.

Pour dresser la liste des collaborateurs utilisée dans l’UI de clean room, vous avez besoin du rôle MANAGE_DCR_COLLABORATORS.

  1. /INCLUDE/cleanrooms/text/text-sign-in-page.txt

  2. Dans la navigation de gauche, sélectionnez Collaborators.

  3. Effectuez au choix :

    • Si le collaborateur dispose d’un compte Snowflake, sélectionnez Snowflake Partners » + Snowflake Partner. Répondez aux invites pour entrer les détails du compte Snowflake du collaborateur.

    • Si le collaborateur n’est pas un client de Snowflake, sélectionnez l’onglet Managed Accounts pour créer un compte géré de clean room pour lui.

Ajouter des options d’entrepôt

Tout entrepôt pour lequel le rôle SAMOOHA_APP_ROLE a des privilèges d’utilisation et de fonctionnement et peut être utilisé pour exécuter des analyses. Pour ajouter des entrepôts qui peuvent être utilisés par les utilisateurs de la salle blanche pour exécuter des analyses, créez un entrepôt et accordez des privilèges sur cet entrepôt au rôle SAMOOHA_APP_ROLE.

Par exemple, pour ajouter un entrepôt my_big_warehouse qui peut être utilisé pour exécuter des analyses, exécutez les commandes suivantes à partir d’une feuille de calcul :

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;
Copy

Surveiller l’activité de l’application Web

En tant qu’administrateur, vous pouvez savoir ce que font les utilisateurs dans l’application Web en surveillant l’historique des requêtes dans votre compte Snowflake. Vous pouvez identifier les entrées de l’historique des requêtes qui correspondent à une activité dans l’application Web car la valeur de user_name est le nom de l’utilisateur du service qui a été créé lorsque le compte Snowflake a été configuré.

Vous pouvez utiliser la balise de requête user_email pour identifier l’utilisateur de la salle blanche qui a effectué une action.

Pour accéder à l’historique des requêtes pour votre salle blanche, effectuez l’une des opérations suivantes, selon que vous souhaitez utiliser SQL ou Snowsight :

Snowsight:
  1. Connectez-vous au compte Snowflake associé à votre environnement de salle blanche en tant qu’utilisateur ayant le rôle ACCOUNTADMIN.

  2. Sélectionnez Monitoring » Query History.

  3. Utilisez le filtre User pour sélectionner l’utilisateur du compte de service associé à l’environnement de salle blanche.

SQL:
  • Exécutez des requêtes sur la QUERY_HISTORYvue dans le schéma ACCOUNT_USAGE de la base de données SNOWFLAKE partagée.

    Par exemple, pour suivre l’activité de l’application Web de l’utilisateur joe@example.com, exécutez le code suivant :

    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';
    
    Copy

Surveiller les analyses effectuées par les fournisseurs

Une analyse exécutée par un fournisseur fait référence au processus par lequel un fournisseur crée et partage une salle blanche, puis exécute une analyse dans la salle blanche après que le consommateur a lié ses données. Ces analyses s’exécutent sur le compte du consommateur et non sur celui du fournisseur. Cette section décrit comment le consommateur peut suivre les requêtes exécutées par les analyses du fournisseur dans la salle blanche.

Snowflake Data Clean Rooms attribue une balise de requête à chaque requête exécutée pour une analyse exécutée par le fournisseur. Cette balise de requête prend la forme cleanroom_UUID_provider_account_locator. Un consommateur peut récupérer toutes les requêtes associées aux analyses exécutées par le fournisseur en recherchant la balise de requête dans l’historique des requêtes de son compte.

Pour récupérer la requête, obtenez d’abord l’UUID pour une salle blanche, recherchez ensuite la balise de requête. Dans le code suivant, remplacez cleanroom_name et provider_account_locator avec les valeurs appropriées.

-- 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>;
Copy

Vous pouvez également utiliser Snowsight pour filtrer l’historique des requêtes par la balise de requête appropriée après avoir utilisé SQL pour récupérer la salle blanche UUID.

Personnaliser les connecteurs disponibles

Les connecteurs vous permettent d’intégrer votre environnement de salle blanche avec vos partenaires de l’écosystème. En tant qu’administrateur de salle blanche d’un fournisseur, vous pouvez personnaliser l’environnement de la salle blanche afin de limiter les connecteurs qui apparaissent comme options pour l’utilisateur de salle blanche. Par exemple, si vous avez un seul partenaire d’activation privilégié, vous pouvez configurer l’environnement de salle blanche de manière à ce que ce partenaire soit la seule option lorsqu’un consommateur active les résultats d’une analyse dans une salle blanche.

Note

Vos personnalisations s’appliquent uniquement aux nouvelles salles blanches.

Pour contrôler les connecteurs disponibles dans une clean room, vous devez jouer le rôle de MANAGE_DCR_CONNECTORS.

  1. Connectez-vous à l’application Web.

  2. Dans la navigation de gauche, sélectionnez Admin » Profile & Features.

  3. Facultatif : pour personnaliser les connecteurs d’activation, procédez comme suit :

    1. Sur la vignette Activation , sélectionnez Edit.

    2. Sélectionnez les options d’activation que vous souhaitez afficher, puis sélectionnez Save.

  4. Facultatif : pour personnaliser les connecteurs d’identité et de fournisseur de données, procédez comme suit :

    1. Sur la vignette Identity & Data Provider , sélectionnez Edit.

    2. Sélectionnez les options d’identité que vous souhaitez afficher, puis sélectionnez Save.

Nommer votre salle blanche

Vous pouvez configurer un profil pour votre environnement de salle blanche afin que chaque salle blanche créée soit marquée de votre logo et du nom de votre entreprise. Pour définir le logo et le nom de votre entreprise, vous avez besoin du rôle MANAGE_DCR_PROFILE_AND_FEATURES.

  1. Connectez-vous à l’application Web.

  2. Dans la navigation de gauche, sélectionnez Admin » Profile & Features.

  3. Dans la section Company profile, procédez comme suit :

    1. Téléchargez un logo pour votre entreprise au format JPG ou PNG. Ce logo apparaîtra sur chaque salle blanche créée.

    2. Modifiez le Company Name pour définir le nom que vous souhaitez voir apparaître sur les salles blanches qui sont créées dans votre environnement.

Activer l’authentification unique (SSO)

Pour activer l’authentification unique (SSO) avec l’authentification Snowflake, contactez Snowflake Support.

Autoriser l’authentification par paire de clés

L’utilisateur du compte de service que l’environnement de salle blanche utilise pour communiquer avec votre compte Snowflake utilise l’authentification par paire de clés pour authentifier. Si votre compte Snowflake utilise des politiques d’authentification pour contrôler la manière dont les utilisateurs s’authentifient, la politique d’authentification contrôlant l’utilisateur du compte de service doit autoriser l’authentification par paire de clés.

Pour autoriser l’authentification par paire de clés, supprimez toutes les politiques d’authentification ou ajoutez une politique d’authentification avec AUTHENTICATION_METHODS = ALL ou AUTHENTICATION_METHODS = KEYPAIR. Si votre compte Snowflake dispose d’une politique d’authentification au niveau du compte qui n’autorise pas l’authentification par paire de clés, vous devez créer une nouvelle politique d’authentification avec le paramètre approprié, puis attribuer la politique à l’utilisateur du compte de service qui a été créé pendant le processus d’installation.

Vous pouvez vérifier vos politiques d’authentification en exécutant cette commande :

SHOW AUTHENTICATION POLICIES;
Copy

Une table de résultats vide indique qu’il n’y a pas de politiques, ce qui signifie que l’authentification par paire clé est autorisée.

Activer ou désactiver l’activation dans l’UI de clean room

L’activation lors de l’utilisation de l’UI de clean room est contrôlée globalement par un administrateur de clean room. L’activation dans l’API de clean room est contrôlée au niveau de la clean room par le fournisseur.

Cette section montre comment activer ou désactiver l’activation lors de l’utilisation de l’UI de clean room. Pour savoir comment activer la fonction d’activation lorsque vous utilisez le site API, lisez les instructions d’activation de.

L’activation du fournisseur et du consommateur est activée par défaut dans votre compte clean room lorsque vous utilisez l’UI de clean room. L’activation par un tiers doit être activée manuellement.

Voici comment activer ou désactiver l’activation pour les utilisateurs de l’UI dans votre compte :

  1. Connectez-vous à l’environnement de la clean room dans l’application web en tant qu’administrateur de DCR.

  2. Sélectionnez Admin » Profile & Features.

  3. Dans la section Activation, sélectionnez Edit.

    • Pour gérer l’activation du consommateur : cochez ou décochez la case à côté de Collaborator Account.

    • Pour gérer l’activation du fournisseur : cochez ou décochez la case à côté de votre propre nom de compte.

    • Pour gérer l’activation tierce **** : cochez ou décochez la case à côté de la cible d’activation tierce que vous souhaitez activer ou désactiver. L’activation par des tiers est activée par des connecteurs et n’est disponible que dans l’UI de clean room. Consultez la liste des connecteurs tiers disponibles.

Apprenez à mettre en œuvre l’activation dans une clean room.

Configurer les politiques réseau

Si votre compte Snowflake utilise une politique réseau pour contrôler le trafic réseau, vous devez explicitement autoriser le trafic provenant des adresses IP que l’application Web utilise pour communiquer avec votre compte Snowflake.

Recherchez la région de votre compte de fournisseur Cloud dans le tableau ci-dessous et configurez la politique réseau de votre compte de manière à autoriser toutes les adresses IP répertoriées dans cette ligne :

Région du compte Snowflake

Autoriser ces adresses IP pour l’application web

  • AWS US Ouest (Oregon)

  • AWS US East (Ohio)

  • AWS US Est (Virginie du Nord)

  • AWS Amérique du Sud (Sao Paulo)

  • Azure West US 2 (Washington)

  • Azure Central US (Iowa)

  • Azure South Central US (Texas)

  • Azure US Est 2 (Virginie)

  • GCP US Central1 (Iowa)

  • GCP US East4 (Virginie du Nord)

52.7.249.136
34.195.16.248
52.7.210.215
  • AWS Canada (Central)

  • Azure Canada Central (Toronto)

15223145218
3.96.6.109
15.222.142.44
  • AWS EU (Irlande)

  • AWS Europe (Londres)

  • AWS EU (Paris)

  • AWS EU (Francfort)

  • AWS EU (Stockholm)

  • AWS EU (Zurich)

  • Azure UK South (Londres)

  • Azure North Europe (Irlande)

  • Azure Europe de l’Ouest (Pays-Bas)

  • Azure Switzerland North (Zurich)

  • Azure UAE Nord (Dubaï)

  • GCP Europe Ouest2 (Londres)

  • GCP Europe Ouest4 (Pays-Bas)

54.93.86.99
3.126.238.8
3127143168
  • AWS Asia Pacific (Mumbai)

  • Azure Central India (Pune)

35.154.94.29
13235168249
15.206.48.175
  • AWS Asie-Pacifique (Singapour)

  • AWS Asie-Pacifique (Tokyo)

  • AWS Asie-Pacifique (Osaka)

  • AWS Asie-Pacifique (Seoul)

  • AWS Asie-Pacifique (Jakarta)

  • Azure Southeast Asia (Singapour)

  • Azure Japon Est (Tokyo)

13.228.90.174
52.220.42.130
52.220.249.16
  • AWS Asie-Pacifique (Sydney)

  • Azure Australia East (Nouvelle-Galles du Sud)

52.65.205.236
52.62.198.227
3.104.160.96

Voir les détails concernant le compte de service pour cet environnement

L’application web utilise un compte service pour communiquer avec Snowflake. Ce compte de service a été créé par l’administrateur de compte lors de l’installation du programme d’environnement de clean room pour ce compte.

Vous ne pouvez pas modifier les détails concernant l’utilisateur du compte de service.

Pour voir les détails du compte de service pour cet environnement de clean room, vous devez avoir le rôle MANAGE_DCR_PROFILE_AND_FEATURES.

  1. /INCLUDE/cleanrooms/text/text-sign-in-page.txt

  2. Accédez à Admin > Snowflake Admin.

  3. Sur la page Snowflake Admin, vous trouverez des informations telles que le nom et l’adresse électronique de l’utilisateur du service.