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