Está en la página 1de 15

Contenido

Contenido

Control de Datos
Base de Datos I
Juan Jos Ramrez Lama
juaramir@ubiobio.cl
www.juaramir.com

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

Universidad del Bo-Bo

Basada en las clases de Monica Caniupan


Juan Jos Ramrez Lama (UBB)

Lenguaje de Control de Datos

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

2 / 58

Esquemas (SCHEME)
Los esquemas son importantes para agrupar objetos segn especificaciones, y al mantener organizado la base de datos permite un
mejor desempeo al momento de la administracin.
Si no se le asigna un esquema al objeto, postgres lo asignar implicitamente al esquema public.
Para definir que un objeto pertenezca a un esquema se pone el
nombre del esquema seguido por un punto . y el nombre del objeto, que puede ser una tabla, una secuencia, etc.
Ejemplo
CREATE SCHEMA Administrador ;

Caso Practico
Desarrollo

Juan Jos Ramrez Lama (UBB)

2015-1 - @juaramir

Lenguaje de Control de Datos

Contenido

Control de Datos

CREATE TABLE Administrador . Usuarios (


nick v a r c h a r ( 1 5 ) PRIMARY KEY,
nombre v a r c h a r ( 2 0 ) ,
apellido v a r c h a r ( 2 0 ) ,
password v a r c h a r ( 5 0 ) NOT NULL )
Control de Datos

2015-1 - @juaramir

3 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

4 / 58

Lenguaje de Control de Datos

Lenguaje de Control de Datos

Sentencias DCL

Control de Acceso

El Lenguaje de Control de Datos (Data Control Language DCL) es


utilizado para llevar a cabo la administracin de privilegios en los
objetos de la base de datos el cual ayuda a garantizar la accesibilidad y seguridad dentro de los objetos de la base de datos.
Una aplicacin de BD debe cumplir tres objetivos de seguridad:

Una poltica de seguridad describe las medidas que se deben


aplicar.
Un mecanismo de seguridad nos permite implantar una poltica
de seguridad.
El SGBD ofrece dos mecanismos de control de acceso:

Secreto: La informacin no se debe dar a conocer a usuarios no


autorizaos.
Integridad: Solo se debe permitir modificar los datos a los usuarios
autorizados.
Disponibilidad: No se debe impedir el acceso a los usuarios autorizados.

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

Control discrecional de acceso basado en privilegios.


Control obligatorio de acceso.

5 / 58

Juan Jos Ramrez Lama (UBB)

Lenguaje de Control de Datos

Lenguaje de Control de Datos

Privilegios

2015-1 - @juaramir

6 / 58

2015-1 - @juaramir

8 / 58

GRANT

Contenido

Se otorgan privilegios a los usuarios de tablas y vistas.

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

El creador de la tabla/vista obtiene automticamente todos los privilegios sobre la tabla/vista.


El SGBD mantiene un registro de quienes tienen privilegios sobre
objetos (y de quienes los pierden) y se asegura que solo los usuarios que tienen privilegios operen sobre los datos.
Las clusulas DCL que se usan para el control de accesos discrecional son:
GRANT: concede a los usuarios privilegios sobre tablas y vistas.
REVOKE: retira un privilegio de un objeto de la BD.

Juan Jos Ramrez Lama (UBB)

Control de Datos

Control de Datos

2015-1 - @juaramir

7 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

Lenguaje de Control de Datos

GRANT

Lenguaje de Control de Datos

GRANT

GRANT

Privilegios GRANT

GRANT privilegio ON objeto TO usuario [ WITH GRANT OPTION ]


privilegio: SELECT, INSERT, DELETE, . . .
objeto: es una tabla o vista.
[WITH GRANT OPTION]: el usuario puede transmitir a otro usuario los privilegios recibidos.
Solo los propietarios del esquema pueden ejecutar instrucciones
CREATE TABLE, ALTER TABLE y DROP
Tal derecho no se puede conceder ni revocar.

Los usuarios que crean vistas tienen los mismos privilegios que
tengan las tablas (vistas) empleadas para definir las vistas.

