Cómo conceder permisos de acceso a un rol de usuario

Selecciona el idioma :

ℹ️
Por favor, inicia sesión para que tu progreso sea registrado. Sin iniciar sesión , podrás visualizar el video pero no se aumentará tu avance en el curso

Cómo conceder permisos de acceso a un rol de usuario


Para asignar privilegios a roles como SELECT ANY TABLE o CREATE TABLE y comprobar su efecto, continúa con la capacitación orientada a administradores Oracle sobre asignación de permisos a roles y optimiza la seguridad.

Un rol es una forma de simplificar el proceso de gestión de privilegios, ya que nos permite agrupar un conjunto de privilegios los cuales pueden ser otorgados o revocados al usuario. Por tanto, un rol por si solo no tiene funcionalidad, debemos asignarle los permisos o privilegios asociados al mismo.

Asignar privilegio de sistema.

La forma de dar permisos a un rol es muy similar a la forma de dar permisos a un usuario. Por ejemplo, si quisiéramos darle permiso para consultar cualquier tabla al rol DESARROLLO, podemos escribir:

  • GRANT SELECT ANY TABLE TO DESARROLLO

Para ejecutar la línea pulsamos Intro. Si se muestra el mensaje [Grant succeeded], es señal que se ha realizado la operación correctamente. De esta forma le hemos asignado el privilegio de sistema SELECT ANY TABLE al rol DESARROLLO.

Podemos asignarle también el privilegio de crear tablas ejecutando la siguiente línea:

  • GRANT CREATE TABLE TO DESARROLLO

Ahora el rol DESARROLLO contiene los permisos de sistema para seleccionar y crear tablas. Para ver los permisos que tiene asignado un rol podemos hacerlo consultando la tabla DBA_SYS_PRIVS. Está tabla contiene tanto los permisos asignados a los usuarios como a los roles.

Por ejemplo, podemos escribir la consulta:

  • SELECT GRANTEE, PRIVILEGE FROM DBA_SYS_PRIVS WHERE GRANTEE=[DESARROLLO]

De esta forma estamos indicando que se nos muestren los registros de la tabla pertenecientes al rol desarrollo. Al ejecutar la consulta obtenemos como resultado que el rol DESARROLLO tiene los privilegios que le hemos asignado anteriormente, ¨CREATE TABLE¨ y ¨SELECT ANY TABLE¨.

Asignar privilegios sobre objetos.

Para asignar privilegios sobre objetos específicos como tablas, a los roles podemos usar el comando GRANT.

Por ejemplo, podemos ejecutar:

  • GRANT SELECT ON SYS.PRODUCTOS TO DESARROLLO

De esta forma estamos asignando el privilegio SELECT sobre la tabla PRODUCTOS al rol DESARROLLO. En la línea anterior hemos asignado el privilegio a la tabla a través del administrador de la misma, esto es conveniente cuando el usuario conectado no es el propietario de la tabla, en el caso de que sea el propietario podríamos escribir o no el usuario antes de la tabla.

Para ver los privilegios a nivel de objetos podemos hacerlo consultando la tabla DBA_TAB_PRIVS. Para esto ejecutaremos la consulta:


asignando permisos rol

¡Desbloquea el curso completo y certifícate!

Estás viendo el contenido gratuito. Desbloquea el curso completo para obtener tu certificado, exámenes y material descargable.

*Al comprar el curso, te obsequiamos dos cursos a tu eleccion*

*Ver la mejor oferta de la web*

¿Hay algún error o mejora?

¿Dónde está el error?

¿Cuál es el error?