1.3.manejo de control de datos

16
INTEGRANTES: JUAN MARTINEZ KIARA CEVALLOS DAVID SINALUISA MANEJO DE CONTROL DE DATOS

Upload: sergio-perez

Post on 18-Feb-2017

106 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: 1.3.MANEJO DE CONTROL DE DATOS

INTEGRANTES:

• JUAN MARTINEZ

• KIARA CEVALLOS

• DAVID SINALUISA

MANEJO DE CONTROL DE DATOS

Page 2: 1.3.MANEJO DE CONTROL DE DATOS
Page 3: 1.3.MANEJO DE CONTROL DE DATOS
Page 4: 1.3.MANEJO DE CONTROL DE DATOS
Page 5: 1.3.MANEJO DE CONTROL DE DATOS
Page 6: 1.3.MANEJO DE CONTROL DE DATOS
Page 7: 1.3.MANEJO DE CONTROL DE DATOS
Page 8: 1.3.MANEJO DE CONTROL DE DATOS

Seguridad en la conexión: Connect – Disconnect

Estatuto CONNECT

Para que un procedimiento que accesa a una base de datos, corra debe contenerse a la base de datos referida esto se puede hacer desde el DATA DICTIONARY o bien mediante el estatuto CONECT desde un procedimiento. Para que el usuario se conecte a una o más bases de datos se deben usar el estatuto CONNECT. Las operaciones que se emplean para conectarse a una base de datos son las mismas que se usan en el diccionario de datos. Al conectarse a una base de datos se puede usar o no el nombre físico con el path completo. También se puede indicar un nombre lógico, sin embargo si no se indica el nombre lógico, PROGRESS le asigna uno usando el mismo nombre del archivo sin extensión o path. El nombre lógico es necesario para desconectarse de la base de datos. Sintaxis:

CONNECT ({physical-name} [options] options )

Page 9: 1.3.MANEJO DE CONTROL DE DATOS

Desconexión de una base de datos

Estatuto DISCONNECT

Para desconectarse de una o más bases de datos desde un procedimiento se usa el estatuto DISCONNECT Sintaxis: DISCONNECT {logical-name}

*Programa para conectar y desconectar bases de datos */ CONNECT ... \nom-bd. DISCONNECT nom-bd (LOGICO).

Page 10: 1.3.MANEJO DE CONTROL DE DATOS

SEGURIDAD DE LOS OBJETOS: GRANT - REVOKE

SEGURIDADLA 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.

Page 11: 1.3.MANEJO DE CONTROL DE DATOS

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.

Page 12: 1.3.MANEJO DE CONTROL DE DATOS

Los privilegios asignables son los siguientes (con sus respectivas sintaxis):• USAGEPrivilegio para usar un dominio específico u otro objeto de la base de datos.• SELECTPrivilegio 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.• DELETEPrivilegio para eliminar líneas de una tabla o de una vista.• REFERENCES [ (nombre_columna) ]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.

Page 13: 1.3.MANEJO DE CONTROL DE DATOS

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

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 }

Page 14: 1.3.MANEJO DE CONTROL DE DATOS

SEGURIDAD EN LA EJECUCION: GRANT - REVOKE

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 GRANT SELECT, UPDATE (columna1, columna2,..) ON TABLE tabla1 TO usuario1, usuario2,.. GRANT ALL ON TABLE tabla1 TO usuario1

Page 16: 1.3.MANEJO DE CONTROL DE DATOS

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>