CREATE ROLE

Créez un nouveau rôle ou remplacez un rôle existant dans le système.

Après avoir créé les rôles, vous pouvez accorder des privilèges d’objet au rôle, puis accorder le rôle à d’autres rôles ou à des utilisateurs spécifiques afin d’activer la sécurité du contrôle d’accès aux objets dans le système.

Cette commande prend en charge les variantes suivantes :

Voir aussi :

GRANT <privilèges>, GRANT ROLE , GRANT OWNERSHIP , DROP ROLE , ALTER ROLE , SHOW ROLES

CREATE OR ALTER <objet>

Syntaxe

CREATE [ OR REPLACE ] ROLE [ IF NOT EXISTS ] <name>
  [ COMMENT = '<string_literal>' ]
  [ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
Copy

Syntaxe des variantes

CREATE OR ALTER ROLE

Crée un nouveau rôle s’il n’existe pas encore ou modifie un rôle existant en rôle défini dans l’instruction. Une instruction CREATE OR ALTER ROLE suit les règles syntaxiques d’une instruction CREATE ROLE et présente les mêmes limitations qu’une instruction ALTER ROLE.

CREATE OR ALTER ROLE <name>
  [ COMMENT = '<string_literal>' ]
Copy

Pour plus d’informations, voir Notes sur l’utilisation de CREATE OR ALTER ROLE.

Paramètres requis

name

Identificateur du rôle ; doit être unique pour votre compte.

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.

Pour plus de détails, voir Exigences relatives à l’identificateur.

Paramètres facultatifs

COMMENT = 'string_literal'

Spécifie un commentaire pour le rôle.

Par défaut : aucune valeur

TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )

Spécifie le nom de la balise et la valeur de la chaîne de la balise.

La valeur de la balise est toujours une chaîne de caractères et le nombre maximum de caractères pour la valeur de la balise est 256.

Pour plus d’informations sur la spécification des balises dans une instruction, voir Quotas de balises pour les objets et les colonnes.

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

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

CREATE ROLE

Compte

Only the USERADMIN role, or a higher role, has this privilege by default. The privilege can be granted to additional roles as needed.

OWNERSHIP

Rôle de la base de données

Obligatoire pour exécuter une instruction CREATE OR ALTER ROLE pour un rôle existant.

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

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 générales sur l’utilisation

  • Concernant les métadonnées :

    Attention

    Les clients doivent s’assurer qu’aucune donnée personnelle (autre que pour un objet utilisateur), donnée sensible, donnée à exportation contrôlée ou autre donnée réglementée n’est saisie comme métadonnée lors de l’utilisation du service Snowflake. Pour plus d’informations, voir Champs de métadonnées dans Snowflake.

  • Les instructions CREATE OR REPLACE <objet> sont atomiques. En d’autres termes, lorsqu’un objet est remplacé, l’ancien objet est supprimé et le nouvel objet est créé dans une seule transaction.

Notes sur l’utilisation de CREATE OR ALTER ROLE

  • Toutes les limitations de la commande ALTER ROLE s’appliquent.

  • La définition ou l’annulation de la définition d’une balise n’est pas prise en charge ; toutefois, les balises existantes ne sont pas modifiées par une instruction CREATE OR ALTER ROLE et restent inchangées.

Exemples

CREATE ROLE myrole;
Copy