3.4. Roles

Un rol es una colección de privilegios del sistema y de objetos que se otorgan a usuarios y a otras tareas. Oracle dispone de muchos roles predeterminados mientras que MySQL no los soporta.

La sintaxis Oracle es la siguiente

NOT IDENTIFIED indica que no se requiere contraseña para utilizar el rol, INDENTIFIED BY password indica que se requiere la contraseñ;a especificada. EXTERNALLY crea un rol de usuario externo y GLOBALLY crea un rol de usuario global.

Un nuevo rol está vacío inicialmente. Agregaremos privilegios a un rol con la sentencia GRANT.

Ejemplo: Creamos un nuevo rol y le asignamos el privilegio de conexión

Ejemplo: Crear un rol y asignarle privilegios

CREATE ROLE miPrimerRole;
GRANT SELECT, INSERT, UPDATE, DELETE ON tabla
      TO miPrimerRole;

Ejemplo: Crear un rol y asignarle todos los privilegios

CREATE ROLE miPrimerRole;
GRANT ALL ON tabla TO miPrimerROLE;

Ejemplo: Asignar un rol a un usuario

GRANT miPrimerRole TO miUsuario;

Ejemplo: Eliminar un rol

DROP ROLE miPrimerRole;

Uso de roles

Empleamos ya esta sentencia. Veamos algunos ejemplos.

CONNECT SYS/bingo AS SYSDBA;
CONNECT alumno/key AS SYSDBA;
CONNECT alumno/key AS miPrimerRole