CREATE APPLICATION ROLE¶
Crée un nouveau rôle d’application ou remplace un rôle d’application existant. Les rôles d’application permettent d’activer la sécurité du contrôle d’accès pour les objets au sein d’un objet d’application.
Voir À propos des rôles d’applications pour plus d’informations.
Note
Les rôles d’application ne sont valables que dans le contexte d’un objet d’application.
Lors de la création d’un rôle d’application, vous pouvez accorder des privilèges sur des objets au rôle d’application. Dans le script de configuration, vous pouvez ensuite accorder le rôle d’application à d’autres rôles d’application.
Après avoir installé une Snowflake Native App, les consommateurs peuvent attribuer des rôles d’application à des rôles de compte pour permettre l’accès à l’application.
Avec les rôles d’application, vous pouvez accorder des privilèges à d’autres objets de l’application ou sur des objets appartenant à l’application dans le compte consommateur.
Les rôles d’application sont implicitement accordés au propriétaire de l’application WITH GRANT OPTION. Le propriétaire de l’application peut attribuer ces rôles à des comptes, ce qui donne accès aux objets appartenant à l’application.
En outre, cette commande prend en charge les variantes suivantes :
CREATE OR ALTER APPLICATION ROLE : crée un nouveau rôle d’application s’il n’existe pas ou modifie un rôle d’application existant.
- Voir aussi :
ALTER APPLICATION ROLE, GRANT APPLICATION ROLE, REVOKE APPLICATION ROLE, SHOW APPLICATION ROLES, CREATE OR ALTER <objet>
Syntaxe¶
CREATE [ OR REPLACE ] APPLICATION ROLE [ IF NOT EXISTS ] <name>
[ COMMENT = '<string_literal>' ]
Syntaxe des variantes¶
CREATE OR ALTER APPLICATION ROLE¶
Crée un nouveau rôle d’application s’il n’existe pas encore ou transforme un rôle d’application existant en un rôle défini dans l’instruction. Une instruction CREATE OR ALTER APPLICATIONROLE suit les règles syntaxiques d’une instruction CREATE APPLICATIONROLE et présente les mêmes limitations qu’une instruction ALTER APPLICATION ROLE.
CREATE OR ALTER APPLICATION ROLE <name>
[ COMMENT = '<string_literal>' ]
Pour plus d’informations, voir Notes sur l’utilisation de CREATE OR ALTER APPLICATIONROLE.
Paramètres requis¶
name
Spécifie l’identificateur pour le rôle d’application. Cette valeur doit être unique dans l’objet d’application dans lequel 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
application_name.application_role_name
, la commande crée le rôle d’application dans l’application actuelle de la session.Pour plus de détails, voir Exigences relatives à l’identificateur.
Paramètres facultatifs¶
COMMENT = 'string_literal'
Spécifie un commentaire pour le rôle d’application.
Par défaut : aucune valeur
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 |
---|---|---|
OWNERSHIP |
Rôle de l’application |
Obligatoire pour exécuter une instruction CREATE OR ALTER APPLICATION ROLE pour un rôle d’application 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¶
Le nombre maximal de rôles d’application pouvant être créés dans un objet d’application est 1 000.
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 APPLICATIONROLE¶
Toutes les limitations de la commande ALTER APPLICATION 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 ALTERAPPLICATIONROLE et restent inchangées.
Exemples¶
CREATE APPLICATION ROLE app_role
COMMENT = 'Application role for the Hello Snowflake application.';