Sie sind auf Seite 1von 12

*Roles y Privilegios

MySQL
INTEGRANTES MARCELA DIAZ ALVARO BLANCO

* Roles
Un rol es una coleccin de privilegios del sistema y de objetos que se otorgan a usuarios y a otras tareas.

*TIPOS DE ROLES
El rol CONNECECT: permite al usuario conectarse a la base
de datos, crear tablas, vistas, secuencias, sinnimos y otros objetos en el esquema asociado.

El rol RESOURCE: permite al usuario utilizar los recursos


tpicos para la programacin de aplicaciones (clusters, disparadores, paquetes, funciones, etc.)

El rol DBA: permite al usuario realizar cualquier funcin de


base de datos y disponer de cualquier privilegio.

*CREAR UN ROL
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 } ];

*EJEMPLO1
Crear un rol y asignarle privilegios:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'marcela'@'localhost' IDENTIFIED BY 'marcela' WITH GRANT OPTION;

*EJEMPLO2
se crea un usuario con todos los privilegios pero a una sola tabla especifca de una sola base de datos (privilegios a nivel de tablas)
mysql> GRANT ALL ON prueba.alumno TO 'ana'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

*EJEMPLO_3
creamos un usuario que solo puede listar todo lo que este en las base de datos es decir solo puede ejecutar la consulta SELECT
mysql> GRANT SELECT ON *.* TO 'juan'@'localhost' IDENTIFIED BY '123456' WITH GRANT OPTION;

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

*NIVELES DE
PRIVILEGIOS
Globales: se aplican al conjunto de todas las bases de datos en un servidor. Es el nivel ms alto de privilegio, en el sentido de que su mbito es el ms general.
DE BASE DE DATOS: se refieren a bases de datos individuales, y

por extensin, a todos los objetos que contiene cada base de datos. DE TABLA: se aplican a tablas individuales, y por lo tanto, a todas las columnas de esas tabla.

DE COLUMNA: se aplican a una columna en una tabla concreta.

PRIVILEGIOS Para que un usuario pueda hacer algo ms


que consultar algunas variables del sistema debe tener algn privilegio. Lo ms simple es conceder el privilegio para seleccionar datos de una tabla concreta. Esto se hara as: La misma sentencia GRANT se usa para aadir privilegios a un usuario existente.

*CONCEDER

*EJEMPLO CONCEDER
PRIVILEGIOS
mysql> GRANT SELECT ON prueba.gente TO anonimo; Query OK, 0 rows affected (0.02 sec) Esta sentencia concede al usuario 'anonimo' el privilegio de ejecutar sentencias SELECT sobre la tabla 'gente' de la base de datos 'prueba'.

*Revocar privilegios
Para revocar privilegios se usa la sentencia REVOKE.

REVOKE priv_type [(column_list)] [, priv_type [(column_list)]] ... ON FROM user [, user] ...

mysql> REVOKE SELECT ON prueba.gente FROM anonimo; Query OK, 0 rows affected (0.05 sec)

La sintaxis es similar a la de GRANT, por ejemplo, para revocar el privilegio SELECT de nuestro usuario 'anonimo', usaremos la sentencia

*GRACIAS

Das könnte Ihnen auch gefallen