miércoles, 28 de octubre de 2009

¿ QUE ES UN PERFIL EN ORACLE ?

es un conjunto de limites de los recursos de la base de datos y constraseña de acceso a la base de datos, si no se espesifica ningun perfil, el usuario se le asigna un perfil determinado.

¿QUE ES UN ROL EN ORACLE Y PARA QUE SIRVE?

Un rol es una forma de agrupar permisos (o privilegios) para asignarlos luego a los usuarios.
Cada usuario puede tener varios roles.
El rol es asignado por default a un usuario. Un rol, puede ser asegurado de manera adicional, que por default, no trae seguridad alguna.

¿ Para que sirver un rol ?

los roles sirven para asignar un grupo de permisos a un usuario, y poder modificar este grupo de permisos sin tener que ir modificando todos los usuarios. Si asignamos un rol con 10 permisos a 300 usuarios, y posteriormente añadimos un permiso nuevo al rol, no será necesario ir añadiendo este nuevo permiso a los 300 usuarios, ya que el rol se encarga automáticamente de propagarlo. La sintaxis básica es:

CREATE ROLE nombre_rol { [NOT IDENTIFIED | IDENTIFIED [BY clave | EXTERNALLY]] };
Una vez que el rol ha sido creado será necesario añadirle permisos a través de instrucción GRANT.

Inicialmente Oracle tiene predefinidos los siguiente roles (entre otros):
|| Rol predefinido || Descripción ||
|| CONNECT || Todos los permisos necesarios para iniciar una sesión en Oracle ||
|| RESOURCE || Todos los permisos necesarios para tener recursos para la creación ||
|| || de objetos ||
|| DBA || Todos los permisos para un administrador de base de datos (DBA) ||
|| EXP_FULL_DATABASE || Permisos para poder exportar toda la base de datos. ||
|| IMP_FULL_DATABASE || Permisos para poder importar toda la base de datos. ||
Podemos decir que un usuarios normal, debe tener al menos los permisos de CONNECT (para conectarse) y de RESOURCE (para poder crear objetos).

Ejemplos:

CREATE ROL CONTROL_TOTAL; CREATE ROL BASICO; CREATE ROL ACCESO_CONTABILIDAD;






QUE ES UN PRIVILEGIO EN ORACLE

Un privilegio no es más que un permiso dado a un usuario para que realice cierta operación. Estas operaciones pueden ser de dos tipos:
Operación de sistema:
necesita el permiso de sistema correspondiente. ·
Operación sobre objeto:
necesita el permiso sobre el objeto en cuestión.

Privilegios
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.
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:

La siguiente sentencia permite identificar los roles y demas privilegios que fueron asignados al usuario de la sesion.

SELECT granted_role "Rol",
admin_option "Admin"
FROM user_role_privs;

SELECT privilege "Privilegio",
admin_option "Admin"
FROM user_sys_privs;

Si se desea hacer esta consulta para otros usuarios, se deberán utilizar la vista dba_role_privs