Limitar la manipulación de datos de usuario sólo a través de la capa de aplicación para la solución de múltiples bases de datos

StackOverflow https://stackoverflow.com/questions/1537765

  •  20-09-2019
  •  | 
  •  

Pregunta

Estoy empezando el desarrollo de un nuevo software que debe ser compatible con SQL Server (2005 y superior), Oracle (10R2 y superior) y Sybase (12.5 y superior). Estoy pensando en la aplicación de la abstracción de base de datos utilizando procedimientos almacenados, así que puedo utilizar códigos de la aplicación de enfoques específicos de bases de datos más performáticas para cada caso. Tengo la intención de negar el acceso a toda la información de mesa, incluyendo lectura de datos, y permitir el acceso a la información sólo a través de procedimientos almacenados. El problema es que cuando me concedo el permiso de ejecución de un procedimiento almacenado que se utiliza para insertar, si el usuario se conecta a la base de datos a través de SSMS o SQL Plus, que va a ser capaz de añadir los datos mediante una llamada al procedimiento directamente, y me gustaría evitar eso. Me gustaría que la manipulación de datos a través de procedimientos almacenados sólo se ejecutará a través de mi solicitud. Podría dar nombres de usuario separados para mi aplicación y los usuarios, pero yo quiero tener la posibilidad de mi solicitud de conexión a la base de datos a través de la autenticación NT, utilizando la credencial del usuario. ¿Hay alguna forma de hacer esto?
¿Hay una mejor manera de lograr lo que estoy tratando de lograr?
Gracias

¿Fue útil?

Solución

Se puede incrustar un UUID en su aplicación y tener el procedimiento almacenado requiere antes de que se va a escribir los datos en la base de datos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top