De manera predeterminada, en SQL Server, el [public]rol tiene EXECUTEderechos sp_executesql.
Sin embargo, heredé un servidor de base de datos donde el DBA anterior revocó el EXECUTEderecho sp_executesql.
Como solución temporal, he estado otorgando EXECUTEderechos sp_executesqlsegún sea necesario (a través de un rol en la base de datos maestra). Pero esto está comenzando a ser un dolor de mantenimiento.
Si devuelvo EXECUTEal público, ¿hay alguna repercusión que deba tener en cuenta?
sql-server
security
permissions
AlexLostDba
fuente
fuente

sp_executesql. Asumir un requisito de SQL dinámico y luego deshabilitarlosp_executesqlpodría aumentar el riesgo, ya que al menos eso le permite parametrizar las consultas (a diferenciaEXEC)sp_executesqlno es la mitigación adecuada. La abrumadora mayoría de los errores de inyección SQL ocurren en el cliente cuando la declaración SQL se construye 'a mano' mediante la concatenación de piezas de SQL con variables de entrada y luego se ejecuta 'tal cual'. Para todos esos casos, lasp_executesqldesactivación no ayuda en nada.