2010-11-12 5 views
5

Ich habe eine .net Web-Anwendung in IIS6 mit Windows-Authentifizierung und anonymen Zugriff deaktiviert. Die Webanwendung stellt eine Verbindung mit einem SQL Server her, der sich in derselben Domäne, jedoch auf einem anderen Computer befindet.Wie wird die Vertrauensstellung zwischen IIS und SQL Server auf verschiedenen Computern hergestellt?

Ich möchte den IIS-Worker-Prozessaccount I_USR _... Zugriff auf den SQL Server gewährt werden.

Funktioniert das?

(? Gibt es eine 0.59 Vertrauen Oder sollte ich einige zusätzliche Anstrengungen unternehmen, um das Vertrauen der Arbeit zu machen)

(edit) Auf dieser page Ich las:

IUSR_ in der sein muss, Domäne, und richtigen Zugriff auf den SQL Server gegeben; oder Sie müssen den anonymen Zugriff auf die Site/Anwendung deaktivieren, wodurch IIS die Anmeldeinformationen der Benutzer an SQL Server übergeben kann. Wenn Sie keines dieser Dinge tun, führt dies zu einem Fehler.

+0

Erhalten Sie eine bestimmte Fehlermeldung? – IrishChieftain

+0

Noch nicht getestet. Die App befindet sich derzeit auf einem Server (Web-App + SQL Server). Die App wird in ein neues Datencenter verschoben, wo wir den Web- und den Datenbank-Teil in 2 Server teilen wollen. –

Antwort

2

Dies kann funktionieren, wenn Sie den SQL-Zugriff auf die Identität des Anwendungspools zur Verfügung stellen.

Es gibt keine Möglichkeit, die Anmeldeinformationen Ihrer Benutzer auch bei Identitätswechsel an SQL zu übergeben.

+0

Das ist es tatsächlich. Ich habe einen App-Pool erstellt und ein Dienstkonto mit den wenigsten Berechtigungen für AD erstellt. Das Dienstkonto ist Mitglied der I_WPG-Gruppe und dieses Konto verfügt über Anmeldezugriff auf die SQL-Instanz. Für die SQL-DB habe ich SP-Rechte für dieses Konto und CRUD für Tabellen von SQL-Rollen vergeben, und alles funktioniert gut! –

+0

Froh, dass es geholfen hat.Wenn Sie die Windows-Authentifizierung verwenden und sich der SQL-Server in derselben Box befindet, müssen Sie die oben genannten Schritte nicht ausführen, wenn Sie Identitätswechsel verwenden und der Benutzer Zugriff auf die Datenbank hat. Aber 99 von 100, sql ist auf einer anderen Box. – Aliostad

+0

Wie können Sie SQL-Zugriff auf die Identität des Anwendungspools bereitstellen? Ohne einen neuen AD-Benutzer anlegen zu müssen. –

1

Sie sollten in Ordnung sein, indem Sie entweder den Zugriff auf das Domänenkonto in der SQL Server-Box zulassen oder ein SQL Server-Konto erstellen und diese zum Abfragen der Datenbank verwenden.

Weitere Informationen zu Verbindungszeichenfolgen und vertrauenswürdige Verbindungen hier: http://www.connectionstrings.com/sql-server-2008

+0

virtuelle -1. Dem Benutzer Zugang zu geben funktioniert nicht, ich habe es bereits vorher untersucht. Selbst mit Identitätswechsel funktioniert es nicht. – Aliostad

+0

Sie würden nicht IUSR_ SQL Server Zugriff geben, das ist nur für den Zugriff auf die Website. Die Verbindung zu SQL sollte ein anderes Konto sein oder die Identität, unter der der App-Pool läuft. – hunter

0

dies, um zu arbeiten Sie Active Directory konfigurieren müssen, das Vertrauen zwischen dem Webserver und dem Datenbankserver herzustellen. Dies wird Delegation genannt. Dies ist etwas, das Sie für jeden Server aktiv konfigurieren müssen, da es von Natur aus nicht sicher ist, einem Prozess die Anmeldeinformationen eines anderen Benutzers zu überlassen und sie im gesamten Netzwerk zu verwenden.

Mehr Infos hier:

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

Eine etwas besser lesbare Version:

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

Verwandte Themen