À propos de Secure Data Sharing¶
Secure Data Sharing permet de partager des objets sélectionnés dans une base de données de votre compte avec d’autres comptes Snowflake. Vous pouvez partager les objets Snowflake suivants :
Bases de données
Tables
Tables dynamiques
Tables externes
Tables Apache Iceberg™
Vues sécurisées
Vues matérialisées sécurisées
Fonctions définies par l’utilisateur sécurisées (UDFs)
Modèles sans code (comme CORTEX_FINETUNED) - Aperçu
Snowflake permet le partage de bases de données par le biais de partages, qui sont créés par les fournisseurs de données et importés par les consommateurs de données.
Important
Tous les objets de base de données partagés entre les comptes sont en lecture seule (c’est-à-dire que les objets ne peuvent pas être modifiés ou supprimés, et les données de la table ne peuvent pas être ajoutées ou modifiées).
Dans ce chapitre :
Comment fonctionne Secure Data Sharing ?¶
Avec Secure Data Sharing, aucune donnée réelle n’est copiée ou transférée entre des comptes. Tous les partages utilisent la couche de services et le magasin de métadonnées de Snowflake. Les données partagées ne sont pas stockées dans un compte de consommateur et ne contribuent donc pas aux frais mensuels de stockage de données du consommateur. Les consommateurs sont uniquement pour les ressources de calcul (c’est-à-dire les entrepôts virtuels) utilisées pour l’interrogation des données importées.
Comme aucune donnée n’est copiée ou échangée, la mise en place de Secure Data Sharing est rapide et facile pour les fournisseurs et l’accès aux données importées est quasi instantané pour les consommateurs :
Le fournisseur crée un partage d’une base de données dans son compte et accorde l’accès à des objets spécifiques de la base de données. Le fournisseur peut également partager des données de plusieurs bases de données, à condition que ces bases de données appartiennent au même compte. Un ou plusieurs comptes sont alors ajoutés au partage qui peut inclure vos propres comptes (si vous avez plusieurs comptes Snowflake).
Pour plus de détails, reportez-vous à Qu’est-ce qu’un partage ? (dans cette rubrique).
Côté consommateur, une base de données en lecture seule est créée à partir du partage. L’accès à cette base de données est configurable à l’aide du même contrôle d’accès standard basé sur les rôles que Snowflake fournit pour tous les objets du système.
Avec cette architecture, Snowflake permet un réseau de fournisseurs capables de partager des données avec plusieurs consommateurs (y compris au sein de leur propre organisation) et des consommateurs capables d’accéder à des données importées de plusieurs fournisseurs :

Note
Tout compte Snowflake complet peut à la fois fournir et consommer des données importées. Snowflake prend également en charge les comptes tiers, un type de compte spécial qui consomme des données importées d’un seul compte fournisseur. Pour plus de détails, reportez-vous à Comptes de lecteurs pour l’accès par des tiers (dans cette rubrique).
Options de partage dans Snowflake¶
Vous pouvez partager des données dans Snowflake en utilisant l’une des options suivantes :
une annonce, dans laquelle vous proposez un partage et des métadonnées supplémentaires comme produit de données à un ou plusieurs comptes,
un partage direct, dans lequel vous partagez directement des objets spécifiques de la base de données (un partage) à un autre compte de votre région,
un échange de données, dans lequel vous configurez et gérez un groupe de comptes et proposez un partage à ce groupe.
Vous pouvez également convertir un partage direct en annonce. Pour des instructions, voir Conversion d’un partage direct en annonce.
Voir Vue d’ensemble du partage des données et de la collaboration dans Snowflake pour plus de détails.
Aperçu des fournisseurs de données et des consommateurs¶
Lors du partage dans Snowflake, le compte qui partage les données est appelé fournisseur, et le compte qui reçoit les données est appelé consommateur.
À propos des fournisseurs¶
Un fournisseur de données est un compte Snowflake qui crée des partages et qui les met à la disposition d’autres comptes Snowflake pour les consommer. En tant que fournisseur de données, vous partagez une base de données avec un ou plusieurs comptes Snowflake. Pour chaque base de données que vous partagez, Snowflake prend en charge l’utilisation d’autorisations pour fournir un contrôle d’accès granulaire aux objets sélectionnés dans la base de données (c’est-à-dire que vous accordez des privilèges d’accès pour un ou plusieurs objets spécifiques de la base de données).
Vous pouvez créer autant de partages que vous le souhaitez, et ajouter autant de comptes que vous le souhaitez à un partage. Si vous souhaitez fournir un partage à de nombreux comptes, vous pouvez utiliser une annonce ou un échange de données.
Pour obtenir un guide sur le partage des données en tant que fournisseur, voir Partager des objets de base de données sécurisés. Pour des informations plus détaillées, reportez-vous à Créer et configurer des partages.
À propos des consommateurs¶
Un consommateur de données est tout compte qui choisit de créer une base de données à partir d’un partage mis à disposition par un fournisseur de données. En tant que consommateur de données, une fois que vous avez ajouté une base de données importée à votre compte, vous pouvez accéder aux objets de la base et les interroger comme vous le feriez avec n’importe quelle autre base de données de votre compte.
Vous pouvez consommer autant de partages que vous le souhaitez des fournisseurs de données, mais vous ne pouvez créer qu’une seule base de données par partage.
Pour plus de détails, reportez-vous à Consommer des données importées.
Comptes de lecteurs pour l’accès par des tiers¶
Le partage de données n’est pris en charge qu’entre les comptes Snowflake. En tant que fournisseur de données, vous voudrez peut-être partager des données avec un consommateur qui n’a pas déjà un compte Snowflake ou qui n’est pas prêt à devenir un client Snowflake soumis à une licence.
Pour faciliter le partage des données avec ces consommateurs, vous pouvez créer des comptes de lecteurs. Les comptes de lecteur (anciennement appelés « comptes en lecture seule ») offrent un moyen rapide, facile et économique de partager des données sans que le consommateur ait à devenir un client Snowflake.
Chaque compte de lecteur appartient au compte de fournisseur qui l’a créé. En tant que fournisseur, vous utilisez des partages pour partager des bases de données avec des comptes de lecteurs ; cependant, un compte de lecteur ne peut utiliser que les données du compte fournisseur qui l’a créé. Reportez-vous au schéma suivant :

Les utilisateurs d’un compte de lecteur peuvent interroger les données qui ont été importées avec le compte de lecteur, mais ne peuvent effectuer aucune des tâches DML qui sont autorisées dans un compte complet, telles que le chargement et le déchargement de données, l’insertion, la mise à jour et les opérations similaires de manipulation de données.
Pour plus de détails, reportez-vous à Gérer des comptes de lecteur.