administración de oracle

27
Administración de Oracle Gestión de seguridad Raquel Alcalde Rico Marta Dacal Asín

Upload: mdacal

Post on 13-Jun-2015

3.071 views

Category:

Documents


6 download

DESCRIPTION

clase modulo BD

TRANSCRIPT

Page 1: Administración de oracle

Administración de Oracle

Gestión de seguridad

Raquel Alcalde Rico Marta Dacal Asín

Page 2: Administración de oracle

2

Gestión de seguridad

1. Introducción2. Usuarios3. Privilegios4. Roles5. Perfiles

Page 3: Administración de oracle

3

1.Introducción

Administrador permite o deniega acceso a BD.

Seguridad BD:Seguridad del sistema: usuario-sistemaBDSeguridad de los datos: usuario-objetos BD

Page 4: Administración de oracle

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

Page 5: Administración de oracle

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;

Page 6: Administración de oracle

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;

Page 7: Administración de oracle

7

Usuarios3. Borrado:

DROP USER usuario [CASCADE];

Ejemplo:

DROP USER PEPITO;

Page 8: Administración de oracle

8

3.PrivilegiosPrivilegios sobre los objetos

Privilegio Tabla Vista Secuencia Procedure

ALTER

DELETE

EXECUTE

INDEX

INSERT

REFERENCES

SELECT

UPDATE

Page 9: Administración de oracle

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;

Page 10: Administración de oracle

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;

Page 11: Administración de oracle

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.

Page 12: Administración de oracle

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.

Page 13: Administración de oracle

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.

Page 14: Administración de oracle

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.

Page 15: Administración de oracle

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.

Page 16: Administración de oracle

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.

Page 17: Administración de oracle

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.

Page 18: Administración de oracle

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.

Page 19: Administración de oracle

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.

Page 20: Administración de oracle

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.

Page 21: Administración de oracle

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;

Page 22: Administración de oracle

22

PrivilegiosPara retirar privilegios del sistema:

REVOKE {privilegio|rol} [, {privilegio|rol},...]

FROM {usuario|rol|PUBLIC}[, {usuario|rol|PUBLIC} ...]...;

Page 23: Administración de oracle

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:

Page 24: Administración de oracle

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

Page 25: Administración de oracle

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;

Page 26: Administración de oracle

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;

Page 27: Administración de oracle

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