- Catégories :
Fonctions contextuelles (Objet de session)
CURRENT_SECONDARY_ROLES¶
Renvoie le nom des rôles secondaires utilisés pour la session en cours.
Pour activer un ensemble différent de rôles secondaires pour la session, exécutez la commande USE SECONDARY ROLES.
Syntaxe¶
CURRENT_SECONDARY_ROLES()
Arguments¶
Aucun.
Renvoie¶
Renvoie une chaîne (VARCHAR) qui est un objet encodé JSON contenant les paires nom/valeur suivantes :
roles
Contient une liste des rôles secondaires activés. Cette liste inclut uniquement les rôles qui sont directement accordés à l’utilisateur ; les rôles inférieurs dans la hiérarchie de ces rôles ne sont pas répertoriés.
value
Contient une liste des rôles secondaires demandés, soit ceux demandés avec la propriété
DEFAULT_SECONDARY_ROLES
de l’utilisateur actuel ou avec la commande USE SECONDARY ROLES.
Notes sur l’utilisation¶
L’octroi d’un accès sur une UDF sécurisée ou une vue sécurisée contenant CURRENT_SECONDARY_ROLES à un partage est autorisé. Lorsque la vue ou l’UDF sécurisée est accessible à partir du compte client de partage de données, CURRENT_SECONDARY_ROLES renvoie toujours une valeur NULL.
Exemples¶
L’utilisateur actuel a DEFAULT_SECONDARY_ROLES=('ALL')
. Les rôles personnalisés role1
, role2
et role3
sont accordés à l’utilisateur actuel et sont actifs en tant que rôles secondaires :
SELECT CURRENT_SECONDARY_ROLES();
+------------------------------------------------------+
| CURRENT_SECONDARY_ROLES() |
+------------------------------------------------------+
| {"roles":"ROLE1,ROLE2,ROLE3","value":"ALL"} |
+------------------------------------------------------+