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>
}
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
ouWAREHOUSE
.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 |
---|---|
|
Date et heure d’octroi de l’autorisation de l’appelant. |
|
Privilège avec lequel les exécutables détenus par |
|
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. |
|
Si l’autorisation de l’appelant a été accordée directement sur un objet spécifique, spécifie le nom de l’objet. |
|
Si Si |
|
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 : |
|
Si |
|
Si |
|
Type de propriétaire de l’exécutable auquel l’autorisation de l’appelant a été accordée. L’un des rôles suivants : |
|
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;
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;
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;