Bonjour,
J'ai un user proprio d'une base qui possèdent des tables et des procédures sockées. Celles-ci doivent permettre l'écriture dans les tables aux applicatifs.
Donc un user applicatif n'a pas de droit INSERT ou UPDATE sur les tables puisqu'il appelle une procédure
Voilà ce que donne un SHOW GRANTS d'un user applicatif :
Ca marche très bien. Le user applicatif arrive à mettre à jour les tables par l'intermédiaire de la procédure. Or je lis dans la doc de MySQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 GRANT USAGE ON *.* TO ... GRANT EXECUTE ON `base`.* TO
Si je comprends bien, mon user applicatif ne devrait pas pouvoir mettre à jour la table puisqu'il n'a pas de droits sur la table impactée par la procédure.MySQL n'utilise pas le droit GRANT EXECUTE. Pour le moment, si une procédure p1() utilise la table t1, l'appelant doit avoir
les droits sur la table t1 afin que la procédure p1() puisse réussir.
Quelqu'un peut m'expliquer pourquoi ce qui se passe ?
Partager