3. Control de acceso
3. 1 Tipos de usuario 3. 2 Creación de usuarios 3 3.1 Tipos de usuario 3.2 Creación de usuarios 3.3 Privilegios a usuarios 3.4 Roles
Tipos de usuario Un usuario es un nombre de acceso a la base de datos. Normalmente va asociado a una clave (password). Una cuenta en una BD puede estár ligada con una cuenta de sistema operativo. Los passwords son fijados cuando se crea un usuario y pueden ser alterados por el DBA o por el usuario mismo. La BD almacena una versión encriptada del password en una tabla del diccionario llamada dba_users. Si la cuenta en la BD está asociada a una cuenta del sistema operativo puede evitarse la comprobación del password, dándose por válida la comprobación de la identidad del usuario realizada por el SO.
Creación de usuarios Para la creación de un usuario se tiene la sentencia estándar: CREATE USER user_name IDENTIFIED BY ‘password’ [ OPTIONS ] Para Modificar un usuario se utiliza la sentencia: ALTER USER user_name [ OPTIONS ] Para borrar a un usuario se utiliza la sentencia: DROP USER user_name [ CASCADE ] Para ver todos los usuarios se utiliza la sentencia DESCRIBE DBA_USERS; SELECT USERNAME FROM ALL_USERS;
Creación de usuarios Donde options DEFAULT TABLESPACE tablespace TEMPORARY TABLESPACE tablespace QUOTA int {K | M} ON tablespace QUOTA UNLIMITED ON tablespace PROFILE profile_name PASSWORD EXPIRE ACCOUNT {LOCK|UNLOCK} Ejemplo: Crear usuario CREATE USER usuarioLimitado IDENTIFIED BY miClaveSecreta;
Privilegios a usuarios Un privilegio es un derecho para ejecutar un tipo particular de sentencia ó para acceder a un objeto de otro usuario. Una vez creados los usuarios será necesario dotarlos de privilegios para que puedan realizar operaciones específicas en la base de datos. Estos privilegios suelen clasificarse en: Privilegios del Sistema ( System privileges ) permisos a niveles de la base de datos como pueden ser conexión a la base de datos, creación de usuarios, limitar cuentas. Privilegios sobre Objetos ( Object privileges ) vistas, tablas, secuencias, procedimientos, paquetes. Para otorgar privilegios utilizamos la sentencia GRANT, para quitar un privilegio o permiso a un usuario utilizamos la sentencia REVOKE.
Comando GRANT Se utiliza para crear usuarios y concederle privilegios. La sintaxis general del comando GRANT es la siguiente:
ROLES Definición Un rol es una colección de privilegios del sistema y de objetos que se otorgan a usuarios y a otras tareas. Gracias a los roles se facilita la asignación de privilegios a los usuarios. Un usuario puede tener asignados varios roles y viceversa.
Un sistema de roles y usuarios podríamos definirlo como la clasificación de privilegios de operación en nuestro sistema, para entenderlo un poco mejor tendríamos que enumerar y explicar lo siguiente; Usuarios: son los que interactúan con nuestro sistema a los cuales debemos controlar para validar que pueden o no hacer. Perfiles: son los roles que se le asignaran o negaran a un usuario para conceder privilegios en el sistema. Recursos: son las zonas en las que dividiremos la aplicación por ejemplo: crear usuario, listar notas, eliminar notas, etc... Por último los permisos son las acciones concretas que se asignan sobre uno o más recursos del sistema.
http://www.prograweb.com.mx/tallerBD/0303PrivilegiosUsuarios.php