Privilèges d’exécution de code PSQL
Le code PSQL peut être exécuté dans l’un des modes suivants :
-
Avec des privilèges d’utilisateur appelant (privilèges
CURRENT_USER
) ; -
En définissant les privilèges de l’utilisateur (propriétaire de l’objet de métadonnées).
Les privilèges d’exécution du module PSQL sont spécifiés dans son en-tête dans la clause optionnelle SQL SECURITY
.Si l’option INVOKER
est sélectionnée, le module PSQL est exécuté avec les privilèges de l’utilisateur appelant.Si l’option DEFINER
est sélectionnée, le module PSQL est exécuté avec les privilèges de l’utilisateur définissant (propriétaire). Ces privilèges seront complétés par des privilèges accordés au module PSQL lui-même à l’aide de l’Instruction GRANT.Par défaut, les procédures, les fonctions sont exécutées avec les privilèges de l’utilisateur appelant, et les déclencheurs héritent des privilèges de sécurité spécifiés pour la table.
Les blocs PSQL anonymes (EXECUTE BLOCK
) sont toujours exécutés avec les privilèges de l’appelant.