GRANT ROLE¶
Affecte un rôle à un utilisateur ou à un autre rôle :
L’attribution d’un rôle à un autre rôle crée une relation « parent-enfant » entre les rôles (également appelée « hiérarchie des rôles »).
L’attribution d’un rôle à un utilisateur lui permet d’effectuer toutes les opérations autorisées par le rôle en question (via les privilèges d’accès accordés au rôle).
Pour plus de détails, voir Aperçu du contrôle d’accès.
- Voir aussi :
Syntaxe¶
GRANT ROLE <name> TO { ROLE <parent_role_name> | USER <user_name> }
Paramètres¶
name
Spécifie l’identificateur du rôle à accorder. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.
ROLE parent_role_name
Attribue le rôle au rôle spécifié.
USER user_name
Attribue le rôle à l’utilisateur spécifié.
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 |
Objet |
Remarques |
---|---|---|
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 ROLE analyst TO ROLE SYSADMIN;
GRANT ROLE analyst TO USER user1;