Attribution de privilèges à d’autres rôles

Snowflake fournit un ensemble de privilèges pour Snowflake Data Marketplace ou un Data Exchange.

Ces privilèges peuvent être accordés à d’autres rôles (définis par le système ou personnalisés). Ensuite, les utilisateurs avec le rôle peuvent effectuer certaines tâches dans Snowflake Data Marketplace ou un Data Exchange.

Dans ce chapitre :

Accord de privilèges d’administrateur dans un Data Exchange

Par défaut, seul un administrateur de compte (c’est-à-dire l’utilisateur ayant le rôle ACCOUNTADMIN) dans le compte d’administrateur Data Exchange peut gérer un Data Exchange qui comprend les tâches suivantes :

  • Ajouter/supprimer des membres

  • Approuver/refuser les demandes d’approbation des listes

  • Approuver/refuser les demandes d’approbation de profil de fournisseur

  • Afficher les catégories

Pour prendre en charge la délégation de ces tâches à d’autres utilisateurs, le privilège IMPORTED PRIVILEGES peut être accordé sur un Data Exchange à d’autres rôles (définis par le système ou personnalisés).

Attribution du privilège IMPORTED PRIVILEGES à d’autres rôles

Pour accorder le privilège IMPORTED PRIVILEGES sur un Data Exchange à un rôle, utilisez le rôle ACCOUNTADMIN et la commande GRANT GRANT <privileges> … TO ROLE .

Note

Le paramètre WITH GRANT OPTION ne prend pas en charge le privilège IMPORTED PRIVILEGES.

Syntaxe :

grant imported privileges on data exchange <exchange_name> to <role_name>;

Où :

  • <nom_échange> est le nom d’un Data Exchange.

  • <nom_rôle> est le rôle auquel le privilège est accordé.

Par exemple, accorder des privilèges d’importation sur le Data Exchange mydataexchange au rôle SYSADMIN :

use role accountadmin;

grant imported privileges on data exchange mydataexchange to sysadmin;

Notes sur l’utilisation

  • Ce privilège est accordé au niveau du Data Exchange ; par conséquent, il permet d’effectuer les tâches administratives uniquement pour le Data Exchange sur lequel il a été accordé.

  • Seul un administrateur de compte dans le compte de l’administrateur Data Exchange peut accorder le privilège à un autre rôle.

  • Lorsqu’un rôle a reçu IMPORTED PRIVILEGES sur une base de données créée à partir d’un partage, les appels ultérieurs à la commande SHOW GRANTS listent le privilège comme USAGE et non IMPORTED PRIVILEGES.

  • Ce privilège est destiné à un Data Exchange. Dans Snowflake Data Marketplace, seuls des administrateurs Snowflake peuvent effectuer des tâches administratives.

Accord de privilèges de fournisseur pour d’autres rôles sur Snowflake Marketplace ou un Data Exchange

Snowflake fournit un ensemble de privilèges de compte, de profil de fournisseur et au niveau de la liste pour l’exécution de tâches disponibles aux fournisseurs de données sur Snowflake Data Marketplace ou un Data Exchange.

Ces privilèges peuvent être accordés à d’autres rôles, ce qui permet de déléguer les tâches à d’autres utilisateurs.

Privilège

Type d’objet

Peut être accordé par

Description

Privilège CREATE DATA EXCHANGE LISTING global (dans cette rubrique)

ACCOUNT

ACCOUNTADMIN

Permet de créer une liste ou un profil de fournisseur.

Privilège CREATE SHARE (dans cette rubrique)

ACCOUNT

ACCOUNTADMIN

Permet de créer un partage.

Privilège IMPORT SHARE (dans cette rubrique)

ACCOUNT

ACCOUNTADMIN

Donne la possibilité de visualiser un partage entrant partagé avec le compte et de créer une base de données à partir de ce partage.

Privilège MODIFY sur une liste (dans cette rubrique)

LISTING

Propriétaire de la liste

Permet de modifier les propriétés de la liste.

Privilège USAGE sur un élément de liste (dans cette rubrique)

LISTING

Propriétaire de la liste

Permet d’afficher (c’est-à-dire de voir) une liste.

Privilège OWNERSHIP sur un élément de liste (dans cette rubrique)

LISTING

Propriétaire de la liste

Permet de transférer la propriété OWNERSHIP d’une liste.

Privilège MODIFY sur un profil de fournisseur (dans cette rubrique)

PROVIDER PROFILE

Propriétaire du profil

Permet de modifier les propriétés pour un profil de fournisseur.

Privilège OWNERSHIP sur un profil de fournisseur (dans cette rubrique)

PROVIDER PROFILE

Propriétaire du profil

Transfert la propriété OWNERSHIP d’un profil de fournisseur.

Privilèges au niveau du compte

Snowflake fournit les privilèges suivants pour travailler avec des partages, des listes de données et des profils de fournisseurs au niveau du compte dans Snowflake Data Marketplace ou un Data Exchange :

Privilège CREATE DATA EXCHANGE LISTING global

Si le privilège CREATE DATA EXCHANGE LISTING est accordé à un rôle, n’importe quel utilisateur ayant le rôle peut créer une liste ou un profil de fournisseur. En tant que créateur et, par conséquent, propriétaire de la liste, le rôle peut être utilisé pour exécuter toutes les tâches sur la liste, y compris :

  • Créer des listes

  • Modifier les propriétés des listes

  • Afficher les listes

  • Afficher les demandes d’accès à la liste entrantes

  • Rejeter les demandes de listes

  • Soumettre des listes pour approbation/publication des listes

  • Créer et afficher des profils de fournisseur

Si un compte est un fournisseur dans plusieurs Data Exchange, un rôle avec le privilège global CREATE DATA EXCHANGE LISTING peut créer des listes dans chacun de ces Data Exchange.

Note

  • Un rôle qui crée une liste devient le propriétaire de la liste. Le privilège OWNERSHIP peut être transféré à l’aide de Privilège OWNERSHIP sur un élément de liste vers un autre rôle par le rôle propriétaire.

  • Seuls les administrateurs de compte (utilisateurs dotés du rôle ACCOUNTADMIN) peuvent accorder le privilège global CREATE DATA EXCHANGE LISTING à un rôle.

Pour accorder le privilège global CREATE DATA EXCHANGE LISTING à un rôle dans un Data Exchange, utilisez la commande GRANT <privileges> … TO ROLE [WITH GRANT OPTION].

Par exemple :

use role accountadmin;

-- grant the privilege to the SYSADMIN role
grant create data exchange listing on account to role sysadmin;

-- grant the privilege to the SYSADMIN role with grant option
grant create data exchange listing on account to sysadmin with grant option;

Privilège CREATE SHARE

Si le privilège CREATE SHARE est accordé à un rôle, n’importe quel utilisateur ayant le rôle peut créer un partage. En tant que créateur et, par conséquent, propriétaire du partage, le rôle peut également être utilisé pour exécuter toutes les tâches sur le partage, y compris :

  • Octroyer ou révoquer des privilèges sur les objets de/vers le partage.

  • Ajouter ou supprimer des comptes de consommateur de/vers le partage.

Pour plus d’informations, voir Privilège CREATE SHARE.

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 des comptes de fournisseur) et créer des bases de données pour les partages.

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

Pour plus d’informations, voir Privilège IMPORT SHARE.

Privilèges au niveau de la liste

Snowflake fournit les privilèges suivants pour les éléments de listes de données. Ces privilèges peuvent être accordés par un propriétaire d’élément de liste (un utilisateur ayant le privilège OWNERSHIP) dans Snowflake Data Marketplace ou un Data Exchange.

Privilège MODIFY sur une liste

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

  • Modifier les propriétés des listes

  • Afficher une liste

  • Afficher les demandes d’accès à la liste entrantes

  • Soumettre les listes pour approbation/publication de listes

  • Rejeter les demandes de listes

Seul le rôle OWNER de l’élément de liste peut accorder ce privilège. Le privilège MODIFY ne peut être accordé que sur un élément de liste dans la nouvelle interface Web Snowflake.

Pour accorder le privilège MODIFY sur un élément de liste dans Snowflake Data Marketplace :

  1. Connectez-vous à l’interface Web de Snowflake.

  2. Accédez à Data » Manage » Snowflake Data Marketplace » Listings.

  3. Cliquez sur le titre de l’élément de liste.

  4. Dans la page des détails de l’élément de liste, cliquez sur l’onglet Settings.

  5. Dans la section Privileges, cliquez sur l’icône en forme de crayon en regard du privilège Modify Listing.

  6. Cliquez sur le bouton Add Role et ajoutez les rôles requis.

  7. Cliquez sur Save.

Pour accorder le privilège MODIFY sur un élément de liste dans un échange de données :

  1. Connectez-vous à l’interface Web de Snowflake.

  2. Accédez à Data » Shared Data » Shared By My Account.

  3. Cliquez sur le titre de l’élément de liste.

  4. Dans la page des détails de l’élément de liste, cliquez sur l’onglet Settings.

  5. Dans la section Privileges, cliquez sur l’icône en forme de crayon en regard du privilège Modify Listing.

  6. Cliquez sur le bouton Add Role et ajoutez les rôles requis.

  7. Cliquez sur Save.

Privilège USAGE sur un élément de liste

Si le privilège USAGE sur une liste est accordé à un rôle, tout utilisateur avec le rôle peut afficher (c’est-à-dire voir) les listes et les demandes de listes entrantes. Seul le rôle OWNER de la liste peut accorder ce privilège.

Actuellement, le privilège USAGE ne peut être accordé que sur un élément de liste dans la nouvelle interface Web Snowflake.

Pour accorder le privilège USAGE sur un élément de liste dans Snowflake Data Marketplace :

  1. Connectez-vous à l’interface Web de Snowflake.

  2. Accédez à Data » Manage » Snowflake Data Marketplace » Listings.

  3. Cliquez sur le titre de l’élément de liste.

  4. Dans la page des détails de l’élément de liste, cliquez sur l’onglet Settings.

  5. Dans la section Privileges cliquez sur l’icône en forme de crayon en regard du privilège View Listing.

  6. Cliquez sur le bouton Add Role et ajoutez les rôles requis.

  7. Cliquez sur Save.

