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>;
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>;
Révoquer l’accès complet à l’API :
USE ROLE ACCOUNTADMIN;
REVOKE ROLE SAMOOHA_APP_ROLE FROM USER <user_name>;
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 :
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;
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');
Pour savoir quels utilisateurs se sont vu attribuer un rôle spécifique :
SHOW GRANTS OF ROLE <run_role_name>;
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.
/INCLUDE/cleanrooms/text/text-sign-in-page.txt
Dans la navigation de gauche, sélectionnez Collaborators.
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.
Lors de l’utilisation de l’API de clean room, les fournisseurs peuvent ajouter des collaborateurs par l’emplacement du compte Snowflake en utilisant la procédure provider.add_consumers
.
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;
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:
Connectez-vous au compte Snowflake associé à votre environnement de salle blanche en tant qu’utilisateur ayant le rôle ACCOUNTADMIN.
Sélectionnez Monitoring » Query History.
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';
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>;
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.
Dans la navigation de gauche, sélectionnez Admin » Profile & Features.
Facultatif : pour personnaliser les connecteurs d’activation, procédez comme suit :
Sur la vignette Activation , sélectionnez Edit.
Sélectionnez les options d’activation que vous souhaitez afficher, puis sélectionnez Save.
Facultatif : pour personnaliser les connecteurs d’identité et de fournisseur de données, procédez comme suit :
Sur la vignette Identity & Data Provider , sélectionnez Edit.
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.
Dans la navigation de gauche, sélectionnez Admin » Profile & Features.
Dans la section Company profile, procédez comme suit :
Téléchargez un logo pour votre entreprise au format JPG ou PNG. Ce logo apparaîtra sur chaque salle blanche créée.
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;
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 :
Connectez-vous à l’environnement de la clean room dans l’application web en tant qu’administrateur de DCR.
Sélectionnez Admin » Profile & Features.
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 |
---|---|
|
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
|
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.
/INCLUDE/cleanrooms/text/text-sign-in-page.txt
Accédez à Admin > Snowflake Admin.
Sur la page Snowflake Admin, vous trouverez des informations telles que le nom et l’adresse électronique de l’utilisateur du service.