mysql | Otorgar/revocar privilegios

Concesión de privilegios

Ya hemos aprendido sobre cómo crear un usuario en MySQL usando MySQL | crear declaración de usuario . Pero el uso de la declaración Crear usuario solo crea un nuevo usuario pero no otorga ningún privilegio a la cuenta de usuario. Por lo tanto, para otorgar privilegios a una cuenta de usuario, se usa la declaración GRANT.

Sintaxis:

GRANT privileges_names ON object TO user;

Parámetros utilizados :

  • privilegios_nombre : Estos son los derechos de acceso o privilegios otorgados al usuario.
  • objeto: Es el nombre del objeto de la base de datos al que se le están otorgando permisos. En el caso de otorgar privilegios sobre una tabla, este sería el nombre de la tabla.
  • usuario: Es el nombre del usuario al que se le otorgarían los privilegios.

Privilegios :
los privilegios que se pueden otorgar a los usuarios se enumeran a continuación junto con la descripción:

Aprendamos ahora sobre las diferentes formas de otorgar privilegios a los usuarios:

  1. Otorgar el privilegio SELECT a un usuario en una tabla : para otorgar el privilegio Select a una tabla llamada «usuarios» donde el nombre de usuario es Amit, se debe ejecutar la siguiente instrucción GRANT.
    GRANT SELECT ON Usuarios TO'Amit'@'localhost;
  2. Otorgar más de un Privilegio a un Usuario en una Tabla : Para otorgar múltiples Privilegios a un usuario llamado “Amit” en una tabla “usuarios”, se debe ejecutar la siguiente instrucción GRANT.
    CONCEDER SELECCIONAR, INSERTAR, ELIMINAR, ACTUALIZAR EN Usuarios A 'Amit'@'localhost;
  3. Otorgar todos los privilegios a un usuario en una tabla : para otorgar todos los privilegios a un usuario llamado «Amit» en una tabla «usuarios», se debe ejecutar la siguiente declaración de concesión.
    OTORGAR TODOS LOS USUARIOS A 'Amit'@'localhost;
  4. Otorgar un privilegio a todos los usuarios en una tabla : para otorgar un privilegio específico a todos los usuarios en una tabla «usuarios», se debe ejecutar la siguiente declaración de concesión.
    GRANT SELECT ON Usuarios TO '*'@'localhost;

    En el ejemplo anterior, el símbolo «*» se usa para otorgar permiso de selección a todos los usuarios de la tabla «usuarios».

  5. Otorgamiento de privilegios en funciones/procedimientos : al usar funciones y procedimientos, la instrucción Grant se puede usar para otorgar a los usuarios la capacidad de ejecutar las funciones y procedimientos en MySQL.

    Otorgar privilegio de ejecución: el privilegio de ejecución brinda la capacidad de ejecutar una función o procedimiento.

    Sintaxis:

    OTORGAR EJECUTAR EL [ PROCEDIMIENTO | FUNCIÓN ] objeto PARA usuario;

    Diferentes formas de otorgar privilegios de EJECUTAR:

    • Concesión de privilegios EXECUTE en una función en MySQL. : Si hay una función llamada «CalculateSalary» y desea otorgar acceso EXECUTE al usuario llamado Amit, entonces se debe ejecutar la siguiente instrucción GRANT.
      OTORGAR EJECUTAR EN FUNCIÓN Calculatesalary TO 'Amit'@localhost';
    • Otorgar privilegios de EJECUTAR a todos los usuarios en una función en MySQL. : Si hay una función llamada «CalculateSalary» y desea otorgar acceso EXECUTE a todos los usuarios, entonces se debe ejecutar la siguiente instrucción GRANT.
      CONCEDER EJECUTAR EN FUNCIÓN Calculatesalary TO '*'@localhost';
    • Otorgar el privilegio EXECUTE a Usuarios en un procedimiento en MySQL. : Si hay un procedimiento llamado «DBMSProcedure» y desea otorgar acceso EXECUTE al usuario llamado Amit, entonces se debe ejecutar la siguiente instrucción GRANT.
      GRANT EXECUTE ON PROCEDURE DBMSProcedure TO 'Amit'@localhost';
    • Otorgar privilegios de EJECUTAR a todos los usuarios en un procedimiento en MySQL. : Si hay un procedimiento llamado «DBMSProcedure» y desea otorgar acceso EXECUTE a todos los usuarios, entonces se debe ejecutar la siguiente instrucción GRANT.
      GRANT EXECUTE ON PROCEDURE DBMSProcedure TO '*'@localhost';

