Download - Roles y Privilegios MySQL
INTEGRANTES
MARCELA DIAZ
ALVARO BLANCO
*Roles y Privilegios
MySQL
* Roles
Un rol es una colección 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, sinónimos y otros
objetos en el esquema asociado.
El rol RESOURCE: permite al usuario utilizar los recursos
típicos para la programación de aplicaciones (clusters,
disparadores, paquetes, funciones, etc.)
El rol DBA: permite al usuario realizar cualquier función de
base de datos y disponer de cualquier privilegio.
*CREAR UN ROL
CREATE ROLE rol [ NOT IDENTIFIED | IDENTIFIED {BY password |
USING [usuario.] paquete | EXTERNALLY | GLOBALLY } ];
La sentencia que permite crear roles es CREATE ROL. Su sintaxis
es la siguiente
*EJEMPLO1
mysql> GRANT ALL PRIVILEGES ON *.* TO
'marcela'@'localhost' IDENTIFIED BY 'marcela' WITH
GRANT OPTION;
Crear un rol y asignarle privilegios:
mysql> GRANT ALL ON prueba.alumno TO 'ana'@'localhost'
IDENTIFIED BY '123456' WITH GRANT OPTION;
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)
*EJEMPLO2
*EJEMPLO_3
mysql> GRANT SELECT ON *.* TO
'juan'@'localhost' IDENTIFIED BY
'123456' WITH GRANT OPTION;
creamos un usuario que solo puede listar todo lo que
este en las base de datos es decir solo puede
ejecutar la consulta SELECT
*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.
*NIVELES DE
PRIVILEGIOS
Globales: se aplican al conjunto de todas las bases de datos en
un servidor. Es el nivel más alto de privilegio, en el sentido de
que su ámbito es el más general.
DE BASE DE DATOS: se refieren a bases de datos individuales, y
por extensión, 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.
*CONCEDER
PRIVILEGIOS Para que un usuario pueda hacer algo más
que consultar algunas variables del sistema
debe tener algún privilegio. Lo más simple
es conceder el privilegio para seleccionar
datos de una tabla concreta. Esto se haría
así:
La misma sentencia GRANT se usa para
añadir privilegios a un usuario existente.
*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
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)
Para revocar privilegios se usa la sentencia REVOKE.
La sintaxis es similar a la de GRANT, por ejemplo, para revocar el privilegio
SELECT de nuestro usuario 'anonimo', usaremos la sentencia
*GRACIAS