SHOW CALLER GRANTS

Répertorie les autorisations de l’appelant utilisés pour implémenter les droits restreints de l’appelant.

Syntaxe

SHOW CALLER GRANTS
{
{ ON <object_type> <object_name> | ON ACCOUNT }
| TO { ROLE | DATABASE ROLE }  <owner_name>
}
Copy

Paramètres

ON object_type object_name ou . ON ACCOUNT

Indique s’il faut répertorier les autorisations de l’appelant sur un objet spécifique ou répertorier toutes les autorisations de l’appelant pour le compte.

Utilisez la forme singulière de object_type, par exemple, TABLE ou WAREHOUSE.

TO ROLE <owner_name> ou . TO DATABASE ROLE <owner_name>

Spécifie le propriétaire d’un exécutable, ce qui permet de répertorier toutes les autorisations de l’appelant qui ont été accordées à ce propriétaire.

Sortie

La sortie de la commande comprend les colonnes suivantes, qui décrivent les propriétés et les métadonnées de l’objet :

Colonne

Description

created_on

Date et heure d’octroi de l’autorisation de l’appelant.

privilege

Privilège avec lequel les exécutables détenus par grantee_name peuvent s’exécuter.

granted_on

Type d’objet soumis à l’autorisation de l’appelant, qu’elle ait été accordée directement sur un objet ou sur tous les objets de ce type.

name

Si l’autorisation de l’appelant a été accordée directement sur un objet spécifique, spécifie le nom de l’objet.

is_inherited

Si TRUE, l’autorisation de l’appelant a été accordée à tous les objets d’un certain type à l’aide d’une instruction GRANT INHERITED CALLER ou GRANT ALL INHERITED CALLER PRIVILEGES.

Si FALSE, l’autorisation de l’appelant a été accordée directement sur l’objet name.

inherited_from

Si l’autorisation de l’appelant a été accordée à tous les objets d’un certain type à l’aide d’une instruction GRANT INHERITED CALLER ou GRANT ALL INHERITED CALLER PRIVILEGES, indique son niveau d’octroi. L’un des rôles suivants : ACCOUNT, DATABASE ou SCHEMA.

inherited_from_database

Si inherited_from est une base de données (y compris une application ou un paquet d’application), spécifie le nom de la base de données. Si inherited_from est un schéma, spécifie le nom de la base de données qui contient le schéma.

inherited_from_schema

Si inherited_from est un schéma, spécifie le nom du schéma.

granted_to

Type de propriétaire de l’exécutable auquel l’autorisation de l’appelant a été accordée. L’un des rôles suivants : ROLE ou DATABASE ROLE.

grantee_name

Nom de propriétaire de l’exécutable auquel l’autorisation de l’appelant a été accordée.

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

N’importe qui peut exécuter une commande SHOW CALLER GRANTS TO … pour répertorier les autorisations de l’appelant accordées au propriétaire d’un exécutable spécifique.

L’exécution d’une commande SHOW CALLER GRANTS ON … requiert le privilège suivant :

Privilège

Objet

Remarques

Tout privilège

Objet spécifié

Vous devez disposer d’au moins un privilège sur l’objet spécifié dans la commande SHOW CALLER GRANTS.

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

  • Lors de l’exécution d’une instruction SHOW CALLER GRANTS ON …, différentes lignes de la sortie peuvent indiquer différentes choses. Par exemple, une ligne peut indiquer qu’une autorisation de l’appelant a été accordée directement sur un objet, tandis qu’une autre ligne indique que l’objet a été spécifié avec une clause IN dans l’instruction GRANT. Pour plus d’informations, voir Répertorier les autorisations de l’appelant.

  • Lorsqu’un utilisateur exécute SHOW CALLER GRANTS, les résultats ne contiennent que les objets pour lesquels il dispose d’au moins un privilège. Pour plus d’informations, voir Sortie conditionnelle.

  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser la fonction RESULT_SCAN, qui traite la sortie comme une table qui peut être interrogée.

Exemples

Listez les autorisations accordées à l’appelant sur la table t1.

SHOW CALLER GRANTS ON TABLE t1;
Copy

Listez toutes les autorisations accordées à l’appelant pour le compte courant. Il s’agit notamment des autorisations accordées directement au compte (GRANT CALLER … ON ACCOUNT) et des autorisations accordées à tous les objets d’un compte (GRANT INHERITED CALLER … IN ACCOUNT).

SHOW CALLER GRANTS ON ACCOUNT;
Copy

Dressez la liste de toutes les autorisations accordées à l’appelant pour le rôle de base de données db.owner_role.

SHOW CALLER GRANTS TO DATABASE ROLE db.owner_role;
Copy