Cómo proteger los datos con privilegios de usuario sql
Una gran amenaza para la integridad de los datos son los propios usuarios. Algunas personas no deben tener acceso a los datos y SQL le da ese control. Otros deben sólo han restringido el acceso a algunos de los datos, pero no hay acceso al resto. Algunos deben tener acceso ilimitado a todo en la base de datos. Usted necesita un sistema para la clasificación de los usuarios y para la asignación de privilegios de acceso a los usuarios en diferentes categorías.
El creador de un esquema especifica que se considera su propietario. Como propietario de un esquema, puede conceder privilegios de acceso a los usuarios que especifique. También puede revocar los privilegios que ya ha concedido. Un usuario debe pasar a un procedimiento de autenticación para probar su identidad antes de que pueda acceder a los archivos que usted autorice que lo utilice. Los detalles de este procedimiento dependen de la implementación.
SQL le da la capacidad de proteger a los siguientes objetos de base de datos:
Mesas
Columnas
Vistas
Dominios
Los conjuntos de caracteres
Colaciones
Traducciones
SQL soporta varios tipos diferentes de protección: ver, añadir, modificar, borrar, haciendo referencia, y usando bases de datos. También es compatible con protecciones asociadas con la ejecución de las rutinas externas.
Usted permite el acceso mediante el uso de la GRANT declaración y eliminar el acceso mediante el uso de la REVOCAR comunicado. Mediante el control de la utilización de la SELECT declaración, los controles de DCL que pueden ver un objeto de base de datos como una tabla, columna, o vista. El control de la INSERT declaración determina quién puede añadir nuevas filas en una tabla.
La restricción de la utilización de la ACTUALIZACIÓN comunicado a los usuarios autorizados le da un control de quién puede modificar la tabla rows- restringir el BORRAR controles de los estados que pueden eliminar filas de la tabla.
Si una tabla en una base de datos contiene como una clave externa de una columna que es una clave primaria en otra tabla en la base de datos, puede agregar una restricción a la primera mesa para que haga referencia la segunda tabla. Cuando una tabla hace referencia a otro, un usuario de la primera mesa puede ser capaz de deducir información sobre el contenido de la segunda.
Como propietario de la segunda tabla, es posible que desee evitar tal espionaje. los REFERENCIAS DE SUBVENCIÓN declaración le da ese poder. Mediante el uso de la USO DE SUBVENCIÓN declaración, usted puede controlar quién puede utilizar - o incluso ver - el contenido de un dominio, el conjunto de caracteres, el cotejo, o la traducción.
Operación Protección | Declaración |
---|---|
Permitir al usuario ver una tabla | GRANT SELECT |
Prevenir usuario vea una tabla | REVOKE SELECT |
Permitir al usuario añadir filas a una tabla | GRANT INSERT |
Prevenir usuario agregue filas a una tabla | REVOKE INSERT |
Permitir al usuario cambiar los datos en filas de la tabla | CONCESIÓN DE ACTUALIZACIÓN |
Prevenir usuario cambie los datos en filas de la tabla | REVOKE ACTUALIZACIÓN |
Permitir al usuario eliminar filas de la tabla | GRANT BORRAR |
Prevenir usuario elimine filas de la tabla | REVOKE DELETE |
Permitir al usuario para hacer referencia a una tabla | REFERENCIAS DE SUBVENCIÓN |
Prevenir usuario hace referencia a una tabla | REVOCAR Referencias |
Permitir al usuario utilizar un dominio, el conjunto de caracteres, traducción, orcollation | USO DE SUBVENCIÓN DE DOMINIO, USO GRANT ONCHARACTER SET, Grant USO DE COTEJO, Grant ONTRANSLATION USO |
Prevenir usuario de usar un dominio, el conjunto de caracteres, el cotejo, ortranslation | REVOCAR USO DE DOMINIO, REVOCAR USO EN CHARACTER SET, REVOCAR USO DE COTEJO, REVOCAR USO EN TRADUCCIÓN |
Usted puede dar diferentes niveles de acceso a diferentes personas, dependiendo de sus necesidades. Los siguientes comandos ofrecen algunos ejemplos de esta capacidad:
GRANT selecton CUSTOMERTO SALES_MANAGER-
El ejemplo anterior permite a una persona - el gerente de ventas - para ver la tabla CLIENTE.
El siguiente ejemplo permite a cualquier persona con acceso al sistema para ver la lista de precios al por menor:
GRANT selecton RETAIL_PRICE_LISTTO público-
El siguiente ejemplo permite que el gerente de ventas para modificar la lista de precios al por menor. Ella puede cambiar el contenido de las filas existentes, pero no puede añadir o eliminar filas:
GRANT UPDATEON RETAIL_PRICE_LISTTO SALES_MANAGER-
El siguiente ejemplo permite que el gerente de ventas para agregar nuevas filas a la lista de precios al por menor:
GRANT INSERTON RETAIL_PRICE_LISTTO SALES_MANAGER-
Ahora, gracias a este último ejemplo, el gerente de ventas se pueden eliminar filas no deseadas de la tabla, también:
VENTAS RETAIL_PRICE_LISTTO GRANT DELETEON Manager-