roles y privilegios mysql
TRANSCRIPT
![Page 1: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/1.jpg)
INTEGRANTES
MARCELA DIAZ
ALVARO BLANCO
*Roles y Privilegios
MySQL
![Page 2: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/2.jpg)
* Roles
Un rol es una colección de privilegios del
sistema y de objetos que se otorgan a
usuarios y a otras tareas.
![Page 3: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/3.jpg)
*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.
![Page 4: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/4.jpg)
*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
![Page 5: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/5.jpg)
*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
![Page 6: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/6.jpg)
*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
![Page 7: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/7.jpg)
*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.
![Page 8: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/8.jpg)
*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.
![Page 9: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/9.jpg)
*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.
![Page 10: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/10.jpg)
*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'.
![Page 11: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/11.jpg)
*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
![Page 12: Roles y Privilegios MySQL](https://reader035.vdocumento.com/reader035/viewer/2022081805/55cf9809550346d033952f56/html5/thumbnails/12.jpg)
*GRACIAS