...

...

Tengo 2 servidores Windows 2008. Uno es un servidor web (IIS7). El otro es un servidor de base de datos (SQL Server 2008). La instancia de SQL Server 2008 está configurada para utilizar autenticación en modo mixto. Ninguno de los dos está unido a un dominio del directorio activo.

¿Cómo deberían las aplicaciones ASP.NET en el servidor web iniciar sesión en las bases de datos en el servidor de bases de datos? He probado con la cuenta SA, pero obviamente necesito cambiar eso.

Estoy confundido acerca de qué usar: cuenta de servidor SQL, cuentas de Windows configuradas en cada máquina o "roles de aplicación", de los cuales realmente no tengo un gran conocimiento.

La cuenta sólo necesita poder leer y escribir datos y ejecutar procedimientos almacenados. ¿Qué debo hacer y cómo lo configuro?

...

En lugar de simplemente una respuesta rápida, deme instrucciones sobre cómo configurar esto. Gracias.

Respuesta1

El método más seguro utiliza la autenticación de Windows. Esto le permitirá escribir su aplicación sin una contraseña incluida en ninguna de las cadenas de conexión o archivo de configuración.

En cada sistema creará una cuenta de usuario. Esta no debería ser una cuenta de administrador, solo una cuenta de usuario normal. Ambos sistemas crean el usuario con el mismo nombre y contraseña.

Ahora en su sistema IIS edite la configuración del grupo de aplicaciones. Cambie la identidad para que se ejecute como la cuenta de usuario que acaba de crear. En este punto, deberá ingresar la contraseña del usuario.

En el servidor SQL, cree una cuenta de inicio de sesión asociada con la cuenta de uso de Windows que ha creado. Puede utilizar los permisos normales de SQL Server para otorgar/denegar las acciones que requiere su aplicación.

Ahora en su aplicación conéctese al servidor SQL utilizando seguridad integrada. El usuario del grupo de aplicaciones se utilizará al realizar la conexión SQL.

¡Sin contraseña en su configuración o aplicación y una conexión de base de datos segura!

Respuesta2

El método más común a utilizar sería un inicio de sesión SQL. Cree un inicio de sesión SQL con una contraseña segura. Agréguelo como usuario a la base de datos que utilizará su aplicación. Cree una función de base de datos en la base de datos y haga que su usuario sea miembro de esta función. Otorgue al rol de base de datos acceso a los objetos a los que necesita acceso.

Querrá otorgarle al rol solo los derechos que necesita.

El motivo de la función de la base de datos es para que pueda restaurar la base de datos en otro servidor y poder otorgar fácilmente los derechos exactos a otro usuario para asegurarse de que todo funcione correctamente.

información relacionada