Aperçu des Snowflake Data Clean Rooms¶
Cette page donne un aperçu du fonctionnement des Snowflake Data Clean Rooms. Si vous êtes administrateur de Snowflake et que vous souhaitez installer des clean rooms dans votre compte, lisez Installation de l’environnement Snowflake Data Clean Rooms.
Installation de clean rooms dans votre compte¶
L’environnement Snowflake Data Clean Room est installé une fois pour l’ensemble d’un compte Snowflake (et non une fois par utilisateur ou par clean room) par une personne ayant les privilèges ACCOUNTADMIN sur le compte Snowflake.
Si vous avez reçu une invitation par courriel à rejoindre une clean room, vous avez déjà des clean rooms installées dans votre compte Snowflake. Vous pouvez lire le reste de cette page pour en savoir plus sur l’utilisation de la clean room, mais vous n’avez pas besoin d’installer quoi que ce soit, seulement de rejoindre la clean room.
Si vous êtes un administrateur de compte et que l’environnement de clean room n’est pas installé dans votre compte Snowflake, apprenez à installer l’environnement de clean room pour votre compte Snowflake.
Si vous n’êtes pas administrateur de compte, demandez à un administrateur de compte si Snowflake Data Clean Rooms est installé pour votre compte. Si ce n’est pas le cas, demandez-leur de l’installer et de vous en accorder l’accès. Si c’est le cas, demandez-leur de vous accorder l’autorisation d’accès aux clean rooms.
Si vous êtes un développeur et que vous souhaitez avoir accès à l’API, demandez à un administrateur de clean rooms de vous accorder l’accès à l’API.
Aperçu des Snowflake Data Clean Rooms¶
Les Data Clean Rooms sont des environnements Snowflake isolés et configurables dans lesquels les collaborateurs peuvent importer des données, spécifier les requêtes qui peuvent être exécutées sur ces données et configurer les paramètres de protection des données tels que la confidentialité différentielle et la spécification des lignes joignables et projetables. L’accès à une clean room se fait uniquement sur invitation.
Clean rooms ne prend pas en charge les fonctions de monétisation. Les fournisseurs sont facturés pour les divers processus d’arrière-plan requis pour activer les clean rooms ; le compte qui exécute une requête se voit facturer les coûts standard de Snowflake pour l’utilisation des données et de l’informatique. Pour plus d’informations sur les coûts, voir Comprendre les coûts.
Vous devez être invité par un fournisseur de clean room pour pouvoir accéder à une clean room. Si vous souhaitez ouvrir votre clean room à un public plus large, vous devez prévoir un moyen pour les collaborateurs potentiels de vous contacter en fournissant leur compte Snowflake pour que vous puissiez les inviter (ou une adresse électronique pour les utilisateurs non-Snowflake).
Voici un aperçu du fonctionnement des Snowflake Data Clean Rooms :
Installation dans un environnement de clean room¶
L’environnement Snowflake de clean room est installé une fois pour l’ensemble d’un compte Snowflake (et non une fois par utilisateur ou par clean room) par une personne ayant les privilèges ACCOUNTADMIN sur le compte Snowflake.
L’administrateur configure l’environnement pour spécifier quels utilisateurs du compte peuvent créer des clean rooms et exécuter des requêtes, quels utilisateurs ont un accès à l’API, quels comptes peuvent être invités à collaborer dans une clean room, quelles données un créateur de clean room peut importer dans la clean room, et quels services tiers (le cas échéant) peuvent être utilisés pour exporter les résultats des requêtes à partir d’une clean room créée dans ce compte.
Si un environnement de clean room a déjà été installé pour votre compte, adressez-vous à votre administrateur de clean rooms pour y avoir accès. Si un environnement de clean room n’a pas été installé pour votre compte, apprenez comment installer l’environnement.
Après avoir installé et configuré l’environnement, l’administrateur accorde aux autres utilisateurs de Snowflake l’autorisation d’utiliser les UI de clean rooms, l’API, ou les deux.
En savoir plus
Apprenez à installer et configurer l’environnement de la clean room.
Par défaut, vous ne pouvez partager des clean rooms qu’avec des comptes situés dans la même région d’hébergement web. L’administrateur peut activer le partage avec des comptes d’autres régions.
Voir les autres tâches effectuées par les administrateurs de clean rooms.
Créer une clean room¶
L’administrateur de compte Snowflake accorde l’autorisation aux utilisateurs de leur compte Snowflake de pouvoir créer des clean rooms. La personne qui crée une clean room est appelée fournisseur de cette clean room. Les fournisseurs peuvent configurer et partager des clean rooms avec les utilisateurs d’autres comptes Snowflake (ou même avec des utilisateurs non Snowflake). Lorsqu’une clean room est partagée avec vous, vous êtes appelé consommateur pour cette clean room.
Note
Les rôles de fournisseur et de consommateur s’appliquent au niveau du compte Snowflake, et non au niveau de l’utilisateur individuel. En d’autres termes, si vous créez une clean room dans le compte Snowflake ABC, tous les utilisateurs de ABC ayant accès à l’environnement ABC Clean Room peuvent gérer votre clean room. De même, si vous invitez le compte Snowflake EFG à être un consommateur, tous les utilisateurs de EFG ayant accès aux clean rooms sont des consommateurs de cette clean room.
Après avoir créé une clean room, le fournisseur y importe des tables (liens) ou des vues, spécifie quelles requêtes peuvent être exécutées sur leurs données, quelles colonnes de leurs données peuvent être jointes ou apparaître dans les résultats, et ce qui peut être fait avec les résultats. (Vous pouvez créer des variantes de la clean room standard, comme décrit plus loin)
Le fournisseur invite ensuite les consommateurs à rejoindre la clean room, à importer leurs propres tables et vues et à exécuter l’une des requêtes spécifiées par le fournisseur. Les consommateurs doivent être approuvés au préalable par un administrateur des clean rooms avant d’être invités dans une clean room.
En savoir plus
Clean rooms peuvent être créées soit dans le code, soit en utilisant les UI de clean rooms. L’autorisation de créer une clean room est accordée différemment aux utilisateurs du site web <label-cleanrooms_get_started_add_users> et aux codeurs <label-cleanrooms_add_developers>.
Les tables peuvent être importées à partir de comptes Snowflake et de tables Iceberg non Snowflake sur AWS, Azure, et Google.
Avant de pouvoir être importées dans une clean room, les données doivent être enregistrées sur par un utilisateur disposant de privilèges d’administrateur sur les données sources.
Vous pouvez inviter à la fois des utilisateurs de Snowflake et des non-utilisateurs de Snowflake à rejoindre une clean room.
Pour en savoir plus sur le rôle du fournisseur dans les clean rooms.
Rejoindre une clean room¶
Après avoir créé et configuré une clean room, le fournisseur envoie des invitations aux utilisateurs d’autres comptes pour qu’ils rejoignent la clean room. Ces utilisateurs invités sont appelés consommateurs, ou parfois collaborateurs. Les consommateurs invités par le biais de l’UI de clean room reçoivent une invitation par courrier électronique à rejoindre la clean room. Les utilisateurs de Snowflake doivent avoir l’environnement de la clean room installé pour être invités à rejoindre une clean room, mais vous pouvez inviter des utilisateurs non Snowflake à rejoindre une clean room. Un compte Snowflake doit être autorisé par un administrateur de clean rooms avant qu’un créateur de clean room puisse inviter des utilisateurs dans ce compte.
(Dans les UI clean rooms, les termes « rejoindre » et « installer » sont tous deux utilisés pour décrire le moment où un consommateur accepte l’invitation d’une clean room. En effet, une clean room doit littéralement être installée dans l’environnement de la clean room du consommateur)
Après avoir rejoint une clean room, un consommateur importe (lie) toutes les données nécessaires aux modèles de cette clean room, spécifie comment accéder à ces données, par exemple quelles colonnes peuvent être jointes ou projetées, fournit les filtres spécifiques au modèle ou d’autres paramètres, puis exécute le modèle. Les consommateurs peuvent spécifier une répétition du modèle, s’ils le souhaitent. Les résultats peuvent être vus dans le navigateur ou téléchargés. Si le fournisseur a activé l’activation et que le consommateur l’approuve, ce dernier peut exporter les résultats vers les emplacements approuvés (son propre compte Snowflake Connector ou un connecteur d’activation tiers désigné par le fournisseur).
Aucune donnée importée dans une clean room ne peut faire l’objet d’une requête ou d’une vue directe par l’une ou l’autre des parties - le fournisseur ou le consommateur - mais ne peut être accédée que par l’intermédiaire d’un modèle dans cette clean room. Un modèle est une requête SQL installée dans la clean room par le fournisseur ou le consommateur, et l’autre partie doit donner son autorisation pour l’utiliser dans la clean room.
Chaque partie définit également des règles d’accès à ses propres données, notamment en ce qui concerne les colonnes qui peuvent être jointes, projetées ou exportées, et les modèles qui peuvent être exécutés dans la clean room. Chaque partie peut à tout moment supprimer ses données de la clean room.
Par défaut, seul un consommateur peut exécuter des modèles dans une clean room, mais le fournisseur peut demander au consommateur d’exécuter un modèle spécifique dans la clean room.
En savoir plus
Clean rooms prend en charge la confidentialité différentielle. La confidentialité différentielle peut être activée et configurée par le fournisseur ou le consommateur.
Pour en savoir plus sur le rôle du consommateur dans Snowflake Data Clean Rooms.
Exécution des requêtes¶
Chaque clean room dispose d’un ou plusieurs programmes d’installation. Un modèle est une requête SQL qui peut inclure des paramètres d’exécution fournis par la personne qui exécute le modèle. Ces paramètres permettent aux utilisateurs de spécifier quelles tables de la clean room sont utilisées dans la requête, quelles colonnes sont utilisées dans la requête, les filtres de la clause WHERE, etc. Vous ne pouvez pas simplement exécuter des requêtes SQL arbitraires dans une clean room, mais vous devez créer un modèle, qui évalue une requête SQL, et demander à l’autre partie l’autorisation d’exécuter ce modèle.
Snowflake fournit un ensemble de paramètres standard à utiliser dans l’application web. Ces modèles permettent des cas d’utilisation courants tels que le chevauchement d’audience, l’audience lookalike, les prévisions d’inventaire et les requêtes arbitraires sur SQL. Les développeurs peuvent également créer des modèles personnalisés à utiliser dans leurs clean rooms.
Les modèles peuvent être exécutés dans les UI de clean rooms ou dans le code. Les résultats du modèle peuvent être vus ou téléchargés, ou peuvent être partagés avec le fournisseur, le consommateur ou une tierce partie approuvée si l’activation est autorisée dans cette clean room.
En savoir plus
Par défaut, seuls les consommateurs peuvent exécuter un modèle dans une clean room. Toutefois, un fournisseur peut demander l’autorisation au consommateur d’exécuter un modèle dans une clean room.
Le modèle et la configuration de la clean room définissent ce qui peut être fait avec les résultats de la requête. Si les résultats de la requête sont exportés en dehors de la clean room, on parle d’activation. Les résultats peuvent être activés sur le compte Snowflake du fournisseur ou du consommateur, ou sur celui d’une tierce partie approuvée par Snowflake.
Variations Clean room¶
La clean room la plus courante, telle que décrite ci-dessus, est celle où un fournisseur importe des données et spécifie une ou plusieurs requêtes spécifiques qui peuvent être exécutées sur les données et comment les résultats peuvent être partagés, et où le consommateur importe ses propres données et exécute les requêtes autorisées sur les données combinées. Toutefois, un fournisseur peut autoriser plusieurs variantes de la clean room standard :
Permettre au fournisseur d’exécuter ses propres requêtes sur les données des consommateurs.. Par défaut, seul le consommateur peut exécuter des requêtes dans une clean room. Si cette option est activée pour une clean room, un fournisseur peut demander au consommateur l’autorisation d’exécuter une requête spécifique dans la clean room.
Autoriser l’exportation des résultats de la requête (activé) vers le compte Snowflake de la personne qui effectue la requête ou vers un compte tiers approuvé par Snowflake, tel que Meta Ads Manager ou The Trade Desk. L’exportation de données en dehors de la clean room est toujours soumise à l’approbation de toutes les parties qui ont partagé les données faisant l’objet de la requête.
Permettre à l’une ou l’autre partie de d’inclure du code Python personnalisé qui peut être appelé par la requête qu’elle exécute. Ce code filtre ou manipule les données d’une manière ou d’une autre pendant l’exécution de la requête ; il ne peut pas entreprendre d’actions externes telles que l’enregistrement d’un fichier, l’exportation de données ou l’exécution d’autres performances.
Permettre à la requête d’accéder à des données dans d’autres clean rooms, sous réserve de l’approbation des fournisseurs de toutes les clean rooms auxquelles on accède.
À propos des fournisseurs et des consommateurs¶
Les collaborateurs Clean room sont classés comme étant soit un fournisseur, soit un consommateur pour une clean room donnée. Le fournisseur est le compte qui crée une clean room ; le consommateur est le compte qui se voit partager une clean room. Vous ne pouvez pas inviter quelqu’un dans le même compte où vous avez créé une clean room à agir en tant que consommateur pour cette clean room. Tous les utilisateurs d’un même compte Snowflake ont le même rôle (fournisseur ou consommateur) pour les mêmes clean rooms dans ce compte.
Le fait que vous soyez un fournisseur ou un consommateur est déterminé uniquement par le fait que vous avez créé ou que l’on vous a partagé une clean room, et non par les rôles de Snowflake ou d’autres autorisations.
Voici plus d’informations sur les rôles du fournisseur et du consommateur.
Astuce
Le terme collaborateur est parfois utilisé pour désigner un consommateur ou toute personne ayant accès à une clean room donnée.
Fournisseurs¶
Un fournisseur est défini comme le compte qui a créé une clean room. Toute personne accédant à la clean room à partir de ce compte est considérée comme un fournisseur de cette clean room.
Les fournisseurs effectuent les actions suivantes en clean room :
Créer, partager et supprimer des clean rooms
Préciser qui peut utiliser une clean room en tant que consommateur (invite les consommateurs)
Importer des données dans une clean room.
Définir les modèles qui peuvent être exécutés dans une clean room
Préciser si les consommateurs peuvent utiliser un modèle personnalisé dans une clean room
Inviter les consommateurs à partager la clean room
Indiquer les modèles utilisés dans une clean room et créer des modèles personnalisés pour la clean room
Exécuter des requêtes sur les données des consommateurs, si le consommateur y consent
Autoriser les modèles enchaînés
Charger un script Python dans une clean room pour l’utiliser dans un modèle
Permet d’interroger les données du fournisseur de cette clean room avec les données d’autres clean rooms spécifiées dans le cadre d’une requête du consommateur
Activer ou désactiver la confidentialité différentielle pour la clean room ou le consommateur
Gérer les versions de la clean room
Définir des politiques de colonnes et de jointures sur leurs propres données
Consommateurs¶
Un consommateur est défini comme un compte qui a reçu une invitation d’un fournisseur à rejoindre (installer) une clean room.
Les consommateurs effectuent les actions suivantes dans la clean room (selon la configuration de la clean room) :
Rejoindre (installer) une clean room pour son compte
Importer des données dans la clean room
Exécuter toutes les requêtes prises en charge par la clean room
Exporter les résultats de la requête comme le permet la clean room
Demander l’autorisation d’utiliser leur propre modèle dans une clean room
Indiquer si les fournisseurs peuvent exécuter un modèle dans la clean room (par défaut, seuls les consommateurs peuvent exécuter un modèle)
Permettre au fournisseur de la clean room d’effectuer des requêtes sur les données du consommateur
Exécuter une requête qui englobe leurs données et les données des fournisseurs de plusieurs clean rooms, si les fournisseurs de toutes les clean rooms concernées sont d’accord.
Charger un script Python dans la clean room (avec l’autorisation du fournisseur)
Définir des politiques de colonnes et de jointures sur leurs propres données
Définir les paramètres de confidentialité différentielle pour les requêtes gérées par le fournisseur
Moyens d’accès aux données Snowflake Data Clean Rooms¶
Les clean rooms des données Snowflake fournissent à la fois une application basée sur un navigateur sans code (les UI de clean rooms) et une API pour créer et gérer les clean rooms. Actuellement, les capacités des UI et des API de clean rooms ne sont pas exactement équivalentes. Voici un résumé des différences :
Fonctions UI uniquement |
Fonctions API uniquement |
---|---|
|
|
Notez que vous pouvez créer une clean room dans l’appli web et l’utiliser ou la gérer dans l’API, et vice versa.
UI Clean rooms¶
Les données de clean rooms de Snowflake peuvent être gérées et exécutées dans un navigateur. Vous pouvez utiliser les UI de clean rooms pour créer, gérer et utiliser des clean rooms en tant que fournisseur ou consommateur, ou pour configurer diverses fonctions au niveau du compte, telles que les comptes gérés, les connecteurs tiers et les fonctions pour les utilisateurs de l’UI.
Autorisations d’accès : L’accès à l’UI de la clean room doit vous être accordé par un administrateur de la clean room.
L’UI de la clean room requiert une adresse électronique, un nom et un mot de passe pour se connecter. L’adresse électronique n’a pas l’exigence de correspondre à celle de votre compte Snowflake, mais elle est désignée par l’administrateur de la clean room. Votre nom d’utilisateur et votre mot de passe sont choisis par vous.
L’accès à l’UI pour les clean rooms se fait à partir d’uneURL distincte de Snowsight, l’application web Snowflake. L’URL est spécifique à chaque compte.
Pour vous familiariser avec l’utilisation des UI de clean rooms, essayez le tutoriel sur les UI de clean rooms,, ou lisez plus d’informations sur les UI de clean rooms.
API¶
Snowflake fournit un certain nombre de procédures stockées permettant de créer ou d’exécuter des clean rooms. Ces procédures peuvent être appelées par l’intermédiaire des Notebooks ou des feuilles de calcul de Snowsight ou de toute autre interface de ligne de commande où vous pouvez exécuter des procédures stockées dans votre compte Snowflake.
Ces procédures vous permettent d’effectuer la plupart des actions nécessaires à la création, à la gestion ou à l’utilisation d’une clean room en tant que consommateur ou fournisseur. L’API ne permet pas d’effectuer des actions administratives ; pour administrer une clean room, vous devez utiliser l’application web. Lisez la documentation de référence de l’API.
Autorisations d’accès : Afin d’utiliser l’API, vous devez être autorisé à utiliser l’application samooha_app_role par l’administrateur des clean rooms de votre compte Snowflake.
Plus d’infos sur l’API de clean room ou essayez le tutoriel API.
L’environnement des clean rooms est-il installé dans votre compte Snowflake ?¶
Voici comment savoir si les UI ou API de clean rooms sont installées dans votre compte :
Dans Snowsight, ouvrez Data Products » Apps » Installed Apps pour voir si le programme Snowflake Data Clean Rooms est installé.
Exécutez
SHOW ROLES LIKE 'SAMOOHA_APP_ROLE';
pour vérifier si l’API est installée dans votre compte.Exécutez
SELECT IS_ROLE_IN_SESSION('SAMOOHA_APP_ROLE');
pour vérifier si vous avez accès à l’API.Exécutez
SHOW GRANTS ON ROLE SAMOOHA_APP_ROLE;
pour voir quels rôles peuvent accorder SAMOOHA_APP_ROLE.