¡El poder de los datos!

1

¡El poder de los datos!

Introducción a las bases de datos relacionales

2

Buenas prácticas de bases de datos con SQL

3

Tipos de datos en SQL

4

¿Cómo crear una base de datos en SQL?

5

Práctica: Tu primera consulta en bases de datos

6

Historia y Evolución de SQL

7

Práctica: Creación de Tablas en SQL (CREATE TABLE)

Manipulación de Datos

8

Insertando Datos con SQL (INSERT)

9

Consultas y Selecciones en SQL (SELECT)

10

Práctica: SELECT en SQL

11

Actualización de Datos con SQL (UPDATE)

12

Eliminación de Datos con SQL (DELETE)

13

Práctica: CRUD con SQL

Manipulación Avanzada de Datos

14

Instalación de MySQL Server y MySQL Workbench

15

¿Qué es la cláusula WHERE de SQL?

16

Filtrar y Ordenar Datos en SQL (LIKE)

17

Práctica: Filtrar Datos con WHERE en SQL

18

Cláusulas de Comparación Textual en SQL (AND, NULL, IN, NOT)

19

Funciones de Aritmética Básica en SQL (COUNT, SUM, AVG)

20

Funciones de Aritmética Básica en SQL (MIN, MAX)

Agrupación de Datos

21

Agrupación de Datos en SQL: GROUP BY, HAVING y CASE para Análisis Avanzado

22

Práctica: Agrupamiento y Ordenamiento de Datos

23

Tipos de JOIN en SQL

24

¿Cómo funciona INNER JOIN, LEFT JOIN, RIGHT JOIN y FULL JOIN?

25

Práctica: LEFT JOIN en SQL

Transformación de Datos

26

Vistas Materializadas en SQL: Como optimizar tus consultas y reportes.

27

Práctica: Crear Vistas Materializadas en SQL

28

Optimización de Bases de Datos con SQL: CREATE INDEX y TRIGGER

29

Vistas Materializadas y Temporales en SQL

30

Expresiones de Tablas Comunes (CTE) en SQL

Procedimientos Almacenados

31

Procedimientos Almacenados en SQL

32

Procedimientos Almacenados en SQL: Gestión de Variables y Manejo de Excepciones

Administración de Base de Datos

33

Respaldos y Restauración de Bases de Datos

34

Seguridad en Bases de Datos SQL

Análisis de Datos Avanzados

35

Potenciando los Datos en la Nube: Data Science, Big Data, ML e AI

36

SQL para Análisis de Datos: Primeros pasos con Power BI

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

2 Días
2 Hrs
31 Min
3 Seg

Seguridad en Bases de Datos SQL

34/36

Reading

GRANT:

GRANT is used to grant specific permissions to users or roles in a database. These permissions determine what operations users can perform on database objects, such as tables, views, stored procedures, etc.

...

Register or login to read the rest of the content.

Contributions 4

Questions 0

Sort by:

Want to see more contributions, questions and answers from the community?

