Creación de un inicio de sesión
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
En este artículo se describe cómo crear un inicio de sesión en SQL Server o Azure SQL Database mediante SQL Server Management Studio (SSMS) o Transact-SQL. Un inicio de sesión es la identidad de la persona o proceso que se conecta a una instancia de SQL Server.
Nota:
Microsoft Entra ID conocido anteriormente como Azure Active Directory (Azure AD).
Fondo
Un inicio de sesión es una entidad de seguridad o una entidad que puede ser autenticada por un sistema seguro. Los usuarios necesitan un nombre de usuario para conectarse a SQL Server. Puede crear un inicio de sesión basado en una entidad de seguridad de Windows (como un usuario de dominio o un grupo de dominio de Windows) o puede crear un inicio de sesión que no esté basado en una entidad de seguridad de Windows (como un inicio de sesión de SQL Server).
Nota:
Para usar la autenticación de SQL Server, el motor de base de datos debe usar la autenticación de modo mixto. Para obtener más información, vea Elegir un modo de autenticación.
Azure SQL presentó las entidades de seguridad (inicios de sesión) de servidor de Microsoft Entra que se usarán para autenticarse en Azure SQL Database, Azure SQL Managed Instance y Azure Synapse Analytics (solo grupos de SQL dedicados).
SQL Server 2022 también presenta la autenticación de Microsoft Entra para SQL Server.
Como entidad de seguridad, se pueden conceder permisos a los inicios de sesión. El ámbito de un inicio de sesión es todo el motor de base de datos. Para conectarse a una base de datos específica en la instancia de SQL Server, se debe asignar un inicio de sesión a un usuario de base de datos. Los permisos dentro de la base de datos se conceden y deniegan al usuario de la base de datos, no al inicio de sesión. Los permisos que tienen el ámbito de toda la instancia de SQL Server (por ejemplo, el permiso CREATE ENDPOINT) se pueden conceder a un inicio de sesión.
Nota:
Cuando un usuario se conecta a SQL Server, la identidad se valida en la base de datos master
. Use usuarios de base de datos independiente para autenticar conexiones SQL Server y SQL Database a nivel de base de datos. No se necesita un inicio de sesión si se usan usuarios de base de datos independiente. Una base de datos independiente es una base de datos que está aislada de otras bases de datos y de la instancia de SQL Server o SQL Database (y la base de datos master
) que aloja la base de datos. SQL Server admite usuarios de base de datos independientes para la autenticación de Windows y SQL Server. Si usa SQL Database, combine usuarios de base de datos independiente con reglas de firewall a nivel de base de datos. Para obtener más información, vea Usuarios de base de datos independiente: hacer que la base de datos sea portátil.
Permisos
SQL Server requiere el permiso ALTER ANY LOGIN o ALTER LOGIN en el servidor, o el rol fijo de servidor ##MS_LoginManager## (SQL Server 2022 y posteriores).
SQL Database requiere la pertenencia al rol loginmanager o al rol fijo de servidor, ##MS_LoginManager##.
Crear un inicio de sesión mediante SSMS para SQL Server
En el Explorador de objetos, expanda la carpeta de la instancia de servidor en la que desea crear el nuevo inicio de sesión.
Haga clic con el botón derecho en la carpeta Seguridad, seleccione Nuevo y, después, haga clic en Inicio de sesión....
En el cuadro de diálogo Inicio de sesión - Nuevo, en la página General, escriba el nombre de un usuario en el cuadro Nombre de inicio de sesión. Si lo prefiere, seleccione Buscar... para abrir el cuadro de diálogo Seleccionar usuario o grupo.
Nota:
Es necesario permitir que determinados puertos se comuniquen con el controlador de dominio si busca una entidad de seguridad de Windows. Si tiene problemas para obtener resultados para la búsqueda, consulte Información general del servicio y requisitos de puertos de red para Windows.
Si selecciona Buscar...:
En Seleccionar este tipo de objeto, seleccione Tipos de objeto... para abrir el cuadro de diálogo Tipos de objeto y seleccione uno o todos los siguientes: Entidades de seguridad integradas, Grupos y Usuarios. Las opcionesEntidades de seguridad integradas y Usuarios están seleccionadas de forma predeterminada. Cuando termine, seleccione Aceptar.
En Desde esta ubicación, seleccione Ubicaciones... para abrir el cuadro de diálogo Ubicaciones y seleccione una de las ubicaciones de servidor disponibles. Cuando termine, seleccione Aceptar.
En Escribir los nombres de objeto para seleccionar (ejemplos), escriba el usuario o el nombre de grupo que quiere buscar. Para obtener más información, vea Seleccionar usuarios, equipos o grupos (cuadro de diálogo).
Seleccione Avanzadas... para más opciones de búsqueda avanzada. Para obtener más información, vea Seleccionar usuarios, equipos o grupos (cuadro de diálogo): página Opciones avanzadas.
Seleccione Aceptar.
Para crear un inicio de sesión basado en una entidad de seguridad de Windows, seleccione Autenticación de Windows. Esta es la selección predeterminada.
Para crear un inicio de sesión guardado en una base de datos SQL Server, seleccione Autenticación de SQL Server.
En el campo Contraseña , escriba una contraseña para el usuario nuevo. Vuelva a escribir esa contraseña en el cuadro Confirmar contraseña .
Al cambiar una contraseña existente, seleccione Especificar contraseña anteriory escriba la contraseña anterior en el cuadro Contraseña anterior .
Para aplicar las opciones de la directiva de contraseñas a efectos de complejidad y exigencia, seleccione Exigir directivas de contraseñas. Para obtener más información, vea Password Policy. Esta es una opción predeterminada cuando se selecciona Autenticación de SQL Server .
Para aplicar las opciones de la directiva de contraseñas a efectos de expiración, seleccione Exigir expiración de contraseña. Debe seleccionar la opciónExigir directivas de contraseñas para habilitar esta casilla. Esta es una opción predeterminada cuando se selecciona Autenticación de SQL Server .
Para obligar al usuario a crear una nueva contraseña después de utilizarse el inicio de sesión por primera vez, seleccione El usuario debe cambiar la contraseña en el siguiente inicio de sesión. Debe seleccionar la opciónExigir expiración de contraseña para habilitar esta casilla. Esta es una opción predeterminada cuando se selecciona Autenticación de SQL Server .
Para asociar el inicio de sesión a un certificado de seguridad independiente, seleccione Asignado a certificado y seleccione el nombre de un certificado existente de la lista.
Para asociar el inicio de sesión a una clave asimétrica independiente, seleccione Asignado a clave asimétrica y seleccione el nombre de una clave existente de la lista.
Para asociar el inicio de sesión a una credencial de seguridad, seleccione la casilla Asignada a credencial y, después, seleccione una credencial existente de la lista o seleccione Agregar para crear una nueva credencial. Para quitar una asignación a una credencial de seguridad del inicio de sesión, seleccione la credencial en Credenciales asignadas y seleccione Quitar. Para obtener más información sobre las credenciales en general, vea Credenciales (motor de base de datos).
En la lista Base de datos predeterminada , seleccione una base de datos predeterminada para el inicio de sesión.
master
es el valor predeterminado de esta opción.En la lista Idioma predeterminado , seleccione un idioma predeterminado para el inicio de sesión.
Seleccione Aceptar.
Opciones adicionales
El cuadro de diálogo Inicio de sesión - Nuevo también ofrece opciones en otras cuatro páginas: Roles del servidor, Asignación de usuarios, Protegibles y Estado.
Roles del servidor
Nota:
Estos roles del servidor no están disponibles para SQL Database. Hay roles fijos a nivel de servidor disponibles para SQL Database. Para obtener más información, vea Roles del servidor de Azure SQL Database para la administración de permisos.
La página Roles de servidor enumera todos los roles posibles que se pueden asignar al nuevo inicio de sesión. Están disponibles las opciones siguientes:
Casillabulkadmin
Los miembros del rol fijo de servidor bulkadmin pueden ejecutar la instrucción BULK INSERT.
Casilladbcreator
Los miembros del rol fijo de servidor dbcreator pueden crear, modificar, quitar y restaurar cualquier base de datos.
Casilladiskadmin
Los miembros del rol fijo de servidor diskadmin pueden administrar archivos de disco.
Casillaprocessadmin
Los miembros del rol fijo de servidor processadmin pueden terminar los procesos que se ejecutan en una instancia del motor de base de datos.
Casillapublic
Todos los usuarios, grupos y roles de SQL Server pertenecen al rol fijo de servidor public de forma predeterminada.
Casillasecurityadmin
Los miembros del rol fijo de servidor securityadmin administran los inicios de sesión y sus propiedades. Administran los permisos de servidor GRANT, DENY y REVOKE. También administran los permisos de base de datos GRANT, DENY y REVOKE. Además, pueden restablecer las contraseñas de los inicios de sesión en SQL Server.
Casillaserveradmin
Los miembros del rol fijo de servidor serveradmin pueden cambiar opciones de configuración en el servidor y cerrar el servidor.
Casillasetupadmin
Los miembros del rol fijo de servidor setupadmin pueden agregar y quitar servidores vinculados, y ejecutar algunos procedimientos almacenados del sistema.
Casillasysadmin
Los miembros del rol fijo de servidor sysadmin pueden ejecutar cualquier actividad en el motor de base de datos.
Asignación de usuarios
La página Asignación de usuarios enumera todas las bases de datos posibles y las pertenencias al rol de base de datos en esas bases de datos que se pueden aplicar al inicio de sesión. Las bases de datos seleccionadas determinan las pertenencias a roles disponibles para el inicio de sesión. En esta página están disponibles las opciones siguientes:
Usuarios asignados a este inicio de sesión
Selecciona las bases de datos a las que se puede obtener acceso con este inicio de sesión. Cuando se seleccione una base de datos, sus roles de bases de datos válidos se mostrarán en el panel Miembros del rol de base de datos para: nombre_baseDeDatos .
Mapa
Permite que el inicio de sesión obtenga acceso a las bases de datos que se muestran a continuación.
Base de datos
Muestra las bases de datos disponibles en el servidor.
User
Especifica el usuario de base de datos que se va a asignar al inicio de sesión. De forma predeterminada, el nombre del usuario de base de datos coincide con el inicio de sesión.
Esquema predeterminado
Especifica el esquema predeterminado del usuario. Cuando se crea un usuario por primera vez, el esquema predeterminado es dbo. Es posible especificar un esquema predeterminado que aún no existe. No se puede especificar un esquema predeterminado para un usuario asignado a un grupo de Windows, un certificado o una clave asimétrica.
Cuenta de invitado habilitada para: nombre_baseDeDatos
Atributo de solo lectura que indica si la cuenta de invitado está habilitada en la base de datos seleccionada. Utilice la página Estado del cuadro de diálogo Propiedades de inicio de sesión de la cuenta de invitado para habilitarla o deshabilitarla.
Miembros del rol de base de datos para: nombre_baseDeDatos
Selecciona los roles para el usuario en la base de datos especificada. Todos los usuarios son miembros del rol público de todas las bases de datos, y no pueden eliminarse. Para obtener más información sobre los roles de base de datos, vea Roles de nivel de base de datos.
Elementos protegibles
La página Elementos protegibles muestra todos los elementos protegibles posibles y los permisos en esos elementos protegibles que se pueden conceder al inicio de sesión. En esta página están disponibles las opciones siguientes:
Cuadrícula superior
Contiene uno o más elementos para los que se pueden establecer permisos. Las columnas mostradas en la cuadrícula superior varían dependiendo de la entidad de seguridad o el elemento protegible.
Para agregar elementos a la cuadrícula superior:
Selecciona Search.
En el cuadro de diálogo Agregar objetos, seleccione una de las siguientes opciones: Objetos específicos..., Todos los objetos de los tipos... El servidorserver_name. Seleccione Aceptar.
Nota:
Cuando se selecciona El servidornombre_servidor, se rellena automáticamente la cuadrícula superior con todos los objetos protegibles de ese servidor.
Si selecciona Objetos específicos...:
En el cuadro de diálogo Seleccionar objetos, en Seleccionar estos tipos de objeto, seleccione Tipos de objeto....
En el cuadro de diálogo Seleccionar tipos de objeto , seleccione alguno o todos los tipos de objeto siguientes: Extremos, Inicios de sesión, Servidores, Grupos de disponibilidady Roles del servidor. Seleccione Aceptar.
En Escribir los nombres de objeto para seleccionar (ejemplos), seleccione Examinar....
En el cuadro de diálogo Examinar objetos , seleccione cualquiera de los objetos disponibles del tipo que seleccionó en el cuadro de diálogo Seleccionar tipos de objeto y seleccione Aceptar.
En el cuadro de diálogo Seleccionar objetos, seleccione Aceptar.
Si selecciona Todos los objetos de los tipos... en el cuadro de diálogo Seleccionar tipos de objeto, seleccione alguno o todos los tipos de objeto siguientes: Puntos de conexión, Inicios de sesión, Servidores, Grupos de disponibilidad y Roles de servidor. Seleccione Aceptar.
Nombre
El nombre de cada entidad de seguridad o elemento protegible que se agrega a la cuadrícula.
Tipo
Describe el tipo de cada elemento.
Pestaña Explícito
Enumere los posibles permisos del elemento protegible seleccionados en la cuadrícula superior. No todas las opciones están disponibles para todos los permisos explícitos.
Permisos
Nombre del permiso.
Otorgante de permisos
La entidad de seguridad que concedió el permiso.
Conceder
Active esta casilla para conceder el permiso al inicio de sesión. Desactívela para revocar el permiso.
WITH GRANT
Refleja el estado de la opción WITH GRANT para el permiso indicado. Este cuadro es de solo lectura. Para aplicar este permiso, use la instrucción GRANT .
Deny
Active esta casilla para denegar el permiso al inicio de sesión. Desactívela para revocar el permiso.
Estado
La página Estado enumera algunas de las opciones de autenticación y autorización que se pueden configurar en el inicio de sesión de SQL Server seleccionado.
En esta página están disponibles las opciones siguientes:
Permiso para conectarse al motor de la base de datos
Cuando trabaje con esta configuración, debe pensar en el inicio de sesión seleccionado como una entidad de seguridad a la que se le puede otorgar o denegar un permiso para un elemento protegible.
Seleccione Conceder para conceder el permiso CONNECT SQL al inicio de sesión. Seleccione Denegar para denegar el permiso CONNECT SQL al inicio de sesión.
Inicio de sesión
Cuando trabaje con esta configuración, debe pensar en el inicio de sesión seleccionado como un registro de una tabla. Los cambios que se realicen en los valores que se muestran aquí se aplicarán al registro.
Un inicio de sesión que se ha deshabilitado sigue existiendo en el registro. Pero si intenta conectarse a SQL Server, el inicio de sesión no será autenticado.
Seleccione esta opción para habilitar o deshabilitar este inicio de sesión. Esta opción usa la instrucción ALTER LOGIN
con la opción ENABLE o DISABLE.
Autenticación de SQL Server
La casilla El inicio de sesión está bloqueado solo está disponible si el inicio de sesión seleccionado se conecta mediante la autenticación de SQL Server y el inicio de sesión se ha bloqueado. Esta configuración es de solo lectura. Para desbloquear un inicio de sesión fuera el que se bloquea, ejecute ALTER LOGIN
con la opción de UNLOCK.
Crear un inicio de sesión mediante la autenticación de Windows con T-SQL
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.
-- Create a login for SQL Server by specifying a server name and a Windows domain account name. CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS; GO
Crear un inicio de sesión mediante la autenticación de SQL Server con T-SQL
En el Explorador de objetos, conéctese a una instancia del Motor de base de datos.
En la barra Estándar, seleccione Nueva consulta.
Copie y pegue el ejemplo siguiente en la ventana de consulta y seleccione Ejecutar.
-- Creates the user "shcooper" for SQL Server using the security credential "RestrictedFaculty" -- The user login starts with the password "Baz1nga," but that password must be changed after the first login. CREATE LOGIN shcooper WITH PASSWORD = 'Baz1nga' MUST_CHANGE, CREDENTIAL = RestrictedFaculty; GO
Para obtener más información, consulte CREAR INICIO DE SESIÓN (Transact-SQL).
Seguimiento: E¿etapas a seguir después de crear un inicio de sesión
El inicio de sesión puede conectarse a SQL Server tras crear un inicio de sesión, pero no necesariamente tiene permiso suficiente para realizar cualquier trabajo útil. En la lista siguiente se proporcionan vínculos a las acciones de inicio de sesión comunes.
Para combinar el inicio de sesión con un rol, vea Combinar un rol.
Para autorizar a un inicio de sesión para que use una base de datos, vea Crear un usuario de base de datos.
Para conceder un permiso a un inicio de sesión, vea Conceder un permiso a una entidad de seguridad.