Administración de oracle

Preview:

DESCRIPTION

clase modulo BD

Citation preview

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

Recommended