Aperçu des Snowflake Data Clean Rooms

This page provides an overview of how Snowflake Data Clean Rooms works. If you are a Snowflake administrator and want to install clean rooms in your account, read 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

The Snowflake Data Clean Room environment is installed once for an entire Snowflake account (not once per user or per clean room) by someone with ACCOUNTADMIN privileges on the Snowflake account.

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

  • If you were emailed an invitation to join a clean room, you already have clean rooms installed in your Snowflake account. You can read the rest of this page to learn more about clean room usage, but you don’t need to install anything, only to join the 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.

Créer une clean room

A Snowflake account administrator grants permission to users in their Snowflake account to be able to create clean rooms. The account that creates a clean room is called a provider for that clean room. Providers can configure and share clean rooms with users in other Snowflake accounts (or even non-Snowflake users). When a clean room is shared with you, you are called a consumer for that clean room.

After creating a clean room, the provider links (imports) tables or views into it, specifies what queries can be run against their data, which columns in their data can be joined or appear in the results, and what can be done with the results.

The provider then invites consumers to join the clean room, link their own tables and views, and run one of the queries specified by the provider. Consumers must be pre-approved by a clean rooms administrator before they can be invited to a clean room.

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

Templates

Every clean room has one or more templates installed. A template is a JinjaSQL query that typically includes run-time parameters provided by the template runner. These parameters enable users to specify column or table names or WHERE clause filters. You cannot simply run arbitrary SQL queries in a clean room (unless a provider grants that ability); most clean room usage is limited to templates submitted by the provider or consumer and approved by the other party.

Snowflake provides a few stock templates for common use cases such as audience overlap and reach and frequency templates. You can also create custom templates to use in your clean room. Snowflake Data Clean Rooms supports any valid JinjaSQL template.

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

Clean room collaborators are classified as either a provider or a consumer for a given clean room. A provider is the account that creates a clean room; a consumer is an account that is shared a clean room. You cannot invite someone in the same account where you created a clean room to act as a consumer for that clean room. All users in the same Snowflake account have the same clean room role (provider or consumer) for the same clean rooms in that account.

The provider and consumer roles apply at the Snowflake account level, not the individual user level. That is, if you create clean room cleanroom1 using Snowflake account ABC, then share cleanroom1 with account XYZ, all ABC users with access to cleanroom1 are providers, and all XYZ users with access to cleanroom1 are consumers.

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

Ways to access Snowflake Data Clean Rooms

Snowflake Data Clean Rooms provide both a no-code browser-based application (the clean rooms UI) and an API to create and manage clean rooms. Currently the clean rooms UI and API are not exactly equivalent in capabilities. Here is a summary of the differences:

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

Note that you can create a clean room using the clean rooms UI and then use or manage it in the API, and 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.

The clean rooms UI is accessed at a separate URL from Snowsight. You can find the login URL here.

Permissions and access: You must be granted access to use the clean room UI by a clean room administrator. The clean rooms UI uses your Snowflake credentials.

Try out the clean rooms UI tutorial or read more about the clean rooms UI.

API

Snowflake provides a number of stored procedures to create, manage, and run clean rooms. These procedures can be called through Snowsight notebooks or worksheets or any interface where you can run stored procedures in your Snowflake account. The API does not enable clean room account administration; to administer a clean room account you must use the clean rooms UI.

Permissions and access: In order to use the API you must be granted access to use the SAMOOHA_APP_ROLE by the a clean rooms administrator for your Snowflake account.

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. Look to see whether Snowflake Data Clean Rooms appears in your Installed Apps list.