1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

25
1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios

Transcript of 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Page 1: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

1Copyright © 2010, Oracle. Todos los derechos reservados.

Control del Acceso de los Usuarios

Page 2: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 2

Objetivos

Al finalizar esta lección, debería estar capacitado para lo siguiente:

• Diferenciar entre privilegios de sistema y privilegios de objeto

• Asignar privilegios en tablas

• Asignar roles

• Distinguir entre privilegios y roles

Page 3: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 3

Agenda

• Privilegios del sistema

• Creación de roles

• Privilegios de objeto

• Revocación de privilegios de objeto

Page 4: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 4

Control del Acceso de los Usuarios

Administrador debase de datos

Usuarios

Privilegios de nombre de usuario

y contraseña

Page 5: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 5

Privilegios

• Seguridad de la base de datos:– Seguridad del sistema– Seguridad de datos

• Privilegios del sistema: realización de una acción determinada en la base de datos

• Privilegios de objeto: manipulación del contenido de los objetos de la base de datos

• Esquemas: recopilación de objetos como tablas, vistas y secuencias

Page 6: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 6

Privilegios del Sistema

• Más de 100 privilegios disponibles.

• El administrador de la base de datos tiene privilegios del sistema de alto nivel para realizar tareas como:– Creación de nuevos usuarios– Eliminación de usuarios– Eliminación de tablas– Realización de copias de seguridad de tablas

Page 7: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 7

Creación de un Usuario

El DBA crea el usuario con la sentencia CREATE USER.

CREATE USER demoIDENTIFIED BY demo;

CREATE USER user IDENTIFIED BY password;

Page 8: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 8

Privilegios del Sistema de Usuario

• Una vez creado un usuario, el DBA puede otorgar privilegios del sistema específicos a dicho usuario.

• Un desarrollador de aplicaciones, por ejemplo, puede tener los siguientes privilegios del sistema:– CREATE SESSION– CREATE TABLE– CREATE SEQUENCE– CREATE VIEW– CREATE PROCEDURE

GRANT privilege [, privilege...]TO user [, user| role, PUBLIC...];

Page 9: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 9

Asignación de Privilegios del Sistema

El DBA puede otorgar privilegios del sistema específicos a un usuario.

GRANT create session, create table, create sequence, create viewTO demo;

Page 10: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 10

Agenda

• Privilegios del sistema

• Creación de roles

• Privilegios de objeto

• Revocación de privilegios de objeto

Page 11: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 11

¿Qué es un Rol?

Asignación de privilegiossin un rol

Asignación de privilegioscon un rol

Privilegios

Usuarios

Gestor

Page 12: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 12

Creación y Asignación de Privilegios a un Rol

• Crear un rol:

• Otorgar privilegios a un rol:

• Otorgar un rol a los usuarios:

CREATE ROLE manager;

GRANT create table, create view TO manager;

GRANT manager TO alice;

Page 13: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 13

Cambio de Contraseña

• El DBA crea la cuenta de usuario e inicializa la contraseña.

• Puede cambiar la contraseña mediante la sentencia ALTER USER.

ALTER USER demo IDENTIFIED BY employ;

Page 14: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 14

Agenda

• Privilegios del sistema

• Creación de roles

• Privilegios de objeto

• Revocación de privilegios de objeto

Page 15: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 15

Privilegio de objeto Tabla Vista Secuencia

Privilegios de Objeto

ALTER

DELETE

INDEX

INSERT

REFERENCES

SELECT

UPDATE

Page 16: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 16

Privilegios de Objeto

• Los privilegios de objeto varían de objeto a objeto.

• Un propietario tiene todos los privilegios sobre el objeto.

• Un propietario puede proporcionar privilegios específicos sobre el objeto de dicho propietario.

GRANT object_priv [(columns)] ON object TO {user|role|PUBLIC} [WITH GRANT OPTION];

Page 17: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 17

Asignación de Privilegios de Objeto

• Otorgar privilegios de consulta en la tabla EMPLOYEES:

• Otorgar privilegios para actualizar columnas específicas en los usuarios y roles:

GRANT selectON employeesTO demo;

GRANT update (department_name, location_id)ON departmentsTO demo, manager;

Page 18: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 18

Transferencia de Privilegios

• Proporcionar una autoridad de usuario para transferir privilegios:

• Permitir a todos los usuarios del sistema consultar datos de la tabla DEPARTMENTS de Alice:

GRANT select, insertON departmentsTO demoWITH GRANT OPTION;

GRANT selectON alice.departmentsTO PUBLIC;

Page 19: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 19

Confirmación de Privilegios Otorgados

Vista del Diccionario de Datos Descripción

ROLE_SYS_PRIVS Privilegios del sistema otorgados a roles

ROLE_TAB_PRIVS Privilegios de tabla otorgados a roles

USER_ROLE_PRIVS Roles a los que puede acceder el usuario

USER_SYS_PRIVS Privilegios del sistema otorgados al usuario

USER_TAB_PRIVS_MADE Privilegios de objeto otorgados a objetos del usuario

USER_TAB_PRIVS_RECD Privilegios de objeto otorgados al usuario

USER_COL_PRIVS_MADE Privilegios de objeto otorgados a columnas de objetos del usuario

USER_COL_PRIVS_RECD Privilegios de objeto otorgados al usuario en columnas específicas

Page 20: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 20

Agenda

• Privilegios del sistema

• Creación de roles

• Privilegios de objeto

• Revocación de privilegios de objeto

Page 21: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 21

Revocación de Privilegios de Objeto

• Utilice la sentencia REVOKE para revocar los privilegios otorgados a otros usuarios.

• Los privilegios otorgados a otros usuarios mediante la cláusula WITH GRANT OPTION también se revocan.

REVOKE {privilege [, privilege...]|ALL}ON objectFROM {user[, user...]|role|PUBLIC}[CASCADE CONSTRAINTS];

Page 22: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 22

Revocación de Privilegios de Objeto

Revocar los privilegios SELECT e INSERT proporcionados al usuario demo en la tabla DEPARTMENTS.

REVOKE select, insertON departmentsFROM demo;

Page 23: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 23

Prueba

¿Cuáles de las siguientes afirmaciones son ciertas?

1. Una vez que el usuario crea un objeto, el usuario puede transferir los privilegios de objeto disponibles a otros usuarios mediante la sentencia GRANT.

2. Un usuario puede crear roles mediante la sentencia CREATE ROLE para transferir una recopilación de privilegios de objeto o de sistema a otros usuarios.

3. Los usuarios pueden cambiar sus propias contraseñas.

4. Los usuarios pueden ver los privilegios otorgados a los mismos y aquellos otorgados en sus objetos.

Page 24: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 24

Resumen

En esta lección, debe haber aprendido lo siguiente:

• Diferenciar entre privilegios de sistema y privilegios de objeto

• Asignar privilegios en tablas

• Asignar roles

• Distinguir entre privilegios y roles

Page 25: 1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.

Copyright © 2010, Oracle. Todos los derechos reservados.1 - 25

Práctica 1: Visión General

En esta práctica se abordan los siguientes temas:

• Asignación de otros privilegios de usuarios a la tabla

• Modificación de otra tabla de usuario mediante los privilegios que se le han otorgado