Premiers pas avec le partage de données sécurisé

Le partage de données sécurisé est une fonction extrêmement puissante, mais facile à utiliser. Vous pouvez débuter en tant que fournisseur de données en quelques étapes simples.

Ce chapitre présente les tâches requises pour partager une base de données et ses objets avec un ou plusieurs comptes. L’exemple à la fin du chapitre illustre toutes les commandes SQL nécessaires pour effectuer ces tâches.

Dans ce chapitre :

Note

Pour exécuter les tâches décrites dans ce chapitre, vous devez utiliser le rôle ACCOUNTADMIN.

De plus, ce chapitre ne décrit que l’ensemble de tâches minimales nécessaires pour que les fournisseurs commencent à partager des données. Pour des informations plus détaillées, y compris des scénarios de partage de données plus détaillés, voir Utilisation des partages.

Étape 1 : Créer un partage

Utilisez CREATE SHARE pour créer un partage. À cette étape, le partage est simplement un conteneur attendant l’ajout d’objets et de comptes.

Étape 2 : Ajouter des objets au partage en accordant des privilèges

Utilisez GRANT <privilège> … TO SHARE pour accorder les privilèges d’objet suivants au partage :

  • Privilège USAGE sur la base de données que vous souhaitez partager.

  • Privilège USAGE sur chaque schéma de base de données contenant les objets que vous souhaitez partager.

  • Privilège SELECT pour partager des objets spécifiques dans chaque schéma partagé :

    • Tables

    • Tables externes

    • Vues sécurisées

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

    • UDFs sécurisés

Important

Si vous prévoyez de partager en toute sécurité des données avec des consommateurs de données dans différentes régions ou plateformes Cloud, notez qu’actuellement, la réplication d’une base de données principale est bloquée si une ou plusieurs tables externes existent dans la base de données.

En option, utilisez SHOW GRANTS pour voir les attributions d’objet au partage.

Astuce

Nous recommandons d’effectuer cette validation minimale du partage avant de passer à l’étape suivante car, une fois l’étape suivante terminée, le partage est « visible » pour tous les comptes ajoutés au partage.

Si vous souhaitez effectuer une validation plus approfondie du partage, Snowflake fournit un mécanisme permettant de simuler un compte de consommateur dans votre compte. Pour plus de détails, voir Utilisation d’objets sécurisés pour contrôler l’accès aux données.

Étape 3 : Ajouter un ou plusieurs comptes au partage.

Utilisez ALTER SHARE pour ajouter un ou plusieurs comptes au partage. Pour consulter les comptes ajoutés au partage, vous pouvez utiliser SHOW GRANTS.

Terminé ! Le partage peut maintenant être consommé par les comptes indiqués. Pour des instructions plus détaillées sur l’exécution de ces tâches et d’autres tâches de fournisseur de données, voir Utilisation des partages.

Exemple

L’exemple suivant illustre l’ensemble du processus du fournisseur tel que décrit ci-dessus.

Cet exemple suppose les éléments suivants :

  • Une base de données nommée sales_db existe avec un schéma nommé aggregates_eula et une table nommée aggregate_1.

  • La base de données, le schéma et la table seront partagés avec deux comptes nommés xy12345 et yz23456.

USE ROLE accountadmin;

CREATE SHARE sales_s;

GRANT USAGE ON DATABASE sales_db TO SHARE sales_s;
GRANT USAGE ON SCHEMA sales_db.aggregates_eula TO SHARE sales_s;
GRANT SELECT ON TABLE sales_db.aggregates_eula.aggregate_1 TO SHARE sales_s;

SHOW GRANTS TO SHARE sales_s;

ALTER SHARE sales_s ADD ACCOUNTS=xy12345, yz23456;

SHOW GRANTS OF SHARE sales_s;