Compartir a través de


Roles de servidor y base de datos en SQL Server (ADO.NET)

Todas las versiones de SQL Server usan la seguridad basada en roles, que permite asignar permisos a un rol, o grupo de usuarios, en lugar de asignarlos a usuarios individuales. Los roles fijos de servidor y base de datos cuentan con un conjunto fijo de permisos asignados.

Roles fijos de servidor

Los roles fijos de servidor cuentan con un conjunto fijo de permisos y ámbito de servidor. Están pensadas para su uso en la administración de SQL Server y los permisos asignadas a ellas no se pueden modificar. Se pueden asignar inicios de sesión a los roles fijos de servidor sin necesidad de disponer de una cuenta de usuario en una base de datos.

Nota de seguridadNota sobre la seguridad

El rol fijo de servidor sysadmin incluye a todos los demás roles y cuenta con un ámbito ilimitado.No agregue entidades de seguridad a este rol a menos que sean de total confianza.Los miembros del rol sysadmin disponen de permisos administrativos irrevocables en todas las bases de datos y recursos del servidor.

Sea selectivo a la hora de agregar usuarios a los roles fijos de servidor. Por ejemplo, el rol bulkadmin permite a los usuarios insertar el contenido de cualquier archivo local en una tabla, lo que puede poner en peligro la integridad de los datos. Para consultar la lista completa de permisos y roles fijos de servidor, vea los Libros en pantalla de SQL Server 2005. Los roles fijos de servidor de SQL Server 2000 utilizan los mismos nombres y los conjuntos de permisos según corresponde en SQL Server 2000.

Roles fijos de base de datos

Los roles fijos de base de datos incluyen un conjunto predefinido de permisos diseñados para permitir administrar grupos de permisos con facilidad. Los miembros del rol db_owner pueden realizar todas las actividades de configuración y mantenimiento de la base de datos.

Para obtener más información sobre los roles predefinidos en SQL Server, vea los siguientes recursos.

Recurso

Descripción

Roles de nivel de servidor y Permisos de los roles fijos de servidor en los Libros en pantalla de SQL Server 2005

Describe los roles fijos de servidor y los permisos asociados a ellas en SQL Server 2005.

Roles en el nivel de base de datos y Permisos de los roles fijos de base de datos en los Libros en pantalla de SQL Server 2005

Describe los roles fijos de base de datos y los permisos asociados a ellas.

Agregar un miembro a un rol predefinido en los Libros en pantalla de SQL Server 2000

Describe los permisos asociados a los roles fijos de servidor y base de datos, y muestra cómo agregar miembros a los roles.

Roles y usuarios de base de datos

Para trabajar con objetos de base de datos, se deben asignar inicios de sesión a cuentas de usuario de base de datos. Estos usuarios de base de datos se podrán agregar entonces a roles de base de datos y heredarán los conjuntos de permisos asociados con estos roles. A partir de SQL Server 2005, se pueden conceder todos los permisos.

A la hora de diseñar la seguridad para la aplicación, también debe tener en cuenta el rol public, la cuenta de usuario dbo y la cuenta guest.

Rol public

El rol public está contenido en todas las bases de datos, incluidas las bases de datos del sistema. No se puede eliminar y no se pueden agregar ni quitar usuarios de ella. Todos los usuarios y los demás roles heredan los permisos concedidos al rol public, ya que pertenecen de forma predeterminada al rol public. Por tanto, solo debe conceder al rol public los permisos que desee que tengan todos los usuarios.

Cuenta de usuario dbo

dbo, o propietario de base de datos, es una cuenta de usuario con permisos implícitos para realizar todas las actividades en la base de datos. Los miembros del rol fijo del servidor sysadmin se asignan automáticamente a dbo.

NotaNota

A partir de SQL Server 2005, dbo es también el nombre de un esquema, como se explica en Propiedad y separación usuario-esquema en SQL Server (ADO.NET).

La cuenta de usuario dbo se confunde a menudo con el rol fijo de base de datos db_owner. El ámbito de db_owner es una base de datos y el ámbito de sysadmin es el servidor completo. La pertenencia al rol db_owner no proporciona privilegios de usuario dbo.

Cuenta de usuario guest

Después de que un usuario se haya autenticado y se le haya permitido iniciar sesión en una instancia de SQL Server, debe existir una cuenta de usuario independiente en cada base de datos a la que tenga acceso el usuario. Si se exige una cuenta de usuario en cada base de datos, se impide que los usuarios se conecten a una instancia de SQL Server y puedan tener acceso a todas las bases de datos de un servidor. La existencia de una cuenta de usuario guest en la base de datos evita este requisito, ya que permite que un inicio de sesión sin cuenta de usuario de base de datos tenga acceso a una base de datos.

La cuenta guest es una cuenta integrada en todas las versiones de SQL Server. De forma predeterminada, está deshabilitada en las bases de datos nuevas. Si está habilitada, se puede deshabilitar mediante la revocación de su permiso CONNECT, que se lleva a cabo con la ejecución de la instrucción REVOKE CONNECT FROM GUEST de Transact-SQL. En SQL Server 2000 se puede deshabilitar mediante la ejecución de los procedimientos almacenados sp_dropuser o sp_revokedbaccess de Transact-SQL.

Nota de seguridadNota sobre la seguridad

Se debe evitar el uso de la cuenta guest, ya que todos los inicios de sesión que no dispongan de permisos de base de datos propios obtendrán los permisos de base de datos concedidos a esta cuenta.Si debe usar la cuenta guest, concédale los permisos mínimos.

Para obtener más información sobre los inicios de sesión, los usuarios y los roles de SQL Server, vea los siguientes recursos.

Recurso

Descripción

Identidad y control de acceso en los Libros en pantalla de SQL Server 2008

Contiene vínculos a temas que describen las entidades de seguridad, los roles, las credenciales, los elementos que pueden protegerse y los permisos.

Entidades de seguridad en los Libros en pantalla de SQL Server 2005

Describe las entidades de seguridad y contiene vínculos a temas que describen los roles de servidor y de base de datos.

Creating Security Accounts y Managing Security Accounts en los Libros en pantalla de SQL Server 2000

Describe cómo se crean y se administran los inicios de sesión, los usuarios y los roles.

Vea también

Conceptos

Escenarios de seguridad de aplicaciones en SQL Server (ADO.NET)

Autenticación en SQL Server (ADO.NET)

Propiedad y separación usuario-esquema en SQL Server (ADO.NET)

Autorización y permisos en SQL Server (ADO.NET)

Otros recursos

Proteger aplicaciones de ADO.NET