SELECT: tener acceso a todas las columnas de la tabla objetivo


(incluyendo aquellas aadidas va ALTER TABLE).
INSERT (nombre-columna): Puede insertar tuplas con valores no
nulos en la tabla sealada como objeto.
INSERT: puede insertar tuplas en todas las columnas de la tabla
sealada como objeto (lo mismo para UPDATE).
DELETE: derecho a eliminar tuplas.
REFERENCES (nombre-columna): el derecho a definir claves externas (de otras tablas) que hagan referencia a la columna especificada de la tabla objetivo.

Los privilegios se asignan a los identificadores de autorizaciones,


que pueden denotar a un solo usuario o a un grupo de usuarios.
Juan Jos Ramrez Lama (UBB)

Control de Datos

Lenguaje de Control de Datos

2015-1 - @juaramir

9 / 58

GRANT

Control de Datos

Lenguaje de Control de Datos

Ejemplo de GRANT

2015-1 - @juaramir

10 / 58

GRANT

Ejemplo de GRANT

El usuario Juan crea las tablas Barco, Reservas y Marineros.


Algunas ordenes que puede ejecutar Juan:
GRANT INSERT , DELETE ON Reservas TO Horacio WITH GRANT OPCION
GRANT SELECT ON Reservas TO Miguel
GRANT SELECT ON Marineros TO Miguel WITH GRANTOPTION
GRANT DELETE ON Barcos TO Maria WITH GRANT OPTION
GRANT UPDATE ( categoria ) ON Marineros TO Mario
GRANT REFERENCES ( idb ) ON Barcos TO Humberto

Juan Jos Ramrez Lama (UBB)

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

11 / 58

Miguel tiene el siguiente privilegio:


GRANT SELECT ON Marineros TO Miguel WITH GRANTOPCION
Miguel crea la vista:
CREATE VIEW MarinerosJovenes ( idm , edad , categoria ) AS SELECT M . idm , M . edad , M . categoria
FROM Marineros M
WHERE M . edad < 18
Miguiel puede otorgar privilegios sobre la vista.

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

12 / 58

Lenguaje de Control de Datos

REVOKE

Lenguaje de Control de Datos

Contenido

REVOQUE

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

REVOKE

REVOKE [GRANT OPTION FOR ] privilegios ON objeto FROM usuario { RESTRICT | CASCADE}
Esta orden se usa para revocar privilegios o solo la opcin GRANT
de los privilegios
Cuando se ejecuta CASCADE es efecto es la retirada de todos los
privilegios indicados a todos los usuarios que recibieron el privilegio va GRANT por el mismo usuario que ahora ejecuta REVOKE

Caso Practico
Desarrollo

Juan Jos Ramrez Lama (UBB)

Control de Datos

Lenguaje de Control de Datos

2015-1 - @juaramir

13 / 58

REVOKE

Control de Datos

Lenguaje de Control de Datos

Ejemplo de REVOKE

2015-1 - @juaramir

14 / 58

REVOKE

Ejemplo de REVOKE

Juan crea Marineros.

Consideremos las siguientes ordenes:

Consideremos las siguientes ordenes:


GRANT SELECT ON Marineros TO Arturo WITH GRANT OPTION ( e j e c u t a d a por Juan )
GRANT SELECT ON Marineros TO Borja WITH GRANT OPTION ( e j e c u t a d a por A r t u r o )
REVOKE SELECT ON Marineros FROM Arturo CASCADE ( e j e c u t a d a por Juan )
Consecuencias:
Arturo pierde el privilegio de SELECT sobre marineros.
Borja, que recibio ese privilegio de Arturo, y solo de el, tambien lo
pierde.

Juan Jos Ramrez Lama (UBB)

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

15 / 58

GRANT SELECT ON Marineros TO Arturo WITH GRANT OPTION ( e j e c u t a d a por Juan )


