Está en la página 1de 5

Carrera: Base de datos II

Ciclo:
Seguridad y autorización en bases de
Nombre del mó dulo:
datos
3.1 Introducció n y autorizació n en bases
de datos
3.2 Control de acceso direccional basado
en concesió n/renovació n de privilegios
Tema:
3.3 Control de acceso obligatorio para
seguridad multinivel
3.4 Introducció n a la seguridad de base
de datos estadística.

Tarea4: Roles de los usuarios y los permisos por nivel Nombre: Miguel Angel Alejandro Aguirre
de usuario
Instrucción: Utiliza el sistema manejador de Base de Datos GNU MySQL versió n 5.0 y realiza la
definició n de los roles de los usuarios y definició n de los permisos por nivel de usuario del estudio
de caso. Guarda tu archivo tarea4TuprimernombreTuprimerapellido.doc y sú belo como tarea.

I. Realiza la tarea en un archivo con Word.


II. Utiliza el sistema manejador de versió n 5.0 la cual no tiene costo y puede
descargarse.
III. Al ingresar a la pá gina sigue los siguientes pasos:
1. Entra a la direcció n http://dev.mysql.com/downloads/mysql/5.0.html
2. Dar clic en la opció n Windows que se encuentra en la parte inferior.
3. Dar clic en la fila donde se encuentra la opció n Windows ZIP/Setup.EXE (x86) en Pick
a mirror
4. Posteriormente aparece una pantalla que pide registrarse, si no desean registrarse dar
clic en No thanks, just take me to the downloads!
5. Selecciona el país de donde deseas bajarlo con el link de HTTP o FTP, te
recomendamos North America.
6. Guarda.
7. Descomprímelo e instala.

IV. Realiza la definició n de los roles de los usuarios y definició n de los permisos por nivel
de usuario del estudio de caso.
V. Debe contener lo siguiente:

1. Define la base de datos “nomina”


2. Crea las tablas que a continuació n se muestran.
3. Define por medio de vistas (Create View), permisos (Grant) los privilegios que a
continuació n se solicitan:
 Requieres un usuario el cual solo pueda consultar a los empleados de la
categoría 3. (Select)
 Requieres un usuario el cual solo pueda consultar a los empleados de la
categoría 2.(Select)
 Requieres un usuario el cual solo pueda actualizar a todos los usuarios.
(Update)
 Requieres un usuario que tenga permiso para modificar, eliminar a todos
los usuarios de la tabla NominaEmpleados. (Update, Select, Insert y
Delete).

Estudio de caso:

La Secretaria de Desarrollo Comercial, debido a su crecimiento requiere que mayor nú mero


de personas tengan acceso a la nomina, pero las políticas internas de dicha secretaria
prohíben que los empleados con menor nivel puedan observar las prestaciones y sueldo de los
de mayor nivel, es por ello que se requiere crear a los usuarios con sus privilegios necesarios.

Estructura de la tabla NominaEmpleados


Id Identificador Entero
Nombre Nombre Texto
Apellido
ApellidoP Paterno Texto
Apellido
ApellidoM Materno Texto
Categoría No de Categoría Entero
Sueldo Sueldo Neto Numérico

Tabla NominaEmpleados
Id Nombre ApellidoP ApellidoM Categoría Sueldo
1 Vicente Pérez Méndez 1 30000
2 Josefina Ponce Sarabia 2 10000
3 Ernesto Vá zquez Leó n 2 20000
4 Rosario Palacios Mota 3 6000
5 Sebastiá n Camacho Molina 3 4000

Se mostrara el có digo SQL que utilizo para la construcció n de sus bases de datos, tablas, vista
y permisos, y a su vez mostrara la captura de las pantallas de có mo realizo sus actividades y
la descripció n de có mo realizo las actividades, teniendo en consideració n de que deberá de
probar que sus permisos funcionan utilizando por lo menos una consulta desde la línea de
comandos.

Ejemplo de línea de comando.

C:\Documents and Settings\usuario>mysql -u root


Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.45-community-nt MySQL Community Edition (GPL)

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql>
Codigo Utilizado para la construcció n de la base de Datos

-- Definició n de roles de usuarios y permisos

-- Crear roles
CREATE ROLE consulta_cat3;
CREATE ROLE consulta_cat2;
CREATE ROLE actualizar_todos;
CREATE ROLE modificar_eliminar_nomina;

-- Definir permisos para cada rol


GRANT SELECT ON nomina.NominaEmpleados TO consulta_cat3;
GRANT SELECT ON nomina.NominaEmpleados TO consulta_cat2;
GRANT UPDATE ON nomina.NominaEmpleados TO actualizar_todos;
GRANT UPDATE, SELECT, INSERT, DELETE ON nomina.NominaEmpleados TO
modificar_eliminar_nomina;

-- Creació n de la base de datos "nomina"


CREATE DATABASE nomina;

-- Cambiar al contexto de la base de datos "nomina"


USE nomina;

-- Creació n de la tabla NominaEmpleados


CREATE TABLE NominaEmpleados (
Id INT,
Nombre VARCHAR(50),
ApellidoP VARCHAR(50),
ApellidoM VARCHAR(50),
Categoria INT,
Sueldo DECIMAL(10, 2),
PRIMARY KEY (Id)
);

-- Inserció n de datos en la tabla NominaEmpleados


INSERT INTO NominaEmpleados (Id, Nombre, ApellidoP, ApellidoM, Categoria, Sueldo)
VALUES
(1, 'Vicente', 'Pérez', 'Méndez', 1, 30000),
(2, 'Josefina', 'Ponce', 'Sarabia', 2, 10000),
(3, 'Ernesto', 'Vá zquez', 'Leó n', 2, 20000),
(4, 'Rosario', 'Palacios', 'Mota', 3, 6000),
(5, 'Sebastiá n', 'Camacho', 'Molina', 3, 4000);

-- Definició n de vistas y permisos

-- Vista para usuarios que solo pueden consultar empleados de categoría 3


CREATE VIEW ConsultaCat3 AS
SELECT *
FROM NominaEmpleados
WHERE Categoria = 3;

-- Asignar permisos de SELECT a la vista ConsultaCat3 para el rol consulta_cat3


GRANT SELECT ON nomina.ConsultaCat3 TO consulta_cat3;

-- Vista para usuarios que solo pueden consultar empleados de categoría 2


CREATE VIEW ConsultaCat2 AS
SELECT *
FROM NominaEmpleados
WHERE Categoria = 2;

-- Asignar permisos de SELECT a la vista ConsultaCat2 para el rol consulta_cat2


GRANT SELECT ON nomina.ConsultaCat2 TO consulta_cat2;

-- Asignar permisos de UPDATE a la tabla NominaEmpleados para el rol actualizar_todos


GRANT UPDATE ON nomina.NominaEmpleados TO actualizar_todos;

-- Asignar permisos de UPDATE, SELECT, INSERT y DELETE a la tabla NominaEmpleados


-- para el rol modificar_eliminar_nomina
GRANT UPDATE, SELECT, INSERT, DELETE ON nomina.NominaEmpleados TO
modificar_eliminar_nomina;

Captura de Pantallas.

También podría gustarte