Cómo: Obtener acceso a SQL Server mediante un usuario de dominio Windows asignado
Actualización: noviembre 2007
De manera predeterminada, en Microsoft Windows 2000 y Microsoft Windows XP, las aplicaciones ASP.NET se ejecutan en el contexto de la cuenta de usuario local denominada ASPNET y en Windows Server 2003 en el contexto de la cuenta de usuario local denominada NETWORK SERVICE. Estas cuentas de usuario tienen derechos de acceso limitados. Sin embargo, la cuenta de ASPNET es local en el servidor Web. Dado que la cuenta de ASPNET es local en el servidor Web, los equipos remotos no la reconocen como usuario. Para solventar esta limitación, se puede hacer que la aplicación se ejecute en el contexto de un usuario de dominio Windows que sea reconocido en el servidor Web y en el equipo en que se ejecuta Microsoft SQL Server.
Asignar el proceso de la aplicación a una cuenta de usuario de un dominio de Windows requiere configurar lo siguiente:
El servidor Web.
Debe asegurarse de que la cuenta de usuario de dominio de Windows que especifique tiene los derechos de usuario suficientes, y no más, para ejecutar una aplicación Web.
La aplicación.
Debe configurar el archivo Web.config de manera que ASP.NET reconozca el nombre de la cuenta de usuario de dominio.
Nota: Para obtener información sobre los archivos Machine.config y Web.config, vea Información general sobre la configuración de ASP.NET.
Una cadena de conexión.
Al crear las cadenas de conexión para los objetos de conexión de la aplicación, tiene que especificar que las cadenas de conexión utilizarán la seguridad integrada de Windows.
SQL Server.
Debe agregar la cuenta de usuario de dominio especificada como usuario de inicio de sesión de SQL Server.
Configurar una cuenta de usuario en el servidor Web
Para establecer derechos de usuario para la cuenta de usuario de dominio de Windows
En el servidor Web, utilice las herramientas administrativas de Windows para asegurarse de que la cuenta de usuario de dominio de Windows asignada tiene los derechos de usuario necesarios.
Para obtener información detallada, vea Listas de control de acceso (ACL) necesarias para ASP.NET.
Ejecute aspnet_regiis.exe con el modificador -ga para conceder los derechos de usuario normales que requiere la identidad que va a utilizar para la suplantación de la aplicación.
Asignar a la cuenta de usuario de Windows y habilitar la suplantación
Después de establecer los derechos de usuario correctos para la cuenta de usuario de dominio, configure la suplantación de identidad de la aplicación.
Para configurar la aplicación Web para la suplantación
Abra el archivo Web.config para su aplicación y, a continuación, agregue el siguiente código de suplantación de identidad:
<identity impersonate="true" userName="domain\username" password="password"/>
Nota: Los elementos del archivo Web.config distinguen entre mayúsculas y minúsculas.
Usar la seguridad de Windows en la cadena de conexión
Para finalizar, cuando se crean las cadenas de conexión para el acceso a la base de datos, se deben configurar para que usen la seguridad integrada de Windows.
Para usar la seguridad de Windows en una cadena de conexión
Cuando cree una cadena de conexión para la aplicación, no incluya un nombre de usuario y una contraseña. En lugar de ello, para la cadena de conexión, establezca el atributo Integrated Security en SSPI.
En el siguiente ejemplo de código se muestra una cadena de conexión que incluye los atributos apropiados:
data source=myserver;initial catalog=northwind;Integrated Security=SSPI
Para configurar SQL Server para la seguridad integrada
En Windows, haga clic en Inicio, seleccione Microsoft SQL Server y, a continuación, haga clic en Administrador corporativo.
Abra el nodo del servidor y, a continuación, expanda el nodo de la base de datos para la que desea conceder los derechos de usuario.
Haga clic con el botón secundario en Usuarios y haga clic en Nuevo usuario de base de datos.
En el cuadro de diálogo Propiedades de usuario de base de datos, en el cuadro Nombre de inicio de sesión, escriba domain\username y, a continuación, haga clic en Aceptar.