GRANT SELECT ON Marineros TO Borja WITH GRANT OPTION ( e j e c u t a d a por Juan )
GRANT SELECT ON Marineros TO Borja WITH GRANT OPTION ( e j e c u t a d a por A r t u r o )
REVOKE SELECT ON Marineros FROM Arturo CASCADE ( e j e c u t a d a por Juan )
Ahora pierde Borja sus privilegios?
Borja conserva el privilegio porque tambin lo haba recibido de
Juan.

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

16 / 58

Lenguaje de Control de Datos

REVOKE

Control Obligatorio de Acceso

Ejemplo de REVOKE

Contenido

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

Supongamos que Arturo recibi el siguiente privilegio:


GRANT SELECT ON Marineros TO Arturo WITH GRANT OPTION ( e j e c u t a d a por Juan )
La siguiente sentencia revoca solo el GRANT OPTION del privilegio:
REVOKE GRANT OPTION FOR SELECT ON Marineros FROM Arturo CASCADE ( e j e c u t a d a por Juan )

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

17 / 58

Control Obligatorio de Acceso

2015-1 - @juaramir

18 / 58

Modelo Bell-LaPadula

Los mecanismos de control discrecional de acceso son efectivos


pero tienen algunos puntos dbiles.
Son vulnerables a los esquemas tipo caballo de Troya, en los que
usuarios no autorizados con malas intenciones pueden engaar a
usuarios autorizados que entreguen datos delicados.
Los mecanismos de control obligatorio de acceso estn pensados para abordar estos puntos dbiles.
El modelo ms popular se denomina Bell-LaPadula.

Control de Datos

Control de Datos

Control Obligatorio de Acceso

Control Obligatorio de Acceso

Juan Jos Ramrez Lama (UBB)

Juan Jos Ramrez Lama (UBB)

2015-1 - @juaramir

19 / 58

Este modelo se describe en trminos de:


Objetos: tablas, vistas, filas, columnas.
Sujetos: usuarios, cuentas, programas.
Clase de seguridad: Mximo Secreto (MS), Secreto (S), Confidencial (C), No Clasificado (N), donde:
MS > S > C > N (datos ms delicados que otros).

Autorizaciones: cada objeto tiene una clase de seguridad y a cada sujeto se le concede autorizacin para una clase de seguridad.

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

20 / 58

Control Obligatorio de Acceso

Control Obligatorio de Acceso

Restricciones sobre Operaciones

Ejemplo Control Obligatorio de Acceso

El modelo impone 2 restricciones a todas las operaciones de lectura y


escritura:
Propiedad de Seguridad Simple: el sujeto S puede leer el objeto
O si:
clase(S) clase(O)
Ejemplo: Los usuarios con autorizacin MS pueden leer tablas con
autorizacin C, pero un usuario con autorizacin C no puede leer
objetos con clasificacin MS.

Propiedad *: Se permite que el sujeto S escriba el objeto O si:


clase(S) clase(O)
Ejemplo: Los usuarios con autorizacin S solo pueden escribir objetos con clasificacin S o MS (MS > S > C > N).
Esta restriccin impide que un sujeto escriba un objeto que se encuentre en una clasificacin de seguridad menor que el nivel del
sujeto.
La violacin de esta regla permitira que la informacin fluyese desde clasificaciones ms altas hacia las ms bajas, lo cual viola uno
de los principios bsicos de la seguridad multinivel.
Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

21 / 58

Seguridad de Aplicaciones en Internet

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

La tabla notas se puede clasificar S y Juan con autorizacin S para


la tabla.
Diego tiene autorizacin C (C < S) y solo puede crear objetos de
clasificacin C o inferior.
Se corre un programa de aplicacin con el nombre de Juan, el
programa dice que tiene clase S y copia las notas en una tabla
Copia que creo Diego con clase C.
El programa no cumplir su objetivo ya que no se cumple:
clase(Aplicacion) clase(Copia)

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

22 / 58

Seguridad de Aplicaciones en Internet

Contenido

El alumno Diego (usuario) quiere modificar la tabla de notas del


Profesor Juan.

Seguridad de Aplicaciones en Internet

Los mtodos de seguridad ms conocidos son:

Cifrado.
Servidores de Certificacin.
Firmas Digitales.

Caso Practico
Desarrollo

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

23 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

24 / 58

Seguridad de Aplicaciones en Internet

Cifrado

Seguridad de Aplicaciones en Internet

Contenido

Cifrado

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

Juan Jos Ramrez Lama (UBB)

Se aplica un algoritmo de cifrado a los datos mediante una Clave


de Cifrado especificada por el usuario o ABD.
El resultado del algoritmo es la versin cifrada de los datos.
Hay un Algoritmo de descifrado de los datos que toma los datos
y una clave de descifrado y devuelve los datos originales.
Cifrar(datos originales, clave cifrado) = datos cifrado
Descifrar(datos cifrados, clave de descifrado) = datos originales
Sin la clave para descifrar no es posible recuperar los datos originales.

Control de Datos

Seguridad de Aplicaciones en Internet

2015-1 - @juaramir

25 / 58

Juan Jos Ramrez Lama (UBB)

Cifrado

Control de Datos

Seguridad de Aplicaciones en Internet

Cifrado

2015-1 - @juaramir

26 / 58

2015-1 - @juaramir

28 / 58

Servidores de Certificacin

Contenido

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

Cifrado Simtrico:
Clave cifrado = Clave descifrado
Todos los usuarios autorizados conocen la clave.

Cifrado de clave pblica: Cada usuario autorizado tiene dos claves:


Clave de cifrado pblica: conocida por todos los usuarios.
Clave de descifrado privada: conocida solamente por un usuario.

Juan Jos Ramrez Lama (UBB)

Cifrado

Control de Datos

2015-1 - @juaramir

27 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

Seguridad de Aplicaciones en Internet

Servidores de Certificacin

Seguridad de Aplicaciones en Internet

Servidores de Certificacin

Contenido

El protocolo SSL (URL con https)


Ejemplo: Samuel enva un pedido a amazon.com cifrado con la
clave pblica de Amazon.
Samuel debe averiguar la clave pblica de Amazon.
Varias compaas actan de autoridades de certificacin, ej. Verisign.
Amazon genera la clave pblica Ca y la enva a Verisign.
Verisign emite un certificado para Amazon:

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

