Autoriser les rôles non ACCOUNTADMIN à effectuer des tâches de partage de données

Cette rubrique répertorie les privilèges minimums requis pour effectuer des actions SQL liées aux partages.

Par défaut, ces privilèges requis pour créer et gérer des partages ne sont accordés qu’au rôle ACCOUNTADMIN, garantissant ainsi que seuls les administrateurs de compte peuvent effectuer ces tâches. Cependant, les privilèges peuvent aussi être accordés à d’autres rôles, ce qui permet de déléguer les tâches à d’autres utilisateurs du compte.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Note

Si vous accordez des privilèges de partage à d’autres utilisateurs du compte, assurez-vous que les profils d’utilisateur de ces autres utilisateurs comprennent un prénom, un nom et une adresse e-mail. Pour modifier le profil utilisateur dans Snowsight, voir Ajouter des détails sur l’utilisateur à votre profil d’utilisateur.

Fournisseurs de données

Les fournisseurs de données peuvent choisir l’une ou l’autre des options suivantes pour ajouter des objets à un partage :

  • Option 1 : Créez un rôle de base de données dans une base de données. Accordez des privilèges sur les objets de la base de données au rôle de base de données. Accordez le rôle de base de données au partage.

  • Option 2 : Accorder des privilèges sur la base de données et les objets de la base de données directement au partage.

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

Les privilèges minimums requis pour créer et gérer des partages dans un compte de fournisseur de données ou de consommateur de données dépendent de l’option utilisée.

Option 1:

Action

Privilège

Objet

Remarques

Crée des partages.

CREATE SHARE

Compte

Par défaut, seul le rôle ACCOUNTADMIN dispose de ce privilège. Ce privilège peut être accordé à d’autres rôles si nécessaire.

Créez des rôles de base de données dans une base de données.

CREATE DATABASE ROLE

Base de données

Seul le rôle de propriétaire de la base de données (c’est-à-dire le rôle qui dispose du privilège OWNERSHIP sur la base de données) dispose de ce privilège par défaut. Ce privilège peut être accordé à d’autres rôles si nécessaire.

Option 2:

Action

Privilège

Objet

Remarques

Crée des partages.

CREATE SHARE

Compte

Par défaut, seul le rôle ACCOUNTADMIN dispose de ce privilège. Ce privilège peut être accordé à d’autres rôles si nécessaire.

Accorder ou révoquer des privilèges sur des objets vers ou depuis un partage.

OWNERSHIP

Partager

Ce rôle doit aussi au minimum disposer des privilèges suivants sur les objets de la base de données avec l’option d’octroi :

  • USAGE sur la base de données

  • USAGE sur le schéma

  • SELECT sur n’importe quelle table, table externe, vue sécurisée ou vue matérialisée sécurisée.

  • USAGE sur n’importe quelles UDFs sécurisées

Notez que l’exploitation d’un objet dans un schéma requiert également le privilège USAGE sur la base de données et le schéma parents.

Attention

L’attribution de CREATE SHARE à d’autres rôles rend la gestion des partages plus flexible, mais permet également aux utilisateurs ayant ces rôles d’exposer tout objet qu’ils possèdent (ou sur lequel ils ont les privilèges nécessaires) à d’autres comptes. Ceci est particulièrement important à noter si vous partagez des données à partir d’un compte qui contient des données sensibles ou de propriétaire.

Veuillez en tenir compte avant d’accorder CREATE SHARE à d’autres rôles.

Blocage de l’accès aux objets d’un partage

L’accès aux objets d’un partage peut être bloqué soit par le rôle qui possède le partage, soit par le rôle qui possède les objets :

  • Si votre rôle possède le partage, vous pouvez bloquer l’accès en révoquant les privilèges sur les objets du partage.

  • Si votre rôle ne possède pas le partage, mais possède les objets dans le partage, vous pouvez bloquer l’accès en révoquant les privilèges USAGE ou SELECT avec CASCADE sur les objets du propriétaire du partage.

Note

La propriété d’un partage, ainsi que des objets dans le partage, peut se faire soit par une attribution directe au rôle, soit héritée d’un rôle de niveau inférieur dans la hiérarchie des rôles. Pour plus de détails, voir Hiérarchie des rôles et héritage des privilèges.

Il est possible pour le même rôle de posséder un partage et les objets dans le partage.

Consommateurs de données

Dans un compte de consommateur, le privilège IMPORT SHARE global permet de visualiser les partages entrants partagés avec le compte. Ce privilège permet également de créer des bases de données à partir de partages entrants si le rôle bénéficie également du privilège global CREATE DATABASE.

Privilège IMPORT SHARE

Si le privilège IMPORT SHARE est accordé à un rôle, n’importe quel utilisateur ayant le rôle peut effectuer les tâches suivantes :

  • Voir tous les partages INBOUND (partagés par les comptes des fournisseurs).

  • Voir tous les partages OUTBOUND possédés par le rôle.

  • Créer des bases de données à partir de partages entrants si le rôle bénéficie également du privilège global CREATE DATABASE.

Attribution du privilège à un autre rôle

Pour attribuer le privilège IMPORT SHARE global à un rôle non ACCOUNTADMIN dans un compte consommateur, utilisez le rôle ACCOUNTADMIN et la commande GRANT <privilèges>.

Par exemple, pour accorder le privilège au rôle SYSADMIN :

USE ROLE ACCOUNTADMIN;

GRANT IMPORT SHARE ON ACCOUNT TO SYSADMIN;
Copy