SQL Grant: Asignar permisos

El Comando SQL GRANT se utiliza para proporcionar privilegios/permisos para modificar y recuperar objetos de la base de datos como tablas, vistas, secuencias, índices y sinónimos.

Este comando también otorga privilegios, como proporcionar los mismos permisos a un tercer usuario.

Puede CONCEDER o REVOCAR permisos mediante SSMS o ejecutando consultas T-SQL Script, en este articulo nos vamos a enfocar en utilizar el comando SQL Grant ejecutando consultas T-SQL Script,

Sintaxis del comando SQL Grant

Verifiquemos la sintaxis del comando SQL Grant

 Grant privilageName on objectName
 to {userName | public | roleName }

Parámetros del Comando SQL Grant 

  • Role o privilageName  : Representa el permiso que se va a otorgar.
  • objectName : Representa el nombre del objeto de la base de datos, es decir, vista, tabla, índice, etc.
  • userName : Representa el usuario al que se le va a dar permiso.
  • public : Representa que todos los usuarios de la base de datos tienen permisos.
  • role_name : representa que los usuarios con un rol en particular tienen estos permisos.

SQL grant

Sintaxis comando SQL Grant resumida

GRANT privilageName ON objectName TO user;

Ahora, aprenderemos a implementar a otorgar permisos a diferentes usuarios usando el comando SQL Grant.

1) Para otorgar permiso SELECT a un solo usuario: Para otorgar el permiso SELECT al director del colegio, escribimos el siguiente comando.

GRANT SELECT ON CLIENTE TO Director

2) Para otorgar el permiso SELECT al público:
 Escribimos el siguiente comando SQL Grant para otorgar el permiso SELECT a todos los usuarios de la base de datos.

GRANT SELECT ON CLIENTE TO PUBLIC

La cláusula WITH GRANT OPTION:

Esta cláusula se utiliza para permitir que el usuario que ya tiene algunos permisos en una tabla en particular pueda otorgar esos accesos a otros usuarios también. Por ejemplo, en el escenario anterior de la base de datos del negocio, al otorgar el permiso SELECCIONAR al director, si usamos esta cláusula, el director puede otorgar esos permisos a cualquier usuario de la base de datos.

GRANT SELECT ON CLIENTE TO Director WITH GRANT OPTION 

Para otorgar todos los permisos a un usuario en particular:

Para otorgar todos los permisos a un usuario en particular, podemos enumerar todas las palabras clave una por una después de la palabra clave otorgar, o podemos usar la palabra clave ALL para permitir que el usuario determinado realice todas las operaciones.

GRANT SELECT, INSERT, UPDATE, DELETE ON CLIENTE TO Director

O también podemos usar

GRANT ALL ON CLIENTE TO Director

Conclusión

  • Llegamos a la conclusión de que el comando SQL Grant se utiliza para permitir a los usuarios realizar ciertas acciones en los objetos de datos.
  • Estos permisos también se pueden propagar mediante la cláusula WITH GRANT OPTION de un usuario a otro.
  • EL comando SQL Grant es lo contrario a revoke en SQL server
  • También podemos dar más de un permiso de acción a un mismo usuario.
  • Objeto y privilegio: debe especificar el nombre del objeto y el privilegio que desea conceder. Asegúrese de que está concediendo el privilegio correcto al objeto correcto.
  • Usuario o rol: debe especificar el usuario al que se debe conceder el privilegio. Si especifica un rol, los privilegios se concederán a todos los usuarios que sean miembros de ese rol.
  • Opciones de concesión: puede especificar opciones de concesión adicionales OPTION FOR que sólo concede un tipo específico de operación (INSERT pero no UPDATE o DELETE).
  • Seguridad: Debe ser consciente de las implicaciones de seguridad de la concesión de privilegios. Conceda únicamente los privilegios mínimos necesarios para que el usuario o rol realice su trabajo. La concesión de privilegios innecesarios podría dar lugar a vulnerabilidades de seguridad.
  • Dependencia: Debe tener en cuenta las dependencias entre objetos y privilegios. La concesión de un privilegio requerido por otro objeto puede permitir a los usuarios tener acceso a ese objeto y sus dependencias.
  • Impacto: debe tener en cuenta el impacto de conceder un privilegio a los usuarios o aplicaciones que dependen de ese privilegio. Asegúrese de comunicar cualquier cambio a las partes afectadas y pruebe los cambios antes de realizarlos en un entorno de producción.
  • Permiso: Debe tener el permiso necesario para otorgar el privilegio. Asegúrese de tener el nivel adecuado de acceso y autorización antes de intentar conceder un privilegio.

Deja un comentario