GRANT DATABASE ROLE

Affecte un rôle de base de données à un rôle de compte ou à un autre rôle de base de données.

Cette action crée une relation « parent-enfant » entre le rôle de base de données et le rôle auquel il est accordé (également appelé hiérarchie de rôles).

Notez que les rôles de base de données ne peuvent pas être accordés directement aux utilisateurs.

Pour plus de détails, voir Aperçu du contrôle d’accès.

Voir aussi :

REVOKE DATABASE ROLE

GRANT ROLE , REVOKE ROLE

GRANT <privilèges>

Syntaxe

GRANT DATABASE ROLE <name> TO ROLE <parent_role_name>
Copy

Paramètres

name

Spécifie l’identificateur (c’est-à-dire le nom) du rôle de la base de données ; il doit être unique dans la base de données dans laquelle le rôle est créé.

L’identificateur doit commencer par un caractère alphabétique et ne peut pas contenir d’espaces ou de caractères spéciaux à moins que toute la chaîne d’identificateur soit délimitée par des guillemets doubles (p. ex. "My object"). Les identificateurs entre guillemets doubles sont également sensibles à la casse.

Si l’identificateur n’est pas complet (sous la forme de db_name.database_role_name), la commande recherche le rôle de base de données dans la base de données actuelle de la session.

ROLE parent_role_name

Accorde le rôle au rôle de compte ou au rôle de base de données spécifié.

Un rôle de base de données peut être accordé soit à un rôle de compte, soit à un autre rôle de base de données dans la même base de données. Si le rôle parent est un rôle de base de données et que l’identificateur n’est pas entièrement qualifié (sous la forme db_name.database_role_name), la commande recherche le rôle de base de données dans la base de données actuelle pour la session.

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette commande SQL doit avoir les privilèges suivants définis au minimum ainsi :

Privilège ou rôle

Objet

Remarques

ACCOUNTADMIN

SNOWFLAKE.BUDGET_CREATOR

Un utilisateur ayant le rôle ACCOUNTADMIN peut accorder ce rôle de base de données à un rôle personnalisé.

OWNERSHIP

Rôle

Rôle qui est accordé à un utilisateur ou à un autre rôle.

Vous pouvez également utiliser un rôle avec le privilège global MANAGE GRANTS. Only the SECURITYADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

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.

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.

Notes sur l’utilisation

Les rôles définis par le système, y compris PUBLIC, ne doivent pas être attribués à d’autres rôles car la hiérarchie des rôles pour ces rôles est définie et gérée par Snowflake.

Exemples

GRANT DATABASE ROLE analyst TO ROLE SYSADMIN;
Copy