Cómo enumerar o modificar roles de usuario en SQL Server – TrucosInformaticos

General

Las funciones de Microsoft SQL Server son una parte central de la seguridad del servidor de bases de datos. Los roles se utilizan para controlar el acceso a objetos y asignar permisos a usuarios y/o grupos de seguridad. Los roles de SQL Server son similares a los grupos de usuarios de Windows. En este artículo veremos cómo ver la lista de roles de SQL Server asignados a un usuario y cómo agregar/eliminar un rol.

SQL Server tiene varios roles de base de datos y servidor predefinidos (fijos) que se utilizan para realizar tareas comunes:

  • Roles fijos a nivel de servidor – roles creados utilizados para asignar permisos en SQL Server. Por ejemplo, estos roles permiten cambiar la configuración del servidor, crear una nueva base de datos, etc.
  • Roles fijos a nivel de base de datos – permitir gestionar permisos sobre bases de datos. Cuando se usa, debe otorgar permisos para crear una tabla en la base de datos o consultar datos.

Los permisos asignados a roles fijos de SQL Server no se pueden cambiar.

El administrador también puede crear servidor definido por el usuario o roles de base de datos con un conjunto personalizado de permisos.

Administrar roles de usuario con Microsoft SQL Server Management Studio

Utilice Microsoft SQL Server Management Studio (SSMS) para ver una lista de funciones fijas de SQL Server. Ejecute SSMS y conéctese al motor de base de datos.

Roles de servidor fijos están disponibles bajo Seguridad > Roles de servidor. Estos son:

  • administrador de sistemas
  • administrador del servidor
  • administrador de seguridad
  • administrador de procesos
  • administrador de configuración
  • administrador masivo
  • administrador de disco
  • creador de bases de datos
  • público

Cada base de datos tiene su propio conjunto de roles fijos a nivel de base de datos. Ampliar el Base de datos > Seguridad > Roles > Roles de base de datos:

  • propietario_db
  • db_securityadmin
  • db_accessadmin
  • operador_db_backup
  • db_ddladmin
  • db_datawriter
  • db_datareader
  • db_denydatawriter
  • db_denydatareader
  • público

roles de base de datos sql

Los miembros de una función de base de datos pueden ser

  • Grupos y cuentas de usuario de Windows y/o Active Directory
  • Inicios de sesión de SQL Server
  • Otros roles (no agregue roles de base de datos definidos por el usuario como miembros de roles fijos; esto podría usarse para escalar privilegios)

En este ejemplo, asignaremos varias funciones fijas de SQL Server a una cuenta de usuario de Active Directory.

  1. Primero, agregue el usuario de AD a los inicios de sesión de SQL Server. Expandir Seguridad > Iniciar sesión y seleccione Nuevo inicio de sesión;
    roles de base de datos del servidor SQL
  2. Seleccionar autenticación de Windows y haga clic en el Buscar botón;
  3. Seleccione su dominio como ubicación de búsqueda, escriba el nombre de usuario de AD y haga clic Verificar nombres; rol en sql
  4. A continuación, vaya a Funciones del servidor y seleccione los roles de servidor global que desea otorgar al usuario.
    Roles de servidor y base de datos en SQL Server.
  5. R La nueva cuenta de usuario de AD debería aparecer en la lista de inicios de sesión del servidor SQL.
    Rol del servidor en el servidor SQL.
  6. Si desea agregar o eliminar roles de usuario, abra las propiedades de la cuenta y realice cambios en la pestaña Roles del servidor.

Si desea otorgar una función de nivel de base de datos a un usuario de AD, primero agregue su cuenta a la lista de usuarios de base de datos, luego abra las propiedades de la función de la base de datos y agregue un usuario como miembro de la función.

Roles del servidor SQL y roles de la base de datos.

Cómo agregar o enumerar roles de usuario en SQL Server con consultas Transact-SQL

Puede utilizar las consultas del lenguaje T-SQL para agregar o eliminar roles de SQL Server de los usuarios.

Abra el SSMS y haga clic Nueva consulta.

rol en sql

Para agregar un usuario de AD a los inicios de sesión del servidor SQL, utilice la siguiente consulta:

CREATE LOGIN login_name FROM THEITBROS\k.ziegler;

GO

Pegue este código en la ventana de consulta SSMS y haga clic en Ejecutar botón.

Consultas Transact-SQL

Ahora puedes asignar una función de servidor al usuario:

ALTER SERVER ROLE serveradmin ADD MEMBER "THEITBROS\k.ziegler";

Asigne un rol a nivel de base de datos:

use DBNAME;

CREATE USER "THEITBROS\k.ziegler";

ALTER ROLE db_backupoperator ADD MEMBER "THEITBROS\k.ziegler";

Para eliminar un usuario de la función del servidor, ejecute:

ALTER SERVER ROLE serveradmin DROP MEMBER "THEITBROS\k.ziegler";

O desde un rol de base de datos:

ALTER ROLE db_backupoperator DROP MEMBER "THEITBROS\k.ziegler";

Listar las funciones del servidor de las que es miembro un usuario:

SELECT r.name as Role, m.name as Principal

from

master.sys.server_role_members rm

inner join

master.sys.server_principals r on r.principal_id = rm.role_principal_id and r.type="R"

inner join

master.sys.server_principals m on m.principal_id = rm.member_principal_id

where m.name = "THEITBROS\k.ziegler"

eliminar un usuario de la función del servidor

Consultar roles de usuario asignados en una base de datos específica:

use DBNAME;

select P.Name, R.Name

from sys.database_principals P

left outer join sys.database_role_members RM on P.principal_id=RM.member_principal_id

left outer join sys.database_principals R on R.principal_id=RM.role_principal_id

where P.Name="THEITBROS\k.ziegler"

Consultar roles de usuario asignados

Valora este post

Deja una respuesta

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