Entidades de seguridad (motor de base de datos)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Las entidades de seguridad son entidades que pueden solicitar recursos de SQL Server. Igual que otros componentes del modelo de autorización de SQL Server , las entidades de seguridad se pueden organizar en jerarquías. El ámbito de influencia de una entidad de seguridad depende del ámbito de su definición: Windows, servidor o base de datos; y de si la entidad de seguridad es indivisible o es una colección. Un Inicio de sesión de Windows es un ejemplo de entidad de seguridad indivisible y un Grupo de Windows es un ejemplo de una del tipo colección. Toda entidad de seguridad tiene un identificador de seguridad (SID). Este tema se aplica a todas las versiones de SQL Server, pero hay algunas restricciones en las entidades de seguridad a nivel de servidor de SQL Database o Azure Synapse Analytics.
Nota:
Microsoft Entra ID conocido anteriormente como Azure Active Directory (Azure AD).
Entidades de seguridad de nivel de SQL Server
- Inicio de sesión para la autenticación de SQL Server
- Inicio de sesión con autenticación de Windows para un usuario de Windows
- Inicio de sesión con autenticación de Windows para un grupo de Windows
- Inicio de sesión de autenticación de Microsoft Entra para un usuario de Microsoft Entra
- Inicio de sesión de autenticación de Microsoft Entra para un grupo de Microsoft Entra
- Rol de servidor
Entidades de seguridad de nivel de bases de datos
- Usuario de la base de datos (Existen 12 tipos de usuarios. Para más información, vea CREATE USER).
- Rol de base de datos
- Rol de aplicación
Inicio de sesión sa
El inicio de sesión de SQL Server sa
es una entidad de seguridad a nivel de servidor. Se crea de forma predeterminada cuando se instala una instancia. A partir de SQL Server 2005 (9.x), la base de datos predeterminada de sa es master. Es un cambio de comportamiento con respecto a versiones anteriores de SQL Server. El inicio de sesión sa
es miembro del rol fijo de nivel de servidorsysadmin
. Este inicio de sesión sa
tiene todos los permisos en el servidor y no puede limitarse. Además, sa
no se puede quitar, pero puede deshabilitarse para que nadie lo emplee.
Usuario y esquema dbo
El usuario dbo
es una entidad de seguridad de usuario especial que hay en cada base de datos. Todos los administradores de SQL Server, los miembros del rol fijo de servidor sysadmin
, el inicio de sesión sa
y los propietarios de la base de datos especifican las bases de datos como el usuario dbo
. El usuario dbo
tiene todos los permisos en la base de datos y no se limitar ni quitar. dbo
representa el propietario de la base de datos, pero la cuenta de usuario dbo
no es lo mismo que el rol fijo de base de datos db_owner
, mientras que el rol fijo de base de datos db_owner
no es lo mismo que la cuenta de usuario que se registra como el propietario de la base de datos.
El usuario dbo
tiene la propiedad del esquema dbo
. El esquema dbo
es el predeterminado para todos los usuarios, salvo que se especifique otro. El esquema dbo
no puede quitarse.
Rol público de base de datos y de servidor
Cada inicio de sesión pertenece al rol fijo de servidor public
y cada usuario de base de datos pertenece al rol de base de datos public
. Cuando a un usuario o inicio de sesión no se le han concedido ni denegado permisos concretos para un elemento protegible, hereda los permisos para ese elemento concedidos a public. El rol fijo de servidor public
y el de base de datos public
no pueden quitarse. Sin embargo, puede revocar los permisos de los roles public
. Hay muchos de los permisos que se asignan a los roles public
de forma predeterminada. La mayoría de estos permisos son necesarios para realizar operaciones rutinarias en la base de datos; el tipo de tareas que todo el mundo debe poder hacer. Tenga cuidado al revocar permisos desde el usuario o el inicio de sesión público, ya que afectará a todos los inicios de sesión y usuarios. Normalmente, no debe denegar permisos a public, ya que la instrucción deny invalida cualquier instrucción grant que podrían crear para los usuarios.
INFORMATION_SCHEMA, y usuarios y esquemas sys
Todas las bases de datos incluyen dos entidades que aparecen como usuarios en las vistas de catálogo:INFORMATION_SCHEMA
y sys
. Estas entidades son necesarias para uso interno por parte del motor de base de datos. No se pueden modificar ni quitar.
Inicios de sesión de SQL Server basados en certificados
Las entidades de seguridad de servidor con nombres incluidos entre signos de número dobles (##) son exclusivamente para uso interno del sistema. Las siguientes entidades de seguridad se crean a partir de certificados cuando se instala SQL Server, y no deben eliminarse.
- ##MS_SQLResourceSigningCertificate##
- ##MS_SQLReplicationSigningCertificate##
- ##MS_SQLAuthenticatorCertificate##
- ##MS_AgentSigningCertificate##
- ##MS_PolicyEventProcessingLogin##
- ##MS_PolicySigningCertificate##
- ##MS_PolicyTsqlExecutionLogin##
Estas cuentas principales no tienen contraseñas que los administradores puedan cambiar, ya que se basan en certificados emitidos a Microsoft.
Usuario guest
Cada base de datos incluye un usuario guest
. Los permisos concedidos al usuario guest
se aplican a todos los usuarios que tienen acceso a la base de datos, pero no disponen de una cuenta en la base de datos. No se puede quitar el usuario guest
, pero se puede deshabilitar si se revoca su permiso CONNECT. El permiso CONNECT se puede revocar si se ejecuta REVOKE CONNECT FROM GUEST;
en cualquier base de datos que no sea master
ni tempdb
.
Related Tasks
Para más información acerca de cómo diseñar un sistema de permisos, consulte Getting Started with Database Engine Permissions.
Los siguientes temas están incluidos en esta sección de SQL Server Books Online:
Consulte también
Proteger SQL Server
sys.database_principals (Transact-SQL)
sys.server_principals (Transact-SQL)
sys.sql_logins (Transact-SQL)
sys.database_role_members (Transact-SQL)
Roles de nivel de servidor
Roles de nivel de base de datos