À 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 :

Vue d'ensemble des comptes de fournisseur partageant des données avec des comptes de consommateur

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

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

Après la création d’une base de données (dans un compte consommateur) à partir d’un partage, tous les objets importés sont accessibles aux utilisateurs du compte consommateur :

Relations entre les bases de données, les objets de base de données, les partages et les comptes

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 deviennent immédiatement disponibles pour tous les consommateurs, ce qui permet un accès en temps réel aux données importées.

  • Les mises à jour des objets existants dans un partage sont immédiatement disponibles pour tous les consommateurs.

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

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.

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. Les données d’utilisation des annonces partagées dans le cadre d’un échange de données ne sont disponibles que dans les vues contenues dans le schéma Utilisation de Data Sharing de la base de données Snowflake importée.

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 :

Vue d'ensemble des comptes de lecteur de partage de données

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.