1 Copyright © 2010, Oracle. Todos los derechos reservados. Control del Acceso de los Usuarios.
-
Upload
santos-alcocer -
Category
Documents
-
view
105 -
download
0
Transcript of 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
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
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
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
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
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
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;
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...];
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;
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
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
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;
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;
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
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
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];
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;
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;
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
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
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];
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;
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.
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
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