Aperçu des Snowflake Data Clean Rooms

Cette page donne un aperçu du fonctionnement de Snowflake Data Clean Rooms. Si vous êtes un administrateur de Snowflake et que vous souhaitez installer des salles blanches dans votre compte, lisez Installation de l’environnement Snowflake Data Clean Rooms.

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 Data Clean Room est installé une seule fois pour l’ensemble d’un compte Snowflake (et non une fois par utilisateur ou par salle blanche) par une personne disposant de 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

Note

  • Si vous avez reçu par e-mail une invitation à rejoindre une salle blanche, cela signifie que les salles blanches sont déjà installées dans votre compte Snowflake. Vous pouvez lire la suite de cette page pour en savoir plus sur l’utilisation des salles blanches, mais vous n’avez rien à installer : il vous suffit de rejoindre la salle blanche.

  • 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.

Créer une clean room

Un administrateur de compte Snowflake accorde aux utilisateurs de son compte Snowflake l’autorisation de créer des salles blanches. Le compte qui crée une salle blanche est appelé fournisseur pour cette salle blanche. Les fournisseurs peuvent configurer et partager des salles blanches avec des utilisateurs dans d’autres comptes Snowflake (ou même avec des utilisateurs non-Snowflake). Lorsqu’une salle blanche est partagée avec vous, vous êtes appelé consommateur de cette salle blanche.

Après avoir créé une salle blanche, le fournisseur lie (importe) des tables ou des vues dans celle-ci, 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 ces résultats.

Le fournisseur invite ensuite les consommateurs à rejoindre la salle blanche, à lier leurs propres tables et vues, et à exécuter l’une des requêtes spécifiées par le fournisseur. Les consommateurs doivent être préalablement approuvés par un administrateur de salles blanches avant de pouvoir être invités dans une salle blanche.

En savoir plus

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).

Les données importées dans une salle blanche ne peuvent pas être interrogées ou vues directement par l’une ou l’autre des parties (soit le fournisseur ou le consommateur), elles ne sont accessibles qu’avec un modèle dans la salle blanche. Un modèle est une requête SQL installée dans la salle blanche par le fournisseur ou le consommateur, et l’autorisation doit être donnée par l’autre partie de l’utiliser dans la salle blanche.

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 salle blanche, mais le fournisseur peut demander l’autorisation au consommateur d’exécuter un modèle spécifié dans la salle blanche.

En savoir plus

Modèles

Chaque salle blanche dispose d’un ou plusieurs modèles installés. Un modèle est une requête JinjaSQL qui inclut généralement des paramètres d’exécution fournis par l’exécuteur du modèle. Ces paramètres permettent aux utilisateurs de spécifier des noms de colonnes ou de tables ou des filtres de clause WHERE. Vous ne pouvez pas simplement exécuter des requêtes SQL arbitraires dans une salle blanche (à moins qu’un fournisseur accorde cette capacité). L’utilisation de la salle blanche est généralement limitée aux modèles soumis par le fournisseur ou le consommateur et approuvés par l’autre partie.

Snowflake fournit quelques modèles standard pour les cas d’utilisation courants, tels que les modèles de chevauchement d’audience, de portée et de fréquence. Vous pouvez également créer des modèles personnalisés à utiliser dans votre salle blanche. Snowflake Data Clean Rooms prend en charge tout modèle JinjaSQL valide.

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

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.

  • Autoriser l’une ou l’autre des parties à inclure du code Python personnalisé qui peut être appelé par la requête qu’ils exécutent. Ce code filtre ou manipule généralement les données d’une manière ou d’une autre pendant l’exécution de la requête. Il ne peut pas effectuer d’actions externes telles que l’enregistrement d’un fichier, l’exportation de données ou l’exécution d’autres actions.

  • 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.

  • Enchaîner plusieurs requêtes.

À propos des fournisseurs et des consommateurs

Les collaborateurs de la salle blanche sont classés comme fournisseurs ou consommateurs pour une salle blanche donnée. Un fournisseur est le compte qui crée une salle blanche ; un consommateur est un compte qui utilise une salle blanche. Vous ne pouvez pas inviter une personne appartenant au même compte que celui avec lequel vous avez créé une salle blanche à agir en tant que consommateur pour cette salle blanche. Tous les utilisateurs du même compte Snowflake ont le même rôle de salle blanche (fournisseur ou consommateur) pour les mêmes salles blanches de ce compte.

Les rôles de fournisseur et de consommateur s’appliquent au niveau du compte Snowflake, et non au niveau de l’utilisateur individuel. Autrement dit, si vous créez une salle blanche cleanroom1 à l’aide d’un compte Snowflake ABC, puis que vous partagez cleanroom1 avec un compte XYZ, tous les utilisateurs ABC ayant accès à cleanroom1 sont des fournisseurs, et tous les utilisateurs XYZ ayant accès à cleanroom1 sont des consommateurs.

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

Méthodes pour accéder aux Snowflake Data Clean Rooms

Snowflake Data Clean Rooms fournit à la fois une application basée sur un navigateur sans code (l’UI des salles blanches) et une API pour créer et gérer des salles blanches. Actuellement, l’UI et l’API des salles blanches ne sont pas exactement équivalentes en termes de capacités. Voici un résumé des différences :

Fonctions UI uniquement

Fonctions API uniquement

  • Les tâches de gestion de l’environnement, telles que le logo, le nom et la description de la clean room, la liste des connecteurs d’activation ou d’identité disponibles.

  • Gestion de la liste des comptes d’administrateurs, de fournisseurs et de consommateurs (potentiels).

  • Planification de l’exécution répétée d’un modèle. (Vous pouvez planifier des exécutions à l’aide d’autres outils de script tels que les tâches cron)

  • Utilisation de fournisseurs d’identité.

  • Création de modèles personnalisés, pour le fournisseur ou le consommateur

  • Création de chaînes de modèles

  • Analyses multi-fournisseurs

  • Contrôle d’accès au niveau du consommateur sur les tables et les modèles (restrict_table_options_to_consumers et restrict_template_options_to_consumers).

Notez que vous pouvez créer une salle blanche à l’aide de l’UI des salles blanches puis 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.

L’UI des salles blanches est accessible à partir d’une URL distincte de Snowsight. Vous pouvez trouver l’URL de connexion ici.

Autorisations et accès : vous devez obtenir l’autorisation d’utiliser l’UI des salles blanches auprès d’un administrateur de salle blanche. L’UI des salles blanches utilise vos identifiants de connexion Snowflake.

Découvrez le tutoriel sur l’UI des salles blanches ou apprenez-en davantage sur l’UI des salles blanches.

API

Snowflake fournit un certain nombre de procédures stockées pour créer, gérer et exécuter des salles blanches. Ces procédures peuvent être appelées par l’intermédiaire des notebooks ou des feuilles de calcul de l’Snowsight, ou via toute interface où vous pouvez exécuter des procédures stockées dans votre compte Snowflake. L’API ne permet pas l’administration de comptes de salle blanche. Pour administrer un compte de salle blanche, vous devez utiliser l’UI des salles blanches.

Autorisations et accès : afin d’utiliser l’API, vous devez obtenir l’autorisation d’utiliser le SAMOOHA_APP_ROLE auprès d’un administrateur de salle blanche pour 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 :

Pour voir si Snowflake Data Clean Rooms est installé :

  1. Connectez-vous à Snowsight.

  2. Dans le menu de navigation, sélectionnez Catalog » Apps » Installed Apps.

  3. Vérifiez si Snowflake Data Clean Rooms apparaît dans votre liste Installed Apps.