You are on page 1of 2

Roles de Usuario:

Qu es?: es un conjunto de privilegios que se pueden conceder a los usuarios o a


otras funciones. Puede utilizar roles para administrar privilegios de base de datos.
Puede agregar privilegios a una funcin y, a continuacin, conceder la funcin a un
usuario. El usuario puede habilitar el rol y ejercitar los privilegios otorgados por el
rol.
Un rol contiene todos los privilegios otorgados a la funcin y todos los privilegios de
otras funciones que se le conceden. Una nueva funcin est inicialmente vaca.

Cmo se crea?: Para crear un rol se debe utilizar la sentencia CREATE ROLE,
adems le podemos aadir privilegios a un rol con la sentencia GRANT. Ejemplos:

Crear un rol: CREATE ROLE MI_PROPIO_ROLE;


Crear un rol sin password: CREATE ROLE role NOT IDENTIFIED;
Crear un rol con password: CREATE ROLE role IDENTIFIED BY
password;

Algunos otros comandos que se utilizan con los roles son:

Alter Role: se utiliza la instruccin ALTER ROLE para cambiar la


autorizacin necesaria para habilitar un rol. Ejemplo:

La siguiente declaracin cambia el rol warehouse_user:


ALTER ROLE warehouse_user NO IDENTIFICADO;

Drop Role: se utiliza la instruccin DROP ROLE para eliminar un rol de la


base de datos. Cuando se elimina un rol, la base de datos de Oracle lo
revoca de todos los usuarios y roles a los que se le ha otorgado y lo elimina
de la base de datos. Las sesiones de usuario en las que el rol ya est
habilitado no se ven afectadas. Sin embargo, ninguna nueva sesin de
usuario puede habilitar el rol despus de que se elimine. Ejemplo:

Para eliminar la funcin dw_manager, se utiliza la siguiente


instruccin:
DROP ROLE dw_manager;

Set Role: se utiliza la instruccin SET ROLE para habilitar y deshabilitar


roles para su sesin actual. No puede habilitar ms de 148 roles definidos
por el usuario al mismo tiempo.
Cuando un usuario inicia sesin, la base de datos de Oracle habilita todos
los privilegios otorgados explcitamente al usuario y todos los privilegios en
los roles predeterminados del usuario. Durante la sesin, el usuario o una
aplicacin puede usar la declaracin SET ROLE cualquier cantidad de
veces para cambiar los roles actualmente habilitados para la sesin.
Puede ver qu roles que estn actualmente habilitados al examinar la
SESSION_ROLES vista del diccionario de datos. Ejemplo:

Para habilitar el rol dw_manager identificado por la contrasea


warehouse para su sesin actual, se utiliza la siguiente
declaracin:
SET ROLE dw_manager IDENTIFICADO POR almacn;

Referencias:
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6012.ht
m
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_4003.ht
m#i2058207
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_8027.ht
m#i2067592
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10004.ht
m#i2135600
https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10004.ht
m#i2135600
https://ora.u440.com/usuarios/create%20role.html

You might also like