Es la capacidad de un usuario dentro de la base de datos a realizar determinadas operaciones o acceder a determinados objetos de otros usuarios.
Privilegios sobre los objetos
Nos permite acceder y realizar cambios en los datos de otros usuairo. Ejemplo: El privilegio de consultar la tabla de otro usuario es un privilegio sobre objetos.
GRANT {PRIV_OBJETO [, PRIV_OBJETO]… | ALL [PRIVILEGES]}
[(COL [,COL]…)]
ON [USUARIO] OBJETO
TO {USUARIO | ROL | PUBLIC} [,{USUARIO | ROL | PUBLIC}…]
[WITH GRANT OPTION];
ON= Especifica el objeto sobre el que se dan los privilegios.
TO= Identifica a los usuarios o roles a los que se conceden los privilegios.
ALL= Concede todos los privilegios sobre el objeto especificado.
WITCH GRANT OPTION= Permite que el receptor del privilegio o rol se lo asigne a otros usuarios o roles.
PUBLIC= Asigna los privilegios a todos los usuarios actuales y futuros: El propósito principal del grupo PUBLIC es garantizar el acceso a determinados objetos a todos los usuarios de la base de datos.
Privilegios de sistema
Dan derecho a ejecutar un tipo de comando SQL o a realzar alguna acción sobre objetos de un tipo especificado. Por ejemplo, el privilegio para crear TABLESPACES es un privilegio de sistema. Formato:
GRANT {PRIVILEGIO | ROL} [, {PRIVILEGIO | ROL}, …]
TO {USUARIO | ROL | PUBLIC} [,{USUARIO | ROL | PUBLIC}]
[WITH ADMIN OPTION];
WITH ADMIN OPTION= Permite que el receptor del privilegio o rol pueda conceder esos mismos privilegios a otros usuarios o roles.
Retirada de privilegios de objetos a los usuarios
REVOKE {PRIV_OBJETO [,PRIV_OBJETO]… | ALL [PRIVILEGES]}
ON [USUARIO.]OBJETO
FROM {USUARIO | ROL | PUBLIC} [, {USUARIO | ROL | PUBLIC}]…;
Retirada de privilegios de sistema o roles a los usuarios
REVOKE {PRIV_SISTEMA | ROL} [,{PRIV_SISTEMA | ROL}]…
FROM {USUARIO | ROL | PUBLIC} [,{USUARIO | ROL | PUBLIC}]…;
http://www.desarrolloweb.com/articulos/2065.php
Roles del Sistema
Los roles se pueden utilizar para gestionar los comandos de sistema disponibles para los usuarios. Estos incluyen comandos como CREATE TABLE o SELECT ANY TABLE. Todos los usuarios que quieran acceder a la BD deben tener el rol CONNECT; aquellos que necesiten crear segmentos necesitaran el rol RESOURCE. Un usuario con el rol DBA tiene derecho para ver y manejar todos los datos de la BD. En Oracle CONNECT, RESOURCE y DBA son roles de sistema. Las acciones contra cada tipo de objeto son autorizadas por privilegios separados. Así, un usuario puede tener concedido el privilegio CREATE TABLE, pero no el ALTER TABLE.
http://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html#1.3
Generalmente cuando uno toma el curso de Workshop I de 10g, y llega a la parte de Roles (lección 6), se habla muy poco de cómo se pueden manejar los roles, e incluso no hay un ejemplo claro del mismo.
Las veces que me toca dar el curso a mi, me gusta explicar a fondo lo más que puedo acerca de roles.
Se nos dice que un rol, es asignado por default a un usuario. Un rol, puede ser asegurado de manera adicional, que por default, no trae seguridad alguna.
Entonces, partiendo de la teoría, un rol puede ser creado con la siguiente seguridad:
* Ninguna (Default)
* Password
* External
* Global
Por falta de hardware/software, no puedo demostrar la seguridad Global, pero las demás sí.
http://hugoracle.blogspot.com/2008/09/roles-en-oracle.html
Perfiles de Usuario
Los perfiles se utilizan para limitar la cantidad de recursos del sistema y de la BD disponibles para un usuario. Si no se definen perfiles para un usuario se utiliza el perfil por defecto, que especifica recursos ilimitados.
Los recursos que pueden ser limitados via perfil son los siguientes:
| Recurso | Descripción |
| SESSIONES_PER_USER | El número de sesiones concurrentes que un usuario puede tener en una instancia. |
| CPU_PER_SESSION | El tiempo de CPU, en centenas de segundos, que una sesión puede utilizar. |
| CONNECT_TIME | El número de minutos que una sesión puede permanecer activa. |
| IDLE_TIME | El número de minutos que una sesión puede permanecer sin que sea utilizada de manera activa. |
| LOGICAL_READS_PER_SESSION | El número de bloques de datos que se pueden leer en una sesión. |
| LOGICAL_READS_PER_CALL | El número de bloques de datos que se pueden leer en una operación. |
| PRIVATE_SGA | La cantidad de espacio privado que una sesión puede reservar en la zona de SQL compartido de la SGA. |
| COMPOSITE_LIMIT | El número de total de recursos por sesión, en unidades de servicio. Esto resulta de un calculo ponderado de CPU_PER_SESSION, CONNECT_TIME, LOGICAL_READS_PER_SESSION y PRIVATE_SGA, cuyos pesos se pueden variar con el comando ALTER RESOURCE COST. |
En general, el perfil por defecto debe ser adecuado para los usuarios normales; los usuarios con requerimientos especiales deberían tener perfiles especiales.
http://www.infor.uva.es/~jvegas/cursos/bd/oraseg/oraseg.html#2.4
No hay comentarios:
Publicar un comentario