Cómo usar los roles de SQL Server

Cómo usar los roles de SQL Server

Los usos del servidor SQL es almacenar, recuperar y manipular los datos. Una de las características clave del servidor SQL es su capacidad para otorgar y administrar permisos a diferentes usuarios y grupos. Los roles de SQL Server son una herramienta poderosa que permite a los administradores de la base de datos asignar un conjunto de permisos a un grupo de usuarios con necesidades similares.

Este artículo proporciona una guía sobre cómo usar los roles de SQL Server, incluida una descripción general de los diferentes tipos de roles disponibles, ejemplos de cómo asignar estos roles a los usuarios y consejos sobre cómo administrar estos roles.

¿Cuáles son los roles SQL??

Los roles permiten que el DBA administre los permisos de manera más eficiente. Necesitamos crear los roles primero. Luego, asignamos los permisos a los roles y luego agregamos los inicios de sesión a los roles, en consecuencia.

El servidor SQL admite principalmente dos tipos de roles:

  • Roles de servidor fijos: Estos roles ya tienen un conjunto predefinido de permisos.
  • Roles del servidor definidos por el usuario: Estos roles se pueden cambiar para cumplir con los requisitos de su organización.

Tipos de roles de SQL Server

El servidor SQL proporciona varios roles incorporados que se pueden usar para asignar permisos a los usuarios. Estos son algunos de los roles más comunes y sus permisos correspondientes:

  • Bulkadmin: Los miembros del rol de servidor fijo bulkadmin pueden ejecutar la instrucción "inserción masiva".
  • Sysadmin: Este rol tiene el más alto nivel de permisos y puede realizar cualquier acción en la instancia de SQL Server, incluida la creación, modificación y eliminación de las bases de datos e inicios de sesión.
  • ServerAdmin: Este rol puede configurar la configuración a nivel de servidor, como la asignación de memoria y los protocolos de red, pero no puede modificar las bases de datos.
  • SecurityAdmin: Este rol puede administrar los inicios de sesión y sus permisos, incluida la creación y modificación de los inicios de sesión, roles y contraseñas.
  • ProcessAdmin: El rol de servidor de procesos de procesos otorga a sus miembros la capacidad de finalizar o detener los procesos que actualmente se están ejecutando dentro de una instancia del motor de la base de datos de SQL Server.
  • creador: Esto tiene los permisos para crear, modificar y eliminar las bases de datos, pero no posee la autoridad para ejecutar ninguna otra tarea administrativa.
  • diskadmin: Este rol puede administrar los archivos de disco, como crear y eliminar archivos y agregar o eliminar discos.
  • DataReader: El rol de DataReader tiene la capacidad de acceder y leer toda la información que se almacena en las tablas de usuario de una base de datos.
  • DataWriter: El rol de DataWriter posee la autoridad para insertar, actualizar y eliminar los datos de todas las tablas de usuario dentro de una base de datos.
  • ddladmin: Este rol puede crear, modificar y soltar los desencadenantes y objetos DDL (vistas, tablas y procedimientos almacenados).
  • público: De manera predeterminada, todos los usuarios, grupos y roles de SQL Server se incluyen automáticamente en el rol público de servidor fijo.

Creación del rol de servidor definido por el usuario utilizando GUI

La creación de un papel de servidor definido por el usuario en SQL Server se puede realizar a través de GUI utilizando el SQL Server Management Studio (SSMS). Para crear un rol de servidor definido por el usuario utilizando la GUI en SSMS, siga estos pasos:

1. Inicie el estudio de administración de SQL Server (SSMS) y establezca una conexión con la instancia específica de SQL Server.

2. Vaya a Security -> Roles del servidor-> Nuevo rol de servidor.

3. Especifique un nombre para el nuevo papel en la página general.

4. Especifique los Securables a nivel de servidor en el que el rol tendrá permisos en la página Securables.

5. Agregue cualquier usuario u otros roles en la página de miembros.

Crear y usar el rol del servidor a través de T-SQL

Crear y usar un rol de servidor usando T-SQL en el servidor SQL es otra forma de administrar los permisos a nivel de servidor. Para crear un rol de servidor definido por el usuario usando T-SQL, tenemos que seguir estos pasos:

1. Abra una nueva ventana de consulta y ejecute el siguiente código para crear el nuevo rol de servidor:

-- << Create a user defined Server role
Usa [maestro]
IR
Crear rol de servidor [Junior DBA]
IR

En este ejemplo, creamos un nuevo rol de servidor: "Junior DBA".

2. Ejecute el siguiente código para otorgar permisos al nuevo rol:

usa [maestro]
IR
Grant crea cualquier base de datos --<< now can create db
A [Junior DBA]
IR

En este ejemplo, permitimos el permiso para el nuevo rol, "Junior DBA", para crear las bases de datos.

Vista de subvención cualquier base de datos --<< only can view any db but not tables
A [Junior DBA]
IR

En este ejemplo, el comando "Vista de subvención cualquier base de datos" se utiliza para otorgar un permiso a nivel de servidor que permite que el rol vea los metadatos para cualquier base de datos en el servidor. En este caso, otorgamos este permiso al rol de servidor "Junior DBA" que creamos anteriormente.

Sin embargo, es importante tener en cuenta que otorgar el permiso de "ver cualquier base de datos" no le da al usuario o el permiso de rol para acceder a cualquier dato dentro de las bases de datos, simplemente les permite ver los metadatos (como nombres de bases de datos y esquemas).

3. Agregue una cuenta de inicio de sesión o usuario al nuevo rol ejecutando el siguiente código:

--Agregar inicios de sesión SQL al nuevo rol de servidor
Alterar rol de servidor [Junior DBA]
Agregar miembro [Papan]
IR
Alterar rol de servidor [Junior DBA]
Agregar miembro [RIMA]
IR

En este ejemplo, agregamos las cuentas "Papan" y "Rima" como miembros del papel "Junior DBA".

Conclusión

Los roles de SQL Server proporcionan una herramienta poderosa para administrar los permisos en un entorno de base de datos. Al asignar roles a los usuarios, puede asegurarse de que tengan el nivel apropiado de acceso a los datos que necesitan sin darles privilegios innecesarios. Ya sea que esté administrando una pequeña base de datos o un sistema empresarial grande, comprender cómo usar los roles de SQL Server es una habilidad importante que puede ayudarlo a mantener la seguridad y la integridad de sus datos.