Pour accorder le privilège USAGE sur un élément de liste dans un échange de données :

  1. Connectez-vous à l’interface Web de Snowflake.

  2. Accédez à Data » Shared Data » Shared By My Account.

  3. Cliquez sur le titre de l’élément de liste.

  4. Dans la page des détails de l’élément de liste, cliquez sur l’onglet Settings.

  5. Dans la section Privileges cliquez sur l’icône en forme de crayon en regard du privilège View Listing.

  6. Cliquez sur le bouton Add Role et ajoutez les rôles requis.

  7. Cliquez sur Save.

Privilège OWNERSHIP sur un élément de liste

Si le privilège OWNERSHIP sur une liste est accordé à un rôle, ce rôle devient le nouveau OWNER (propriétaire) de la liste. Seul le rôle OWNER de la liste peut accorder ce privilège. OWNERSHIP est un type de privilège spécial qui ne peut être accordé que d’un rôle à un autre ; il ne peut être révoqué. Pour plus de détails, voir Contrôle d’accès dans Snowflake.

Important

Lorsque la propriété de la liste est transférée, toutes les autorisations existantes sont révoquées. Tous les rôles auxquels des privilèges ont été accordés perdent immédiatement l’accès à cette liste et leurs privilèges sont révoqués. Le nouveau propriétaire de la liste doit ré-accorder ces privilèges.

Actuellement, le privilège OWNERSHIP ne peut être accordé que sur un élément de liste dans la nouvelle interface Web Snowflake.

Pour accorder le privilège OWNERSHIP sur un élément de liste dans Snowflake Data Marketplace :

  1. Connectez-vous à l’interface Web de Snowflake.

  2. Accédez à Data » Manage » Snowflake Data Marketplace » Listings.

  3. Cliquez sur le titre de l’élément de liste.

  4. Dans la page des détails de l’élément de liste, cliquez sur l’onglet Settings.

  5. Dans la section Privileges cliquez sur l’icône en forme de crayon en regard du privilège OWNERSHIP.

  6. Cliquez sur le bouton Add Role et ajoutez les rôles requis.

  7. Cliquez sur Save.

Pour accorder le privilège OWNERSHIP sur un élément de liste dans un échange de données :

  1. Connectez-vous à l’interface Web de Snowflake.

  2. Accédez à Data » Shared Data » Shared By My Account.

  3. Cliquez sur le titre de l’élément de liste.

  4. Dans la page des détails de l’élément de liste, cliquez sur l’onglet Settings.

  5. Dans la section Privileges cliquez sur l’icône en forme de crayon en regard du privilège OWNERSHIP.

  6. Cliquez sur le bouton Add Role et ajoutez les rôles requis.

  7. Cliquez sur Save.

Privilèges au niveau du profil de fournisseur

Snowflake fournit les privilèges suivants pour les profils de fournisseurs. Ces privilèges peuvent être accordés par le propriétaire du profil de fournisseur (un utilisateur ayant le privilège OWNERSHIP) dans Snowflake Data Marketplace ou un Data Exchange :

Note

  • Pour créer un profil, utilisez le privilège global Privilège CREATE DATA EXCHANGE LISTING global (dans ce document).

  • Tout rôle dans le compte de fournisseur peut voir tous les profils. Ce privilège n’a pas besoin d’être explicitement accordé.

Privilège MODIFY sur un profil de fournisseur

Si le privilège MODIFY est accordé à un rôle sur un profil de fournisseur, tout utilisateur possédant ce rôle peut consulter et modifier les propriétés du profil de fournisseur. Seul le rôle OWNER du profil de fournisseur peut accorder ce privilège.

Le privilège MODIFY peut être accordé via l’interface Web ou en utilisant SQL :

Interface Web

Dans la nouvelle interface Web Snowflake, cliquez sur Data » Manage » Provider Profile » View » Manage » Manage Profile Editors.

SQL

Exécutez la commande GRANT <privileges> … TO ROLE [WITH GRANT OPTION].

Par exemple :

-- grant the privilege to the SYSADMIN role
grant modify on data exchange profile "<provider_profile_name>" to role sysadmin;

Privilège OWNERSHIP sur un profil de fournisseur

Si le privilège OWNERSHIP sur un profil de fournisseur est accordé à un rôle, ce rôle devient le nouveau OWNER (propriétaire) du profil. Seul le rôle OWNER du profil de fournisseur peut accorder ce privilège. OWNERSHIP est un type de privilège spécial qui ne peut être accordé que d’un rôle à un autre ; il ne peut être révoqué. Pour plus de détails, voir Contrôle d’accès dans Snowflake.

Pour accorder le privilège OWNERSHIP sur un profil de fournisseur à un rôle, utilisez la commande GRANT <privileges> … TO ROLE [WITH GRANT OPTION]. Pour l’instant, ce privilège ne peut pas être accordé par le biais de la nouvelle interface Snowflake.

Par exemple :

-- grant the privilege to the SYSADMIN role
grant ownership on data exchange profile "<provider_profile_name>" to role sysadmin;