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. Vous pouvez partager les objets Snowflake suivants :
Bases de données
Tables
Tables dynamiques
Tables externes
Tables Iceberg
Vues sécurisées
Vues matérialisées sécurisées
Fonctions définies par l’utilisateur sécurisées (UDFs)
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 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.
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 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.
Grâce à cette architecture, Snowflake offre 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 :
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, 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 Aperçu du partage de données sur 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 Premiers pas avec Secure Data Sharing. Pour des informations plus détaillées, reportez-vous à Utilisation 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 ajoutez une base de données partagée à votre compte, vous pouvez consulter et interroger les objets de la base de données comme vous le feriez avec toute autre base de données dans 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 à Consommation de données partagé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é partagées avec le compte du lecteur, mais ne peuvent exécuter aucune des tâches DML autorisées dans un compte complet (chargement, insertion, mise à jour des données, et opérations de traitement semblables).
Pour plus de détails, reportez-vous à Gestion des comptes de lecteur.