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 de base de données Snowflake suivants :

  • Tables externes

  • Tables dynamiques

  • Vues sécurisées

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

  • UDFs sécurisées

  • Tables

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 :

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, reportez-vous à Comptes de lecteurs pour l’accès par des tiers (dans cette rubrique).

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.

Les fournisseurs de données ajoutent des objets Snowflake (bases de données, schémas, tables, vues sécurisées, etc.) à un partage en utilisant l’une ou l’autre ou les deux des options suivantes :

  • Option 1 : Accorder des privilèges sur des objets à un partage via un rôle de base de données.

  • Option 2 : Accorder des privilèges sur des objets directement à un partage.

Pour plus d’informations sur ces options, voir Choisir comment partager des objets de base de données.

Vous choisissez les comptes qui peuvent consommer les données du partage en ajoutant les comptes au partage.

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 entièrement 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.

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.

Reportez-vous à 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.

Partage des métriques d’utilisation avec les fournisseurs

Si vous fournissez des annonces de manière privée, en utilisant un échange de données ou sur Snowflake Marketplace, vous avez accès à diverses données sur l’utilisation de vos annonces par les consommateurs et sur les comptes des consommateurs qui accèdent à vos annonces.

Pour plus de détails sur les données d’utilisation des annonces, reportez-vous à Surveillance de l’utilisation de votre annonce.

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 :

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