### Ejemplo Práctico: Configuración de Seguridad Básica en PostgreSQL **Crear un Usuario y Asignar Roles** ```js CREATE ROLE secure_user WITH LOGIN PASSWORD 'secure_password'; GRANT CONNECT ON DATABASE your_database TO secure_user; GRANT USAGE ON SCHEMA public TO secure_user; GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO secure_user; ``` ### Conclusión Implementar medidas de seguridad en bases de datos SQL es esencial para proteger los datos contra accesos no autorizados, ataques y pérdida de información. Siguiendo las mejores prácticas mencionadas y utilizando las herramientas disponibles, puedes mejorar significativamente la seguridad de tus bases de datos.
Caro 👩‍💻 no conocía a REVOKE para eliminar los permisos en nuestra base de datos
Es importante saber la diferencia entre rol y privilegio: * **PRIVILEGIO**. Es un permiso de ejecutar una acción a través de una instrucción que se puede otorgar a un usuario. * **ROL.** Un rol es un conjunto de permisos predefinidos que se puede asignar a un usuario o grupo de usuarios. Existen roles fijos de servidor y roles fijos de base de datos, así como roles definidos por el usuario. Con 'GRANT' solo se puede asignar un privilegio, es decir una accion en especifico, por lo que si quieres que un usuario solo pueda consultar determinadas tablas, seria conveniente su uso. Mientras que si quieres que pueda consultar, actualizar, insertar y borrar datos, seria mas facil asignar un rol para darle un conjunto de privilegios.
\# GRANT y REVOKE en SQL: Control de Permisos \### 1. Ejemplos Básicos de GRANT ```sql \-- Otorgar permisos de lectura GRANT SELECT ON tabla\_ventas TO usuario\_reportes; \-- Otorgar múltiples permisos GRANT SELECT, INSERT, UPDATE ON productos TO usuario\_inventario; \-- Otorgar todos los permisos GRANT ALL PRIVILEGES ON base\_datos.\* TO admin\_sistema; ``` \### 2. Ejemplos de REVOKE ```sql \-- Revocar permiso específico REVOKE DELETE ON clientes FROM usuario\_ventas; \-- Revocar múltiples permisos REVOKE INSERT, UPDATE ON inventario FROM usuario\_temporal; \-- Revocar todos los permisos REVOKE ALL PRIVILEGES ON \*.\* FROM usuario\_antiguo; ``` \### 3. Permisos para Roles ```sql \-- Crear un rol CREATE ROLE rol\_ventas; \-- Asignar permisos al rol GRANT SELECT, INSERT ON ventas TO rol\_ventas; GRANT SELECT ON productos TO rol\_ventas; \-- Asignar rol a usuario GRANT rol\_ventas TO usuario\_nuevo; ``` \### 4. Casos de Uso Comunes ```sql \-- Permisos para área de ventas GRANT SELECT, INSERT ON ventas TO equipo\_ventas; GRANT SELECT ON productos TO equipo\_ventas; GRANT SELECT ON clientes TO equipo\_ventas; \-- Permisos para reportes GRANT SELECT ON \*.\* TO equipo\_reportes; \-- Permisos administrativos GRANT ALL PRIVILEGES ON base\_datos.\* TO administrador WITH GRANT OPTION; ``` \### 5. Gestión de Seguridad ```sql \-- Crear usuario con contraseña CREATE USER 'usuario\_nuevo'@'localhost' IDENTIFIED BY 'contraseña\_segura'; \-- Otorgar permisos básicos GRANT SELECT, INSERT, UPDATE ON base\_datos.\* TO 'usuario\_nuevo'@'localhost'; \-- Revocar acceso completo REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'usuario\_antiguo'@'localhost'; ``` \### Buenas Prácticas: 1\. \*\*Principio de Mínimo Privilegio\*\* ```sql \-- Solo los permisos necesarios GRANT SELECT ON vista\_ventas TO analista; GRANT EXECUTE ON calcular\_total TO cajero; ``` 2\. \*\*Usar Roles para Grupos\*\* ```sql \-- Crear y gestionar roles CREATE ROLE rol\_cajeros; GRANT SELECT, INSERT ON ventas TO rol\_cajeros; GRANT rol\_cajeros TO nuevo\_cajero; ``` 3\. \*\*Auditoría de Permisos\*\* ```sql \-- Verificar permisos de usuario SHOW GRANTS FOR 'usuario'@'localhost'; \-- Revisar roles asignados SELECT \* FROM mysql.role\_edges; ``` \### Consideraciones Importantes: 1\. \*\*Seguridad\*\*: \- Revisar permisos regularmente \- Documentar cambios de permisos \- Usar roles en lugar de permisos individuales 2\. \*\*Mantenimiento\*\*: \- Eliminar usuarios inactivos \- Actualizar permisos según necesidades \- Mantener registro de cambios 3\. \*\*Mejores Prácticas\*\*: \- Evitar usar 'WITH GRANT OPTION' innecesariamente \- Limitar acceso por IP cuando sea posible \- Usar nombres descriptivos para roles Los permisos son cruciales para: \- Seguridad de datos \- Control de acceso \- Cumplimiento normativo \- Auditoría