Présentation 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. Les objets de base de données Snowflake suivants peuvent être partagés :

  • Tables

  • Tables externes

  • Vues sécurisées

  • Vues matérialisées sécurisées

  • UDFs sécurisées

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. L’ensemble du partage est effectué via la couche de service unique et la mémoire de métadonnées de Snowflake. Il s’agit d’un concept important, car cela signifie que 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 seuls frais facturés aux consommateurs concernent les ressources de calcul (c’est-à-dire les entrepôts virtuels) utilisées pour interroger les données partagées.

De plus, comme aucune donnée n’est copiée ou échangée, la configuration de Secure Data Sharing est rapide et facile pour les fournisseurs, et l’accès aux données partagées est 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, voir Qu’est-ce qu’un partage ? (dans ce chapitre).

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

Grâce à cette architecture, Snowflake permet de créer un réseau de fournisseurs qui peuvent partager des données avec plusieurs consommateurs (y compris au sein de leur propre entreprise) et de consommateurs qui peuvent accéder à des données partagées provenant de plusieurs fournisseurs :

Overview of provider accounts sharing data with consumer accounts

Note

Tout compte Snowflake complet peut à la fois fournir et utiliser des données partagées. Snowflake prend également en charge les comptes tiers, un type de compte spécial qui utilise les données partagées d’un compte fournisseur unique. Pour plus de détails, voir Comptes de lecteur (dans ce chapitre).

Qu’est-ce qu’un partage ?

Les partages sont des objets Snowflake nommés qui comprennent toutes les informations nécessaires pour partager une base de données. Chaque partage se compose des éléments suivants :

  • Les privilèges qui donnent accès à la/ aux base(s) de données et au schéma contenant les objets à partager.

  • Les privilèges qui accordent l’accès aux objets spécifiques de la base de données.

  • Les comptes de consommateur avec lesquels la base de données et ses objets sont partagés.

Une fois qu’une base de données est créée (dans un compte de consommateur) à partir d’un partage, tous les objets partagés sont accessibles aux utilisateurs dans le compte de consommateur :

Relationship between databases, database objects, shares, and accounts

Les partages sont sécurisés, configurables et contrôlés à 100 % par le compte du fournisseur :

  • Les nouveaux objets ajoutés à un partage sont immédiatement accessibles à tous les consommateurs, ce qui permet un accès en temps réel aux données partagées.

  • L’accès à un partage (ou à l’un des objets d’un partage) peut être révoqué à tout moment.

Aperçu des fournisseurs de données et des consommateurs

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

Snowflake n’impose aucune limite quant au nombre de partages que vous pouvez créer ou au nombre de comptes que vous pouvez ajouter à un partage.

Pour obtenir un guide rapide sur le partage des données en tant que fournisseur, voir Premiers pas avec le partage de données sécurisé. Pour plus d’informations détaillées, voir Utilisation des partages.

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 ajoutez une base de données partagée à votre compte, vous pouvez accéder et interroger les objets de la base de données comme vous le feriez avec toute autre base de données dans votre compte.

Snowflake n’impose pas de limites strictes sur le nombre de partages que vous pouvez consommer auprès des fournisseurs de données. Cependant, vous ne pouvez créer qu’une seule base de données par partage.

Pour plus de détails, voir Consommateurs de données.

Comptes tiers

Comptes de lecteur

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 et/ou qui n’est pas prêt à devenir un client Snowflake soumis à une licence.

Pour faciliter le partage des données avec ces consommateurs, Snowflake aide les fournisseurs à créer des comptes de lecteur. 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éé. Semblable aux comptes de consommateurs standards, le compte de fournisseur utilise 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éé :

Overview of data sharing reader accounts

Les utilisateurs d’un compte de lecteur peuvent interroger les données qui ont été partagées avec le compte, mais ne peuvent exécuter aucune des tâches DML autorisées dans un compte client complet (chargement, insertion, mise à jour des données, etc.).

Pour plus de détails, voir Gestion des comptes de lecteur.