Ver Mensaje Individual
  #2  
Antiguo 22-06-2005
Avatar de kinobi
kinobi kinobi is offline
Miembro
 
Registrado: may 2003
Posts: 2.621
Reputación: 24
kinobi Va por buen camino
Hola,

Cita:
Empezado por TJose
Ahora ya cambió la cuestión, ya no se trata de que alguien acceda y copie la base a otro servidor, sino que cualquier usuario registrado en el servidor tiene acceso completo a los metadatos, aunque sea a modo de lectura.
El restringir el acceso a los metadatos complicaría seguramente muchas operaciones desde las aplicaciones clientes. No se me ocurre cómo realizar desde Delphi una conexión (independientemente del tipo de usuario que sea) desde la que se lanzara una consulta SQL (con un TQuery por ejemplo) del tipo: SELECT * FROM MiTabla, para después acceder a columnas concretas del conjunto resultado devuelto por el servidor a través de métodos como FieldByName('Columna'), sin tener acceso a los metadatos. El DataSet (TQuery en este caso) debe acceder a los metadatos en tiempo de ejecución para construir un conjunto de datos que coincida (estoy hablando de los dominios de las columnas) con los metadatos almacenados. Por no hablar de la creación de campos persistentes desde los DataSets en tiempo de diseño en modulos de datos y formularios, o el acceso a la definición de índices para ser fijados en tiempo de diseño y ejecución en un DataSet, o...

Es posible que se pudiese restringir parte del acceso a los metadatos, pero no completamente, ya que gran parte de los metadatos deben ser accesibles si no se quiere que la construcción de aplicaciones clientes que hagan uso de esa base de datos sea un infierno.

Cita:
Empezado por TJose
Ahora bien, hay algún método realmente efectivo para proteger la base de datos?.
Probablemente no, no al menos al nivel de que la base de datos se comporte como una caja negra al exterior, sin ofrecer ningún detalle de su implantación. Incluso el borrado del código fuente de triggers y procedimientos almacenados, al que haces referencia anteriormente, tiene puntos débiles, como que nada impide el acceso al código (semi)compilado (BLR) de los mismos y, a través de ingeniería inversa, poder reconstruir un código fuente bastante parecido al original.

Saludos.

Última edición por kinobi fecha: 22-06-2005 a las 17:54:28.
Responder Con Cita