¿Cómo garantizar la integridad referencial para proteger sus datos sql
Usted puede pensar que si se puede controlar quién ve, crea, modifica y elimina los datos en una tabla de SQL, que está bien protegido. En contra de la mayoría amenazas, que son. Un hacker bien informado, sin embargo, todavía se puede saquear la casa mediante el uso de un método indirecto.
Una base de datos relacional diseñada correctamente tiene integridad referencial, lo que significa que los datos en una tabla en la base de datos es consistente con los datos en todas las otras mesas. Para asegurar la integridad referencial, los diseñadores de bases de datos se aplican restricciones a las tablas que restringen los usuarios de datos pueden entrar en las mesas.
Pero aquí está el inconveniente de que la protección: Si usted tiene una base de datos con restricciones de integridad referencial, un usuario posiblemente puede crear una nueva tabla que utiliza una columna de una tabla confidencial como una clave externa. Esa columna sirve como un enlace a través del cual una persona, posiblemente, puede robar información confidencial. Vaya.
Digamos, por ejemplo, que usted es un famoso de la analista de Wall Street. Mucha gente cree en la veracidad de sus selecciones de valores, por lo que cada vez que usted recomienda una acción a sus suscriptores, mucha gente compra esa población, y su valor aumenta.
Usted mantiene su análisis en una base de datos, que contiene una tabla denominada CUATRO ESTRELLA. Sus principales recomendaciones para su próximo boletín se encuentran en esa tabla. Naturalmente, restringir el acceso a CUATRO ESTRELLA de manera que la palabra no se escapa a la opinión pública la inversión antes de que sus suscriptores de pago reciben el boletín de noticias.
Sigues siendo vulnerables, sin embargo, si alguien más puede crear una nueva tabla que utiliza el campo de nombre de archivo de CUATRO ESTRELLA como una clave externa, como se muestra en el ejemplo siguiente comando:
CREATE TABLE HOT_STOCKS (Stock PERSONAJE (30) REFERENCIAS FOUR_STAR) -
El hacker puede ahora tratar de insertar el nombre de todas las acciones en la Bolsa de Valores de Nueva York, American Stock Exchange y NASDAQ en la tabla. Esos insertos que tienen éxito dicen que el hacker que las existencias coinciden con los valores que usted nombre en la tabla de confidencial. No se necesita mucho tiempo para que el hacker para extraer toda la lista de acciones.
Usted puede protegerse de hacks como el que en el ejemplo anterior por ser muy cuidadoso acerca de entrar en declaraciones similares a lo siguiente:
Referencias GRANT (archivo) EN FOUR_STARTO SECRET_HACKER-
Es evidente que esto es una exageración. Usted nunca se conceda ningún tipo de acceso a una tabla de crítica a una persona indigna de confianza, ¿verdad? No si te diste cuenta de lo que estaba haciendo. Sin embargo, los hackers hoy en día no son sólo inteligente técnicamente. También son dueños de engañar a la gente a hacer lo que normalmente no harían. Rampa hasta plena alerta cada vez que un buen orador menciona nada relacionado a su información confidencial.
Evite la concesión de privilegios a las personas que puedan abusar de ellos. Es cierto que las personas no vienen con garantías impresos en sus frentes. Pero si no le preste su nuevo coche a una persona para un viaje largo, probablemente debería no le conceda la REFERENCIAS privilegio en una mesa importante, tampoco.
El ejemplo anterior ofrece una buena razón para mantener el control cuidadoso de la REFERENCIAS privilegio. Aquí hay otros dos razones por las que debe mantener el control cuidadoso de REFERENCIAS:
Si la otra persona especifica una restricción en POBLACIONES DE HOT mediante el uso de una RESTRINGEN opción y se intenta eliminar una fila de la tabla, el DBMS le dice que no se puede, porque hacerlo sería violar una restricción de integridad referencial.
Si desea utilizar el SOLTAR comando para destruir a su mesa, usted encuentra que usted debe conseguir que la otra persona SOLTAR su limitación (o su mesa) primero.
El resultado final: Habilitación de otra persona para especificar restricciones de integridad en su mesa no sólo introduce una potencial violación de la seguridad, pero también significa que el otro usuario se pone a veces en su camino.