{Verisign, Amazon, https://www.amazon.com,Ca }

Este certificado se cifra empleando la clave privada de Verisign


que es conocida por los navegadores.
Samuel entonces hace su pedido usando este cifrado.
A continuacin, el navegador genera una clave de sesin aleatoria,
la cifra empleando la clave pblica de Amazon y la enva al servidor
de Amazon.
Juan Jos Ramrez Lama (UBB)

Control de Datos

Seguridad de Aplicaciones en Internet

2015-1 - @juaramir

Juan Jos Ramrez Lama (UBB)

29 / 58

Firmas Digitales

Control de Datos

2015-1 - @juaramir

30 / 58

2015-1 - @juaramir

32 / 58

Caso Practico

Firmas Digitales

Contenido

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

Mtodo que permite verificar remitentes.


Ejemplo: Blanca cifra un mensaje para Emilio empleando su clave privada y luego cifra el resultado utilizando la clave pblica de
Emilio.
Emilio recibe el mensaje, lo descifra usando su clave privada, y
luego descifra el resultado usando la clave pblica de Blanca.

Juan Jos Ramrez Lama (UBB)

Firmas Digitales

Control de Datos

2015-1 - @juaramir

31 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

Caso Practico

Caso Practico

Escenario

Escenario

Usamos la base de datos dbadmision y nos enfocaremos en un


caso ficticio de implementacin de un sistema para la Universidad.
Las oficinas que trabajan con esta base de datos son:
Oficina

Empleado

Cecilia Caldern
Carmen Peralta
Admisin
Yovana Vargas
Liz Castro
Katty Suarez
Marketing
Martha Carrion

Login

Contrasea

Ccalderon
Cperalta
Yvargas
Lcastro
Ksuarez
Mcarrion

Patito
Perrito
Muchachita
Michimichi
Loquita
Love

Tipo de
Usuario
Jefe
Jefe
Operador
Operador
Jefe
Operador

Se tiene desarrollada una aplicacin que accede a la base de datos con el usuario y contrasea concedidos a cada uno de los
usuarios (Autenticacin SQL).
Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

33 / 58

Con respecto a la aplicacin la oficina de Admisin est solicitando que


se implemente:
Un reporte que dado un determinado periodo acadmico (IDPerAcad)
liste: apellidos y nombres, carrera y modalidad de todos los postulantes
de ese periodo.
Un reporte que dada un determinado periodo acadmico (IDPerAcad)
liste: apellidos y nombres, carrera y modalidad de todos los ingresantes
de ese periodo.
Un reporte que dada un determinado periodo acadmico (IDPerAcad)
liste: apellidos y nombres, carrera y modalidad de todos los postulantes
que no asistieron al examen de ese periodo.
Los 10 mejores puestos por periodo (IDPerAcad).

Juan Jos Ramrez Lama (UBB)

Caso Practico

Control de Datos

2015-1 - @juaramir

34 / 58

Caso Practico

Escenario

Escenario

As mismo los de la oficina de Marketing necesitan que se implemente


lo siguiente:
Un reporte que muestre la cantidad de postulantes por cada periodo (IDPerAcad)
Un reporte que muestre la cantidad de postulantes por cada periodo (IDPerAcad), este reporte debe de mostrar las columnas:
Periodo, varn, mujer y total.
Un reporte que liste los apellidos y Nombres de todos aquellos que
cumplan aos, este reporte debe de funcionar en funcin a la fecha
actual.

Los usuarios operadores de la oficina de Admisin solo pueden:


Seleccionar, Actualizar e Insertar Contactos y Postulante.
De los postulantes solo pueden tener acceso de seleccin en los
campos Puntaje, AsistioExamen e Ingreso.
Acceso a los requerimientos previamente solicitados.
Los usuarios operadores y jefes de Marketing:
Acceso a los requerimientos recientemente solicitados.

Listado de aquellos contactos que nunca ingresaron.

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

35 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

36 / 58

Caso Practico

Caso Practico

Escenario

Desarrollo

Contenido

Los Usuarios jefes de la oficina de Admisin pueden:

Lenguaje de Control de Datos


GRANT
REVOKE

Control Obligatorio de Acceso

Seguridad de Aplicaciones en Internet


Cifrado
Servidores de Certificacin
Firmas Digitales

Caso Practico
Desarrollo

Seleccionar y Eliminar Postulantes.


Actualizar los campos Puntaje, AsistioExamen e Ingreso de los
postulantes.
Seleccionar Contactos
Seleccionar, Insertar, Eliminar y Actualizar Carreras, Modalidades
y Periodos.
Acceso a los requerimientos previamente solicitados.
Tenga en cuenta que en cualquier momento el jefe u operadores de
las oficinas pueden cambiar, as que las soluciones planteadas deben
de ser lo ms flexible posible.

Juan Jos Ramrez Lama (UBB)

Control de Datos

Caso Practico

2015-1 - @juaramir

37 / 58

Juan Jos Ramrez Lama (UBB)

Desarrollo

Control de Datos

Caso Practico

Creacin de Roles

2015-1 - @juaramir

38 / 58

2015-1 - @juaramir

40 / 58

Desarrollo

Creacin de Logins
CREATE ROLE Ccalderon
WITH LOGIN PASSWORD ' P a t i t o '
VALID UNTIL ' 20200101 '
IN ROLE JefeADM ;

CREATE
CREATE
CREATE
CREATE

ROLE
ROLE
ROLE
ROLE

JefeADM ;
OpeADM ;
JefeMKT ;
OpeMKT ;

CREATE ROLE Cperalta


WITH LOGIN PASSWORD ' P e r r i t o '
VALID UNTIL ' 20200101 '
IN ROLE JefeADM ;
CREATE ROLE Yvargas
WITH LOGIN PASSWORD ' Muchachita '
VALID UNTIL ' 20200101 '
IN ROLE OpeADM ;

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

39 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

Caso Practico

Desarrollo

Caso Practico

Creacin de Logins

Desarrollo

Creando Esquemas

CREATE ROLE Lcastro


WITH LOGIN PASSWORD ' M i c h i m i c h i '
VALID UNTIL ' 20200101 '
IN ROLE OpeADM ;
CREATE SCHEMA REQ_ADM ;
CREATE SCHEMA REQ_MKT ;

CREATE ROLE Ksuarez


WITH LOGIN PASSWORD ' L o q u i t a '
VALID UNTIL ' 20200101 '
IN ROLE JefeMKT ;
CREATE ROLE Mcarrion
WITH LOGIN PASSWORD ' Love '
VALID UNTIL ' 20200101 '
IN ROLE OpeMKT ;
Juan Jos Ramrez Lama (UBB)

Control de Datos

Caso Practico

2015-1 - @juaramir

41 / 58

Juan Jos Ramrez Lama (UBB)

Desarrollo

Control de Datos

Caso Practico

A los Operadores de ADM

2015-1 - @juaramir

42 / 58

Desarrollo

A los Operadores de ADM

Seleccionar, Actualiza e Insertar Contactos y Postulantes

De los postulantes solo debe tener acceso de seleccin sobre


Puntaje, AsistioExamen e Ingreso
REVOKE SELECT ON Persona . Postulante FROM OpeADM ;
Quitamos permiso de SELECT sobre P o s t u l a n t e
GRANT SELECT ( AsistioExamen ) ON Persona . PostulanteTO OpeADM ;
GRANT SELECT ( Ingreso ) ON Persona . Postulante TO OpeADM ;
GRANT SELECT ( Puntaje ) ON Persona . Postulante TO OpeADM ;

GRANT SELECT ON Persona . Contacto TO OpeADM ;


GRANT INSERT ON Persona . Contacto TO OpeADM ;
GRANT UPDATE ON Persona . Contacto TO OpeADM ;
GRANT SELECT ON Persona . Postulante TO OpeADM ;
GRANT INSERT ON Persona . Postulante TO OpeADM ;
GRANT UPDATE ON Persona . Postulante TO OpeADM ;
GRANT USAGE ON SCHEMA Persona TO OpeADM ;

Acceso a los requerimientos previamente solicitados


GRANT USAGE ON SCHEMA REQ_ADM TO OpeADM ;
Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

43 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

44 / 58

Caso Practico

Desarrollo

Caso Practico

A los Jefes de ADM

Desarrollo

A los Jefes de ADM


Seleccionar Contactos

Seleccionar y Eliminar Postulantes

GRANT SELECT ON Persona . Contacto to JefeADM ;

GRANT SELECT ON Persona . Postulante TO JefeADM ;


GRANT DELETE ON Persona . Postulante TO JefeADM ;
GRANT USAGE ON SCHEMA Persona TO JefeADM ;

Seleccionar, Insertar, Eliminar y Actuzalizar Carreras, Modalidades y


Periodos

Actualizar los campos Puntaje, AsistioExamen e Ingreso de Postulante


GRANT UPDATE ( Puntaje ) ON Persona . Postulante TO JefeADM ;
GRANT UPDATE ( AsistioExamen ) ON Persona . PostulanteTO JefeADM ;
GRANT UPDATE ( Ingreso ) ON Persona . Postulante TO JefeADM ;

GRANT SELECT, INSERT , DELETE, UPDATE ON Admision . Carrera TO JefeADM ;


GRANT SELECT, INSERT , DELETE, UPDATE ON Admision . Modalidad TO JefeADM ;
GRANT SELECT, INSERT , DELETE, UPDATE ON Admision . PerAcad TO JefeADM ;
GRANT USAGE ON SCHEMA Admision to JefeADM ;

Acceso a los requerimientos previamente solicitados


GRANT USAGE ON SCHEMA REQ_ADM TO JefeADM ;

Juan Jos Ramrez Lama (UBB)

Control de Datos

Caso Practico

2015-1 - @juaramir

45 / 58

Juan Jos Ramrez Lama (UBB)

Desarrollo

Control de Datos

Caso Practico

A los Jefes y Operadores de MKT

2015-1 - @juaramir

46 / 58

Desarrollo

Verificacin de Derechos Asignados

La siguiente parte es verificar que los permisos hayan sido otorgados


correctamente, tambin es posible ir verificando estos a medida se vayan asignando los privilegios.
Verificando Usuario Actual

GRANT USAGE ON SCHEMA REQ_MKT TO JefeMkt , OpeMKt ;

SELECT SESSION_USER, CURRENT_USER;


Comprobando Derechos de los Operadores de ADM
SET SESSION AUTHORIZATION OpeADM ;

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

47 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

48 / 58

Caso Practico

Desarrollo

Caso Practico

Comprobando Derechos de los Operadores de ADM

Comprobando Derechos de los Operadores de ADM

Seleccionar, Actualiza e Insertar Contactos y Postulantes

Para los postulantes solo debe tener acceso de seleccin sobre


Puntaje, AsistioExamen e Ingreso

SELECT * FROM Persona . Contacto ;


INSERT INTO Persona . Contacto VALUES( , ' Anonymous ' , ' Anonymous ' , ' Anonymous ' ,0 ,00000000 , ' 10/11/2014 ' , now ( ) ) ;
UPDATE Persona . Contacto SET
nombres= ' Anonimo ' , paterno= ' Anonimo ' , materno= ' Anonimo '
WHERE IDCOntacto= ' 176 ' ;
DELETE FROM Persona . Contacto WHERE IDCOntacto= ' 176';
E l r o l OpeADM no t i e n e permiso para e l i m i n a r .
Juan Jos Ramrez Lama (UBB)

Control de Datos

Caso Practico

Desarrollo

2015-1 - @juaramir

49 / 58

SELECT IDPostulante , IDContacto , IDCarrera , IDModalidad


FROM Persona . Postulante ;
SELECT Puntaje , AsistioExamen , Ingreso FROM Persona . Postulante ;
Acceso a los requerimientos previamente solicitados
SELECT
SELECT
SELECT
SELECT

*
*
*
*

FROM
FROM
FROM
FROM

REQ_ADM . pa_r1 ( )
REQ_ADM . pa_r2 ( )
REQ_ADM . pa_r3 ( )
REQ_ADM . pa_r4 ( )

Juan Jos Ramrez Lama (UBB)

Desarrollo

( column1
( column1
( column1
( column1

unknown ) ;
unknown ) ;
unknown ) ;
unknown ) ;

Control de Datos

Caso Practico

Comprobando Derechos de los Jefes de ADM

AS
AS
AS
AS

2015-1 - @juaramir

50 / 58

Desarrollo

Comprobando Derechos de los Jefes de ADM


Seleccionar Contactos

SET SESSION AUTHORIZATION JefeADM ;

SELECT * FROM Persona . Contacto ;


Seleccionar y Eliminar Postulantes
SELECT * FROM Persona . Postulante ;
DELETE FROM Persona . Postulante WHERE IDContacto= ' 175 ' ;
Actualizar los campos Puntaje, AsistioExamen e Ingreso de Postulante
UPDATE Persona . Postulante SET
Puntaje=20 , AsistioExamen= ' 1 ' , Ingreso= ' 1 ' WHERE IDContacto= ' 174 ' ;
UPDATE Persona . Postulante SET IDModalidad= ' 0 ' ;Not i e n e persmiso
Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

51 / 58

SELECT * FROM Persona.Contacto; Seleccionar, Insertar, Eliminar y


Actuzalizar Carreras, Modalidades y Periodos
SELECT * FROM Admision . Carrera ;
SELECT * FROM Admision . Modalidad ;
SELECT * FROM Admision . PerAcad ;
Acceso a los requerimientos previamente solicitados
SELECT
SELECT
SELECT
SELECT

*
*
*
*

FROM
FROM
FROM
FROM

REQ_ADM . pa_r1 ( )
REQ_ADM . pa_r2 ( )
REQ_ADM . pa_r3 ( )
REQ_ADM . pa_r4 ( )

Juan Jos Ramrez Lama (UBB)

AS
AS
AS
AS

Control de Datos

( column1
( column1
( column1
( column1

unknown ) ;
unknown ) ;
unknown ) ;
unknown ) ;
2015-1 - @juaramir

52 / 58

Caso Practico

Desarrollo

Caso Practico

Desarrollo

Comprobando Derechos de Jefes de MKT

Comprobando Derechos de los Operadores de MKT

SET SESSION AUTHORIZATION OpeMKT ;

SET SESSION AUTHORIZATION JefeMKT ;

Acceso a los requerimientos previamente solicitados

Acceso a los requerimientos previamente solicitados

SELECT
SELECT
SELECT
SELECT

SELECT
SELECT
SELECT
SELECT

*
*
*
*

FROM
FROM
FROM
FROM

REQ_MKT . pa_r1 ( )
REQ_MKT . pa_r2 ( )
REQ_MKT . pa_r3 ( )
REQ_MKT . pa_r4 ( )

Juan Jos Ramrez Lama (UBB)

AS
AS
AS
AS

( column1
( column1
( column1
( column1

Control de Datos

Caso Practico

unknown ) ;
unknown ) ;
unknown ) ;
unknown ) ;

2015-1 - @juaramir

53 / 58

*
*
*
*

FROM
FROM
FROM
FROM

REQ_MKT . pa_r1 ( )
REQ_MKT . pa_r2 ( )
REQ_MKT . pa_r3 ( )
REQ_MKT . pa_r4 ( )

Juan Jos Ramrez Lama (UBB)

Desarrollo

AS
AS
AS
AS

( column1
( column1
( column1
( column1

unknown ) ;
unknown ) ;
unknown ) ;
unknown ) ;

Control de Datos

Caso Practico

2015-1 - @juaramir

54 / 58

Desarrollo

Reestrablecer y/o eliminar los objetos

Es importante sealar que las verificaciones se han realizado nicamente por medio de roles de grupo, lo ideal y correcto ser realizar las
operaciones como usuarios (roles de login) por ejemplo:

Si queremos eliminar algunos objetos o incluso la base de datos no


debe existir ningn rol asociado a este

SET SESSION AUTHORIZATION OpeADM ;

RESET SESSION AUTHORIZATION ;


Regresamos a l u s u a r i o p r i n c i p a l por d e f e c t o .

cambiarlo por:

SELECT SESSION_USER, CURRENT_USER;

SET SESSION AUTHORIZATION Yvargas ;

DROP DATABASE dbadmision ;


ERROR: database " dbadmision " i s being accessed by o t h e r users

El resultado deber ser el mismo ya que Yvargas pertenece al grupo


OpeADM.

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

55 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

56 / 58

Caso Practico

Desarrollo

Caso Practico

Reestrablecer y/o eliminar los objetos

Desarrollo

Reestrablecer y/o eliminar los objetos

REVOKE ALL ON SCHEMA REQ_MKT , REQ_ADM , Persona , Admision


FROM JefeADM , OpeADM , JefeMKT , OpeMKT ;
REVOKE ALL ON TABLE Persona . Contacto , Persona . Postulante , Admision . Carrera , Admision . PerAcad , Admision . Modalidad
FROM JefeADM , OpeADM , JefeMKT , OpeMKT ;

Para la eliminacin de la base de datos habr que confirmar adems de


que no exista ninguna conexin abierta de la base de datos por algn
usuario.
SELECT * FROM pg_stat_activity ;

DROP USER CCalderon , CPeralta , Yvargas , LCastro , Ksuarez , Mcarrion ;


DROP ROLE JefeADM , OpeADM , JefeMKT , OpeMKT ;
DROP DATABASE dbadmision ;
Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

57 / 58

Juan Jos Ramrez Lama (UBB)

Control de Datos

2015-1 - @juaramir

58 / 58