- Catégories :
Fonctions système (Informations système)
EXPLAIN_GRANTABLE_PRIVILEGES¶
Renvoie une chaîne JSON représentant tous les privilèges pouvant être accordés pour chaque type d’objet dans Snowflake. Cette fonction fournit des informations complètes sur les privilèges qui peuvent être accordés à différents types d’objets, y compris les types d’octrois disponibles pour chaque privilège.
- Voir aussi :
Syntaxe¶
Arguments¶
Tous les arguments sont facultatifs et utilisent la syntaxe des paramètres nommés :
grantee => 'grantee_type'Filtrez les résultats par type de bénéficiaire. Valeurs valides :
ROLEAPPLICATION
Par défaut :
ROLELe type de bénéficiaire détermine les privilèges disponibles. Par exemple, les applications ne peuvent pas disposer de la propriété individuelle des objets.
object_type => 'object_type_name'Filtrez les résultats vers un seul type d’objet. Accepte la forme singulière du nom du type d’objet (par exemple,
'DATABASE','TABLE','SCHEMA'). Le texte est insensible à la casse.grant_type => 'grant_type_name'Filtrez les résultats vers des privilèges qui prennent en charge un type d’octroi spécifique. Valeurs valides :
'INDIVIDUAL'— Attributions sur des objets individuels. Voir GRANT <privilèges> … TO ROLE.'ALL'— Attributions globales sur tous les objets actuels (par exemple,GRANT ... ON ALL TABLES IN SCHEMA). Voir GRANT <privilèges> … TO ROLE.'FUTURE'— Attributions globales sur des objets futurs (par exemple,GRANT ... ON FUTURE TABLES IN SCHEMA). Voir Futures autorisations sur des objets de base de données ou de schéma.'INHERITED'— Attributions globales sur les objets actuels et futurs d’un conteneur (comprendALLetFUTURE). Voir GRANT <privilèges> … TO ROLE.'CALLER'—Attributions de l’appelant sur des objets individuels. Voir GRANT CALLER.'INHERITED_CALLER'— Attributions globales de l’appelant sur tous les objets actuels et futurs d’un conteneur (par exemple,GRANT INHERITED CALLER ... ON ALL TABLES IN SCHEMA). Voir GRANT CALLER.
Le texte est insensible à la casse.
Renvoie¶
La fonction renvoie une valeur VARCHAR contenant un tableau JSON. Chaque élément du tableau est un objet JSON qui représente un type d’objet et qui possède la structure suivante :
Champs JSON :
parent— Le type d’objet parent dans la hiérarchie des objets (par exemple, SCHEMA est le parent de TABLE). La chaîne est vide pour les objets de niveau supérieur comme ACCOUNT.singular— La forme singulière du nom du type d’objet (par exemple, DATABASE). Utilisé pour les autorisations individuelles.plural— La forme plurielle du nom du type d’objet (par exemple, DATABASES). Utilisé pour les autorisations globales.privileges— Une carte où chaque clé est un nom de privilège et chaque valeur est un tableau de noms de types d’octroi indiquant comment ce privilège peut être accordé.
Notes sur l’utilisation¶
Tous les arguments doivent être des expressions constantes. Vous ne pouvez pas transmettre de valeurs de colonnes ni d’autres expressions non constantes.
Si aucun argument n’est fourni, la fonction renvoie tous les privilèges pouvant être accordés pour les rôles dans tous les types d’objets.
Exemples¶
Les exemples suivants appellent la fonction EXPLAIN_GRANTABLE_PRIVILEGES :
Obtenir tous les privilèges pouvant être accordés pour les rôles¶
Renvoyer tous les types d’objets et leurs privilèges pouvant être accordés pour les rôles :
Obtenir des privilèges pour un type d’objet spécifique¶
Renvoyer uniquement les privilèges pour le type d’objet 'DATABASE' :
Exemple de sortie :
Filtrer par type de bénéficiaire¶
Renvoyer les privilèges disponibles pour les applications :
Les applications ne peuvent pas avoir de propriété individuelle, de sorte que OWNERSHIP affiche uniquement les types d’octroi tels que 'ALL', 'FUTURE' et 'INHERITED'.