Par défaut, dans SQL Server, le [public]
rôle a des EXECUTE
droits sur sp_executesql
.
Cependant, j'ai hérité d'un serveur de base de données sur lequel le DBA précédent a révoqué le EXECUTE
droit sp_executesql
.
Comme solution de contournement temporaire, j'ai accordé des EXECUTE
droits sp_executesql
selon les besoins (via un rôle dans la base de données principale). Mais cela commence à être une douleur d'entretien.
Si je EXECUTE
redonne au public, y a-t-il des répercussions dont je dois être conscient?
sql-server
security
permissions
AlexLostDba
la source
la source
sp_executesql
. En supposant une exigence SQL dynamique, la désactivationsp_executesql
pourrait en fait augmenter le risque car au moins cela vous permet de paramétrer les requêtes (contrairementEXEC
)sp_executesql
n'est pas l'atténuation appropriée. L'écrasante majorité des erreurs d'injection SQL se produisent dans le client lorsque l'instruction SQL est créée «à la main» en concaténant des morceaux de SQL avec des variables d'entrée, puis s'exécute «en l'état». Pour tous ces cas, lasp_executesql
désactivation n'aide en rien.