Administración de Oracle
Gestión de seguridad
Raquel Alcalde Rico Marta Dacal Asín
2
Gestión de seguridad
1. Introducción2. Usuarios3. Privilegios4. Roles5. Perfiles
3
1.Introducción
Administrador permite o deniega acceso a BD.
Seguridad BD:Seguridad del sistema: usuario-sistemaBDSeguridad de los datos: usuario-objetos BD
4
2.Usuarios Acceso: ejecutan aplicación de BD
(SQL *Plus, Oracle Forms ó navegador web)
Al instalar BD: SYS: propietario del diccionario de datos SYSTEM: administración BD (crear otros usuarios)
Prefijos vistas: USER y ALL: accesibles para todos los usuarios DBA: solo el administrador
Vistas con información de usuarios: USER_USERS ALL_USERS
5
Usuarios1. Creación:
CREATE USER nombre_usuarioIDENTIFIED BY clave_acceso[DEFAULT TABLESPACE espacio_tabla][TEMPORARY TABLESPACE espacio_tabla][QUOTA {entero {K|M} |UNLIMITED} ON espacio_tabla][PROFILE perfil];
Ejemplo:CREATE USER PEPITOIDENTIFIED BY PEPITO_PASSWORDQUOTA 500K ON USERS;
6
Usuarios2. Modificación:
ALTER USER nombre_usuarioIDENTIFIED BY clave_acceso[DEFAULT TABLESPACE espacio_tabla][TEMPORARY TABLESPACE espacio_tabla][QUOTA {entero {K|M} |UNLIMITED} ON espacio_tabla][PROFILE perfil];
Ejemplo:ALTER USER PEPITOIDENTIFIED BY PEPITO_NUEVA_PASSWORD;
7
Usuarios3. Borrado:
DROP USER usuario [CASCADE];
Ejemplo:
DROP USER PEPITO;
8
3.PrivilegiosPrivilegios sobre los objetos
Privilegio Tabla Vista Secuencia Procedure
ALTER
DELETE
EXECUTE
INDEX
INSERT
REFERENCES
SELECT
UPDATE
9
PrivilegiosPara dar privilegios sobre los objetos:
GRANT {priv_objeto [,priv_objeto] ... | ALL [PRIVILEGES]}
[(columna [,columna]...)]ON [usuario.]objeto
TO {usuario|rol|PUBLIC} [, {usuario|rol|PUBLIC}...]
[WITH GRANT OPTION];
Ejemplos: GRANT ALL ON PINTORES TO PEPITO; GRANT UPDATE (N_PINTOR) ON PINTORES TO PUBLIC;
10
PrivilegiosPara retirar privilegios sobre los objetos:
REVOKE {priv_objeto [,priv_objeto] ... | ALL [PRIVILEGES]}ON [usuario.]objeto
FROM {usuario|rol|PUBLIC }[, {usuario|rol|PUBLIC}]...;
Ejemplos: REVOKE UPDATE ON PINTORES FROM PEPITO;
11
PrivilegiosPrivilegios sobre el sistema:
Sobre determinados objetos como TABLE, SESSION, TABLESPACES,
USER...
USER
Privilegio del sistema
Operaciones autorizadas
CREATE USER Crear usuarios y cuotas sobre cualquier espacio de tablas, establecer espacios de tablas por omisión y temporales.
ALTER USER Modificar cualquier usuario. Este privilegio autoriza al que lo recibe a cambiar la contraseña de otro usuario, a cambiar cuotas sobre cualquier espacio de tablas, a establecer espacios de tablas por omisión, etc…
DROP USER Eliminar usuarios.
12
PrivilegiosPRIVILEGE
Privilegio del sistema
Operaciones autorizadas
GRANT ANY PRIVILEGE
Todos los privilegios de sistema.SESSION
Privilegio del sistema
Operaciones autorizadas
CREATE SESSION Conectarnos a la BD.
ALTER SESSION Manejar la orden ALTER SESSION.
RESTRICTED SESSION Conectarnos a la BD cuando se ha levantado con STARTUP RESTRICT.
13
PrivilegiosTABLE
Privilegio del sistema
Operaciones autorizadas
CREATE TABLE Crear tablas en nuestro esquema y generar índices sobre las tablas del esquema.
CREATE ANY TABLE Crear una tabla en cualquier esquema.
ALTER ANY TABLE Modificar una tabla en cualquier esquema.
DROP ANY TABLE Borrar una tabla en cualquier esquema.
LOCK ANY TABLE Bloquear una tabla en cualquier esquema.
SELECT ANY TABLE Hacer SELECT en cualquier tabla.
INSERT ANY TABLE Insertar filas en cualquier tabla.
UPDATE ANY TABLE Modificar filas en cualquier tabla.
DELETE ANY TABLE Borrar filas de cualquier tabla.
14
PrivilegiosROLE
Privilegio del sistema Operaciones autorizadas
CREATE ROLE Crear roles.
ALTER ANY ROLE Modificar roles.
DROP ANY ROLE Borrar cualquier rol.
GRANT ANY ROLE Dar permisos para cualquier rol de la BD.
PROFILE
Privilegio del sistema Operaciones autorizadas
CREATE PROFILE Crear un perfil de usuario.
ALTER PROFILE Modificar cualquier perfil.
DROP PROFILE Borrar cualquier perfil.
15
PrivilegiosINDEX
Privilegio del sistema
Operaciones autorizadas
CREATE ANY INDEX Crear un índice en cualquier esquema, en cualquier tabla.
ALTER ANY INDEX Modificar cualquier índice de la BD.
DROP ANY INDEX Borrar cualquier índice de la BD.SEQUENCE
Privilegio del sistema
Operaciones autorizadas
CREATE SEQUENCE Crear secuencias en nuestro esquema.
ALTER ANY SEQUENCE Modificar cualquier secuencia de la BD.
DROP ANY SEQUENCE Borrar secuencias de cualquier esquema.
SELECT ANY SEQUENCE Referenciar secuencias de cualquier esquema.
16
PrivilegiosTABLESPACES
Privilegio del sistema Operaciones autorizadas
CREATE TABLESPACE Crear espacios de tablas.
ALTER TABLESPACE Modificar tablespaces.
MANAGE TABLESPACES Poner on-line u off-line a cualquier tablespace.
DROP TABLESPACE Eliminar tablespaces.
UNLIMITED TABLESPACE Utilizar cualquier espacio de cualquier tablespace.
17
PrivilegiosPROCEDURE
Privilegio del sistema Operaciones autorizadas
CREATE ANY PROCEDURE Crear procedimientos almacenados, funciones y paquetes en cualquier esquema.
CREATE PROCEDURE Crear procedimientos almacenados, funciones y paquetes en nuestro esquema.
ALTER ANY PROCEDURE Modificar procedimientos almacenados, funciones y paquetes en cualquier esquema.
DROP ANY PROCEDURE Borrar procedimientos almacenados, funciones y paquetes en cualquier esquema.
EXECUTE ANY PROCEDURE Ejecutar procedimientos, funciones o referencias a paquetes públicos en cualquier esquema.
18
PrivilegiosSYNONYM
Privilegio del sistema Operaciones autorizadas
CREATE SYNONYM Crear sinónimos en nuestro esquema.
CREATE PUBLIC SYNONYM Crear sinónimos públicos.
DROP PUBLIC SYNONYM Borrar sinónimos públicos.
CREATE ANY SYNONYM Crear sinónimos en cualquier esquema.
DROP ANY SYNONYM Borrar sinónimos de cualquier esquema.
19
PrivilegiosTYPE
Privilegio del sistema
Operaciones autorizada
CREATE TYPE Crear tipos de objeto y cuerpos de tipos de objeto en el propio esquema.
CREATE ANY TYPE Crear tipos de objeto y cuerpos de tipos de objeto en cualquier esquema.
ALTER ANY TYPE Modificar tipos de objeto en cualquier esquema.
DROP ANY TYPE Eliminar tipos de objeto y cuerpos de tipos de objeto en cualquier esquema.
EXECUTE ANY TYPE Utilizar y hacer referencia a tipos de objeto y tipos de colección en cualquier esquema.
UNDER ANY TYPE Crear subtipos a partir de cualquier tipo de objeto no final.
20
PrivilegiosVIEW
Privilegio del sistema Operaciones autorizadas
CREATE VIEW Crear vistas en el esquema propio.
CREATE ANY VIEW Crear vistas en cualquier esquema.
DROP ANY VIEW Borrar vistas en cualquier esquema.
OTROS
Privilegio del sistema
Operaciones autorizadas
SYSDBA Ejecutar operaciones STARTUP y SHUTDOWN, ALTER DATABASE, CREATE DATABASE, ARCHIVELOG y RECOVERY, CREATE SPFILE.
SYSOPER Ejecutar operaciones STARTUP y SHUTDOWN, ALTER DATABASE, ARCHIVELOG y RECOVERY, CREATE SPFILE.
21
PrivilegiosPara asignar privilegios del sistema:
GRANT {privilegio|rol} [,{privilegio|rol},....]
TO {usuario|rol|PUBLIC}[, {usuario|rol|PUBLIC} ...]....
[WITH ADMIN OPTION];
Ejemplos: GRANT CREATE SESSION TO PEPITO; GRANT SELECT ANY TABLE TO PUBLIC;
22
PrivilegiosPara retirar privilegios del sistema:
REVOKE {privilegio|rol} [, {privilegio|rol},...]
FROM {usuario|rol|PUBLIC}[, {usuario|rol|PUBLIC} ...]...;
23
Privilegios
• privilegios del usuario activo.SESSION_PRIVS
• privilegios de sistema asignados al usuario.USER_SYS_PRIVS • privilegios de sistema asignados a los
usuarios o a los roles.DBA_SYS_PRIVS
• concesiones sobre objetos que son propiedad del usuario, concedidos o recibidos por éste.
USER_TAB_PRIVS • concesiones sobre objetos que son propiedad
del usuario (asignadas).USER_TAB_PRIVS_MADE
• concesiones sobre objetos que recibe el usuario.
USER_TAB_PRIVS_RECD • concesiones sobre columnas en las que el
usuario es el propietario, asigna el privilegio o lo recibe.
USER_COL_PRIVS• todas las concesiones sobre columnas de
objetos que son propiedad del usuario.USER_COL_PRIVS_MADE
• concesiones sobre columnas recibidas por el usuario.
USER_COL_PRIVS_RECD
Vistas con información de los privilegios:
24
4.RolesRoles (funciones) Privilegios
CONNECT ALTER SESSION, CREATE DATABASE LINK, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE y CREATE VIEW
RESOURCE CREATE CLUSTER, CREATE INDESTYPE, CREATE OPERATOR, CREATE PROCEDURE, CREATE TABLE, CREATE SEQUENCE, CREATE TRIGGER y CREATE TYPE
DBA Todos los privilegios de sistema
25
RolesPara crear un rol se requiere el privilegio del sistema CREATE ROLE:
CREATE ROLE NombreRol;Ejemplo:CREATE ROLE ALUMNOS;
Dar privilegios a los roles:Ejemplo:GRANT SELECT, INSERT ON PINTORES TO ALUMNOS;GRANT INSERT ON PINACOTECAS TO ALUMNOS;GRANT CREATE SESSION TO ALUMNOS;
Para conceder un rol a un usuario:Ejemplo:GRANT ALUMNO TO PEPITO;
26
RolesSupresión de privilegios en los roles
EjemploREVOKE INSERT ON PINTORES FROM ALUMNO;
Supresión de roles a los usuariosEjemploREVOKE ALUMNO FROM PEPITO;
Supresión de un rolDROP ROLE NombreRol;
EjemploDROP ROLE ALUMNO;
27
Roles
•privilegios del sistema asignados a roles.ROLE_SYS_PRIVS
•privilegios sobre tablas aplicados a roles.ROLE_TAB_PRIVS
•roles asignados a otros roles.ROLE_ROLE_PRIVS
•roles activos para el usuario.SESSION_ROLES
•roles asignados al usuario.USER_ROLE_PRIVS
Establecer un rol por defectoALTER USER Nombre_usuarioDEFAULT ROLE Nombre_rol;
Vistas con información sobre roles en el diccionario de datos
Top Related