You are on page 1of 3

3.

1 TIPOS DE USUARIOS

Existen tres tipos de un DBMS, los cuales se distinguen por el modo como interactúan con el sistema:

* PROGRAMADORES DE APLICACIONES: Son profesionales en computación que interactúan con el sistema


mediante instrucciones en DML, las cuales son traducidas en un programa escrito en un lenguaje huésped
(Cobol, C++, C#, Visual Basic, Java, Delphi) Estos programas se denominan Programas de aplicaciones.

* USUARIOS CASUALES: Usuarios que interactúan con el sistema sin escribir programas, pero haciendo
consultas en un lenguaje de consulta de datos.

* USUARIOS INGENUOS: Usuarios que interactúan con el sistema poco complejos que interactúan con el
sistema llamando algunos de los programas de aplicación permanentes escritos previamente. El
administrador de base de datos (DBA) Protección dirigida a dos tipos de usuarios •Los que no tienen
derechos de acceso •Los que tienen derechos limitados a ciertas acciones

En sentido general, un usuario es un conjunto de permisos y de recursos (o dispositivos) a los cuales se tiene
acceso. Es decir, un usuario puede ser tanto una persona como una máquina, un programa, etc.

Usuario administrador El usuario administrador de un producto informático (bien sea hardware o software),
es la persona a la que va destinada dicho producto una vez que ha superado las fases de desarrollo
correspondientes. Habitualmente, el software se desarrolla pensando en la comodidad del usuario final, y
por esto se presta especial interés y esfuerzo en conseguir una interfaz de usuario lo más clara y sencilla
posible.

Usuario registrado Se denomina así a la persona que tiene derechos especiales en algún servicio de Internet
por acreditarse en el mismo mediante un identificador y una clave de acceso, obtenidos con previo registro
en el servicio, de manera gratuita o de pago. Normalmente, unusuario registrado tiene asignada una cuenta
propia que mantiene información personalizada del usuario en el servidor, (como puede ser dirección de e-
mail y espacio correspondiente). También puede dar acceso a ciertos contenidos no accesibles al público en
general, como por ejemplo un usuario registrado en un periódico online con acceso por suscripción.

Usuario anónimo Es usuario anónimo en informática aquel que navega en sitios web (o usa cualquier
servicio de la red) sin autenticarse comousuario registrado. En algunos servicios en Internet se dispone de
un modo de uso como usuario registrado y otro como usuario anónimo; normalmente, el usuario registrado
goza de mayores privilegios. El anonimato en Internet es uno de sus puntos fuertes, a la vez que motivo
habitual de discusión. A los usuarios les gusta sentirse libres para expresarse, mientras que ciertos
organismos quisieran un mayor control de todo el movimiento por la red para actuar con más eficacia
contra la delincuencia online.

Usuario «beta tester» En el proceso de desarrollo de software, existe un usuario intermedio entre el
desarrollador y el usuario final que se encarga de comprobar y testear que el programa trabaje de la forma
prevista. La tarea de los Beta Testers es reportar errores alprogramador/desarrollador, y es en gran medida
responsable de que el programa llegue al usuario final sin errores.

3.2. CREACIÓN DE USUARIOS

Para la creacion de usuarios en SQL se utilizan las clausulas con la siguiente sintaxis ejemplo La creación de
los usuarios se realiza en la misma sentencia que el permiso (grant) de acceso a una o varias bases de datos.
La orientación de MySQL va cambiando con el tiempo y el uso que se le da a las bases de datos cada vez
trasciende más el entorno web, actualmente hay dos formas de crear un usuario:
1. SENTENCIA GRANT
Podemos crear un usuario a la par que otorgarle uno o varios privilegios sobre los objetos de una base
de datos, o la base de datos completa. Al encontrarse una sentencia de tipo GRANT, el motor de MySQL
revisa si el usuario existe previamente para el contexto que estamos asignándole permisos, y si dicho
usuario no está presente en el sistema, lo crea.
2. SENTENCIA CREATE
Por ejemplo, para crear el usuario fernando:
mysql> CREATE USER 'fernando'@'localhost' IDENTIFIED BY 'fer_pass';

El contexto 'localhost' define que el usuario solamente se puede conectar desde el servidor de MySQL,
y el IDENTIFIED BY define el password del usuario, se puede omitir, para un usuario sin password,
siempre que el modo SQL no sea NO_AUTO_CREATE_USER.

3.3. PRIVILEGIOS DE USUARIOS

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 (operaciones
que afectan a todo el sistema) y privilegios de objeto (tablas, vistas, etc.). Para conocer los privilegios y su
sintaxis es necesario consultar los manuales de referencia de su SGBD.

SELECT * FROM SYSTEM_PRIVILEGE_MAP;

Las sentencias GRANT y REVOKE permiten a los administradores de SGBD crear cuentas de usuario,
conceder y revocar derechos de esas cuentas.

GRANT CONNECT, RESOURCE, CREATE TABLE TO USUARIOLIMITADO;

La información sobre cuentas se almacena en las tablas de la base de datos. Los privilegios pueden ser
concedidos en varios niveles:

 Nivel global: Los privilegios globales se aplican a todas las bases de datos de un servidor dado. Estos
privilegios se almacenan en la tabla sql.user. Conceden y revocan sólo privilegios globales.

GRANT ALL ON *.* y REVOKE ALL ON *.*

 Nivel de base de datos: Los privilegios de base de datos se aplican a todos los objetos en una base de datos
dada. Estos privilegios se almacenan en las tablas mysql.dby mysql.host. Otorgan y revocan sólo privilegios
de base de datos.

GRANT ALL ON DB_NAME.* Y REVOKE ALL ON DB_NAME.*

 Nivel de tabla: Los privilegios de tabla se aplican a todas las columnas de una tabla dada. Estos privilegios
se almacenan en la tabla mysql.tables_priv. Conceden y revocan únicamente privilegios de tabla.

GRANT ALL ON DB_NAME.TBL_NAME Y REVOKE ALL ON DB_NAME.TBL_NAME

 Nivel de columna: Los privilegios de columna se aplican a una columna individual en una tabla dada. Estos
privilegios se almacenan en la tabla mysql.columns_priv.Cuando se usa REVOKE, se deben especificar las
mismas columnas que cuando se concedieron los privilegios.  Nivel de procedimiento: Los privilegios
CREATE ROUTINE, ALTER ROUTINE, EXECUTE y GRANT se aplican a procedimientos almacenados. Pueden ser
concedidos en los niveles globales y de base de datos. Además, excepto para CREATE ROUTINE, estos
privilegios pueden ser concedidos en el nivel de procedimiento para procedimientos individuales y se
almacenan en la tabla mysql.procs_priv. Para hacer más sencillo revocar todos los privilegios, MySQL
añadido la siguiente sintaxis, que elimina todos los privilegios de los niveles de global, de base de datos,
tabla y columna para los usuarios nombrados:

MYSQL> REVOKE ALL PRIVILEGES, GRANT OPTION FROM USUARIO [, USUARIO] ...

Asignar todos los privilegios menos los

GRANT OPTION GRANT ALL ON *.* TO MIUSUARIO

Mostrar los privilegios del usuario

SHOW GRANTS FOR USUARIO

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.

 El ro CONNECT: este rol se le asigna automáticamente a cada usuario que se cree en la base de datos.
Quiere decir que tiene privilegios sobre sus objetos como conectarse a la base de datos y abrir una sesión,
crear sus tablas, borrarlas y actualizarlas; pero no para otros usuarios .

 El rol RESOURCE: este rol le posibilita al usuario tener un conjunto de privilegios de sistema un poco más
avanzado que CONNECT como crear triggers, procedimientos, secuencias, etc

.  El rol DBA, típico de los administradores, permite al usuario realizar cualquier función de base de datos y
disponer de cualquier privilegio.

 El rol EXP_FULL_DATABASE: este rol se asigna a usuarios para que puedan realizar backups de la base de
datos.

 El rol IMP_FULL_DATABASE: este rol se asigna a usuarios para que puedan restaurar backups.

La sentencia que permite crear roles es CREATE ROL. Su sintaxis es la siguiente

CREATE ROLE rol

[ NOT IDENTIFIED | IDENTIFIED {BY password | USING [usuario.] paquete

| EXTERNALLY | GLOBALLY }

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.