2010-11-12 14 views
5

Tengo un alojamiento de aplicaciones web .NET en IIS6 con Autenticación de Windows y acceso anónimo deshabilitado. La aplicación web está haciendo la conexión a un servidor SQL que está en el mismo dominio, pero en una máquina diferente.¿Cómo establecer la confianza entre IIS y SQL Server en diferentes máquinas?

Quiero que la cuenta de proceso IIS Worker I_USR _... tenga acceso a SQL Server.

¿Funcionará?

(?? ¿Hay una una a una confianza O debería hacer un esfuerzo extra para hacer el trabajo de confianza)

(editar) En esta page leí:

IUSR_ debe estar en el dominio, y dado el acceso apropiado al Servidor SQL; o bien, debe deshabilitar el acceso anónimo en el sitio o la aplicación, lo que permitirá que IIS pase las credenciales de los usuarios a SQL Server. No hacer ninguna de estas cosas dará como resultado un error.

+0

¿Usted está consiguiendo un mensaje de error en particular? – IrishChieftain

+0

No probado aún. La aplicación se encuentra actualmente en un servidor (aplicación web + servidor SQL). La aplicación se trasladará a un nuevo centro de datos donde queremos dividir la web y la parte de la base de datos en 2 servidores. –

Respuesta

2

Esto puede funcionar si se proporciona acceso SQL a la identidad del grupo de aplicaciones.

No hay forma de que pueda pasar las credenciales de sus usuarios al SQL, incluso con suplantación.

+0

Eso es de hecho. Creé un grupo de aplicaciones y creé una cuenta de servicio con menos privilegios en AD. La cuenta de servicio es miembro del grupo I_WPG y esa cuenta tiene acceso de inicio de sesión a la instancia de SQL. Para SQL DB, otorgué derechos de SP en esa cuenta y CRUD en tablas por roles SQL y ¡todo funciona bien! –

+0

Me alegro de que haya ayudado.Si está utilizando la autenticación de Windows y SQL Server está en el mismo cuadro, entonces no necesita hacer lo anterior si usa la suplantación y el usuario tiene acceso a la base de datos. Pero 99 de cada 100, sql está en otra caja. – Aliostad

+0

¿Cómo se puede "proporcionar acceso SQL a la identidad del grupo de aplicaciones?" Sin tener que crear un nuevo usuario de AD. –

1

Debería estar bien permitiendo el acceso a esa cuenta de dominio en el cuadro de SQL Server o creando una cuenta de SQL Server y utilizándola para consultar la base de datos.

Más información acerca de cadenas de conexión y conexiones de confianza aquí: http://www.connectionstrings.com/sql-server-2008

+0

virtual -1. Darle acceso al usuario no funcionará, ya lo he investigado antes. Incluso con la suplantación no funciona. – Aliostad

+0

No le daría acceso a IUSR_ SQL Server, eso es solo para acceder al sitio web. La conexión a sql debe ser otra cuenta o la identidad con la que se ejecuta el grupo de aplicaciones. – hunter

0

Para conseguir que esto funcione, debe configurar Active Directory para establecer la confianza entre el servidor web y el servidor de base de datos. Esto se llama delegación. Es algo que debe configurar activamente para cada servidor, ya que es intrínsecamente inseguro permitir que un proceso tome las credenciales de alguien y las use en toda la red.

Más información aquí:

http://msdn.microsoft.com/en-us/library/ff647404.aspx

Una versión ligeramente más legible:

http://www.databasejournal.com/features/mssql/article.php/3696506/Setting-Up-Delegation-for-Linked-Servers.htm

Cuestiones relacionadas