Protección de bases de datos MySQL con acceso limitado a bases de datos creadas por el usuario
En una configuración MySQL multiusuario, garantizar la seguridad de los datos es primordial. Un desafío común es permitir a los usuarios crear bases de datos mientras restringen su acceso solo a sus propias creaciones.
Para resolver este problema, MySQL proporciona un enfoque matizado utilizando nombres de bases de datos comodín. En lugar de otorgar privilegios a bases de datos específicas, la solución radica en otorgar privilegios a bases de datos con un prefijo o patrón específico.
Al utilizar el comando GRANT, puede otorgar todos los privilegios a bases de datos que coincidan con un patrón particular. La sintaxis para otorgar privilegios en un patrón que coincida con nombres de bases de datos es la siguiente:
GRANT ALL PRIVILEGES ON `.%` TO ' '@'%';
En este comando:
Por ejemplo:
GRANT ALL PRIVILEGES ON `testuser_%.` TO 'testuser'@'%';
Al ejecutar este comando, otorgas el usuario tiene privilegios de usuario de prueba en todas las bases de datos que comienzan con el prefijo usuario de prueba_. Esto permite al usuario de prueba crear bases de datos con nombres como testuser_demo, testuser_prod, etc. Sin embargo, el usuario de prueba no podrá ver ni acceder a bases de datos con nombres fuera de este patrón.
Este enfoque garantiza la escalabilidad, lo que permite que varios usuarios creen bases de datos de forma segura y al mismo tiempo restringe el acceso a sus propias creaciones.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3