Comprobación de los privilegios otorgados a un usuario : para ver los privilegios otorgados a un usuario en una tabla, se utiliza la instrucción SHOW GRANTS. Para verificar los privilegios otorgados a un usuario llamado «Amit» y host como «localhost», se ejecutará la siguiente instrucción SHOW GRANTS:

SHOW GRANTS FOR  'Amit'@localhost'; 

Producción :

GRANTS FOR  Amit@localhost 

GRANT USAGE ON *.* TO `SUPER`@localhost` 

Revocación de privilegios de una tabla

La sentencia Revoke se utiliza para revocar algunos o todos los privilegios que se han concedido a un usuario en el pasado.

Sintaxis:

REVOKE privileges ON object FROM user;

Parámetros utilizados :

  • objeto: Es el nombre del objeto de la base de datos del cual se revocan los permisos. En el caso de revocar privilegios de una tabla, este sería el nombre de la tabla.
  • usuario: Es el nombre del usuario al que se le revocan los privilegios.

Privilegios Los
privilegios pueden tener los siguientes valores:

Diferentes formas de revocar privilegios de un usuario:

  1. Revocación del privilegio SELECT a un usuario en una tabla : para revocar el privilegio Select a una tabla llamada «usuarios» donde el nombre de usuario es Amit, se debe ejecutar la siguiente declaración de revocación.
    REVOQUE SELECCIONAR EN usuarios A 'Amit'@localhost';
  2. Revocación de más de privilegios a un usuario en una tabla : para revocar múltiples privilegios a un usuario llamado «Amit» en una tabla «usuarios», se debe ejecutar la siguiente declaración de revocación.
    REVOCAR SELECCIONAR, INSERTAR, ELIMINAR, ACTUALIZAR EN Usuarios A 'Amit'@'localhost;
  3. Revocación de todos los privilegios a un usuario en una tabla : para revocar todos los privilegios a un usuario llamado «Amit» en una tabla «usuarios», se debe ejecutar la siguiente declaración de revocación.

    REVOQUE TODOS LOS Usuarios A 'Amit'@'localhost;
  4. Revocación de un privilegio a todos los usuarios en una tabla : para revocar un privilegio específico a todos los usuarios en una tabla «usuarios», se debe ejecutar la siguiente declaración de revocación.
    REVOCAR SELECCIONAR EN Usuarios A '*'@'localhost;
  5. Revocación de privilegios en funciones/procedimientos : al usar funciones y procedimientos, la declaración de revocación se puede usar para revocar los privilegios de los usuarios que han tenido privilegios de EJECUCIÓN en el pasado.

    Sintaxis:

    REVOCAR EJECUTAR EL [ PROCEDIMIENTO | FUNCIÓN] objeto DEL usuario;
    • Revocación de privilegios EXECUTE en una función en MySQL. : Si hay una función llamada «CalculateSalary» y desea revocar el acceso EXECUTE al usuario llamado Amit, entonces se debe ejecutar la siguiente declaración de revocación.
      REVOCAR EJECUTAR EN FUNCIÓN Calculatesalary TO 'Amit'@localhost';
    • Revocación de privilegios de EJECUTAR a todos los usuarios en una función en MySQL. : Si hay una función llamada «CalculateSalary» y desea revocar el acceso EXECUTE a todos los usuarios, entonces se debe ejecutar la siguiente declaración de revocación.
      REVOCAR EJECUTAR EN FUNCIÓN Calculatesalary TO '*'@localhost';
    • Revocación del privilegio EXECUTE a Usuarios en un procedimiento en MySQL. : Si hay un procedimiento llamado «DBMSProcedure» y desea revocar el acceso EXECUTE al usuario llamado Amit, entonces se debe ejecutar la siguiente declaración de revocación.
      REVOQUE EJECUTAR EN PROCEDIMIENTO DBMSProcedure TO 'Amit'@localhost';
    • Revocación de privilegios de EJECUTAR a todos los usuarios en un procedimiento en MySQL. : Si hay un procedimiento llamado «DBMSProcedure» y desea revocar el acceso EXECUTE a todos los usuarios, entonces se debe ejecutar la siguiente declaración de revocación.
      REVOKE EXECUTE ON PROCEDURE DBMSProcedure TO '*'@localhost';

Publicación traducida automáticamente

Artículo escrito por Shubrodeep Banerjee y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *