1.3. MANEJO DE CONTROL DE DATOS
1.3.1. Sistemas de seguridad de los DBMS
1.3.2. Seguridad en la conexión: Connect – Disconnect
1.3.3. Seguridad de los objetos: Grant – Revoke
1.3.4. Seguridad en la ejecución: Grant – Revoke
1.3.5. Ejercicios
Presentación Proyecto Trabajo Creativa Profesional Azul.pdf
Manejo Control De Datos
1. 1
MANEJO DE CONTROL DE DATOS
BASE DE DATOS I
S4L
GRUPO #4
MANEJO DE CONTROL DE DATOS
15/02/2016
Integrantes:
• JUAN MARTINEZ
• KIARA CEVALLOS
• DAVID SINALUISA
2. 2
MANEJO DE CONTROL DE DATOS
Contenido
SEGURIDAD..................................................................................................................3
METODO PARA EL CONTROL DE ACCESOS..........................................................4
ASPECTO RELATIVOS DE SEGURIDAD...................................................................4
ELEMENTOS QUE PUEDEN SER PROTEGIDOS......................................................5
SEGURIDAD DE LOS OBJETOS: GRANT – REVOKE..................................................6
Seguridad........................................................................................................................6
USAGE..........................................................................................................................6
SELECT......................................................................................................................6
INSERT .........................................................................................................................6
UPDATE........................................................................................................................6
DELETE .........................................................................................................................6
REFERENCES [........................................................................................................6
SEGURIDAD EN LA EJECUCION: GRANT - REVOKE................................................8
Seguridad en SQL...........................................................................................................8
Conclusión.................................................................................................................10
Referencias .......................................................................................................................10
6. 6
MANEJO DE CONTROL DE DATOS
SEGURIDAD DE LOS OBJETOS:GRANT – REVOKE
Seguridad
La ejecución de una operación en los datos de la base de datos por parte de un usuario
está supeditada a la posesión por parte del usuario de los privilegios necesarios para la
operación concreta ejecutada en el conjunto de datos específico.
En general, los privilegios se asignan del siguiente modo:
•Un usuario que crea una tabla o cualquier otro objeto de la base de datos es el propietario
y se le garantizan automáticamente todos los privilegios aplicables a dicho objeto, con la
posibilidad de darles también a otros usuarios dichos privilegios (privilegio de
concesión).
•Un usuario que tenga un privilegio y posea además sobre él el privilegio de concesión
puede asignarle tal privilegio a otro usuario y pasarle también el privilegio de concesión.
•Los privilegios los concede quien tiene el permiso (es decir el propietario del objeto y
quien tiene el privilegio de concesión) mediante la orden GRANT, y los revoca mediante
la orden REVOKE.
La sintaxis de la orden GRANT es la siguiente:
GRANT lista_privilegios ON objeto TO lista_usuarios [ WITH GRANT OPTION ]
Esto asigna al usuario los privilegios presentes en la lista_privilegios sobre el objeto
especificado.
Los privilegios asignables son los siguientes (con sus respectivas sintaxis):
USAGE
Privilegio para usar un dominio específico u otro objeto de la base de datos.
SELECT
Privilegio para acceder a todas las columnas de una tabla o de una vista.
INSERT [ (nombre_columna) ]
Si se especifica la opción nombre_columna, es el privilegio para incluir valores en la
columna indicada de una tabla o de una vista. Sin el nombre_columna es el privilegio
para añadir valores a todas las columnas, incluidas las que se añadirán a continuación.
UPDATE [ (nombre_columna) ]
Si se especifica la opción nombre_columna, se trata del privilegio para actualizar el valor
en la columna indicada de una tabla o de una vista. Si no, permite actualizar el valor de
todas las columnas, incluidas las que se añadirán a continuación.
DELETE
Privilegio para eliminar líneas de una tabla o de una vista.
REFERENCES [ (nombre_columna) ]
7. 7
MANEJO DE CONTROL DE DATOS
Si se especifica la opción nombre_columna, es el privilegio de referirse a la columna
indicada de una tabla o de una vista en la definición de un vínculo de integridad. Sin la
opción, concede dicho privilegio para todas las columnas, incluidas las que se añaden a
continuación.
El objeto al que se refiere el privilegio es generalmente una tabla o una vista. La sintaxis
para su especificación es en ese caso:
[TABLE] nombre_tabla
En el caso de otros objetos, sigue la sintaxis:
tipo_objeto nombre_objeto
Donde tipo_objeto puede ser DOMAIN, CHARACTER SET, COLLATION o
TRANSLATION (véase C.J. Date - "A Guide to The SQL Standard" para una explicación
de tales objetos).
En el caso de objetos que no sean tablas o vistas, el único privilegio aplicable es el de
USAGE.
La lista_usuarios es una lista de identificativos de usuarios o grupos de usuarios. Puede
usarse también la palabra clave PUBLIC, que indica todos los usuarios y los grupos
conocidos en el sistema.
Si está presente la opción [ WITH GRANT OPTION ], se asigna además el privilegio de
concesión, que permite a los usuarios transferir ulteriormente los privilegios que se les
han asignado.
Por ejemplo:
GRANT SELECT, INSERT, UPDATE (nombre) ON persona TO David WITH GRANT
OPTION
Le asigna al usuario David los privilegios de SELECT e INSERT sobre todas las
columnas de la tabla persona y el de UPDATE sobre la columna nombre de dicha tabla.
Se les garantiza, además, el privilegio de asignar estos permisos a otros usuarios.
Para quitarles los privilegios a los usuarios se usa REVOKE:
REVOKE [ GRANT OPTION FOR ] lista_privilegios ON objeto FROM lista_usuarios
{ RESTRIC | CASCADE }
lista_privilegios, objeto y lista_usuarios tienen el mismo significado que las
correspondientes opciones de GRANT. La opción GRANT OPTION FOR revoca el
privilegio de concesión. Si se especifica la cláusula RESTRICT, la orden REVOKE puede
fallar si el usuario al que se le han revocado los privilegios se los ha concedido
posteriormente a otros. Si está presente la cláusula CASCADE, la instrucción se
completará siempre con éxito y se revocarán también los privilegios de esos usuarios y
de todos aquellos a quienes a su vez se les han concedido (...y así hasta que no haya más
privilegios "abandonados", es decir concedidos sin que quien los ha concedido los posea
todavía). Se destruirán, además, los objetos de la base de datos construidos gracias a
dichos permisos.
8. 8
MANEJO DE CONTROL DE DATOS
SEGURIDAD EN LA EJECUCION:GRANT - REVOKE
Seguridad en SQL.
El mecanismo de vistas hace posible dividir conceptualmente la base de datos en
fragmentos con objeto de ocultar información. Sin embargo, no permite especificar las
operaciones que los usuarios autorizados pueden ejecutar con esos fragmentos. Esta
función la realizan las proposiciones GRANT (conceder) y REVOKE (revocar).
Para poder realizar cualquier operación en SQL, el usuario debe contar con la autorización
apropiada, en caso contrario la operación se rechazará con un mensaje de error.
Por ej. para ejecutar:
SELECT * FROM S;
El usuario debe tener autorización de selección sobre S.
Cuando se realiza la instalación de la base de datos parte del procedimiento implica la
designación de un usuario con privilegios específicos como administrador del sistema
(que se identificará, al igual que el resto de los usuarios, mediante un identificador de
usuario). Este usuario privilegiado recibe de manera automática una autorización
especial llamada SYSADM que confiere el derecho a realizar todas las operaciones del
sistema. Puede crear otros usuarios y conceder las autorizaciones.
La concesión de derechos se hace mediante la proposición GRANT.
GRANT <derecho> ON TABLE <nombre tabla/vista> TO <nombre de usuario>
Algunos ejemplos:
GRANT SELECT ON TABLE tabla1 TO usuario1
GRANT SELECT ON TABLE tabla1 TO public
9. 9
MANEJO DE CONTROL DE DATOS
GRANT SELECT, UPDATE (columna1, columna2,..) ON TABLE tabla1 TO usuario1,
usuario2,..
GRANT ALL ON TABLE tabla1 TO usuario1
En general, las autorizaciones aplicables a tablas son: Autorización SELECT
Seleccionar UPDATE Actualizar DELETE Eliminar INSERT Insertar ALTER Derecho
a ejecutar ALTER TABLE INDEX Derecho a ejecutar CREATE INDEX CONNECT
Conectarse a la Base de Datos RESOURCE Crear objetos ALL Todos los permisos
Especificando WITH GRANT OPTION en la proposición GRANT, es posible que dicho
usuario pueda ceder el permiso a otro usuario.
GRANT <derecho> ON TABLE <nombre tabla/vista> TO <nombre de usuario>
WITH GRANT OPTION
Para revocar las autorizaciones se utiliza la proposición REVOKE.
REVOKE <derecho> ON TABLE <nombre tabla/vista> FROM <nombre de usuario>
10. 10
MANEJO DE CONTROL DE DATOS
Conclusión
Un Lenguaje de Control de Datos (DCL por sus siglas en
inglés: Data Control Language) es un lenguaje proporcionado por el Sistema de Gestión
de Base de Datos que incluye una serie de comandos SQL que permiten al
administrador controlar el acceso a los datos contenidos en la Base de Datos.
Algunos ejemplos de comandos incluidos en el DCL son los siguientes:
GRANT: Permite dar permisos a uno o varios usuarios o roles para realizar
tareas determinadas.
REVOKE: Permite eliminar permisos que previamente se han concedido con
GRANT.
Referencias
www.manualesguebs.com
www.monografias.com
www.wikipedia.com
www.youtube.com
www.sqlinformes.com
www.aprendesq.com
www.codificacionfacil.com