2013-11-23 11 views
16

Ich habe gründlich gesucht Entschuldigung im Voraus, wenn ich eine offensichtliche Antwort vermisse. Befolgen Sie die Empfehlungen auf den Link unten und die Lösung hat nicht funktioniert. Die Lösung gibt auch nicht an, ob sie für einen Produktionsserver mit IIS und SQL Server auf separaten Computern gilt. Add IIS 7 AppPool Identities as SQL Server LogonsErstellen Sie SQL Server Login für IIS APPPOOL - IIS und SQL Server auf verschiedenen Maschinen

Microsoft Link unten keine spezifische Syntax nicht bietet eine SQL Server-Windows-Anmeldung für die Erstellung von: http://www.iis.net/learn/manage/configuring-security/application-pool-identities

Unser Ziel, eine ASP.NET 4.0 Web-Anwendung für die Öffentlichkeit auf einen Server 2008 R2-Computer sicher einzusetzen ist Ausführen von IIS 7.5 in unserer Produktionsumgebung Gemäß den bewährten Verfahren wird SQL Server 2008 auf einem separaten Computer in derselben Domäne ausgeführt. Wir möchten die SQL Server-Windows-Authentifizierung ohne Identitätswechsel verwenden, um der ASP.NET-Anwendung im IIS-Feld und SQL Server die Kommunikation zu ermöglichen. Derzeit ermöglicht eine SQL Server-Anmeldeverbindungszeichenfolge, dass die .NET-Anwendung eine Verbindung mit SQL Server herstellt, aber wir möchten die Verbindungszeichenfolge auf eine Windows SQL Server-Anmeldung aktualisieren, um sicherer zu sein.

In IIS 7.5 haben wir einen Anwendungspool für die Website konfiguriert. Unter Erweiterte Einstellungen für Anwendungspool hat Built-In Account versucht, ApplicationPoolIdentity und den Netzwerkdienst ohne Erfolg zu verwenden. Best Practice soll ApplicationPoolIdentity für höhere Sicherheit verwenden.

Der fehlgeschlagene Schritt erstellt eine SQL Server-Windows-Anmeldung.

Wir haben die folgenden Schritte pro den ersten Link gefolgt:

  1. in dem SQL Server Management Studio, suchen Sie den Ordner Sicherheit (der Sicherheits Ordner auf dem gleichen Niveau wie die Datenbanken, Server-Objekte, etc. . Ordner ... nicht die Sicherheit Ordner innerhalb der einzelnen Datenbank)

  2. Rechts klicken Logins und wählen Sie „Neu Login“

  3. im Login-Feld Name Typ IIS APPPOOL\YourAppPoolName - klicken Sie nicht auf Meer rch

  4. Fill, was andere Werte, die Sie mögen (dh Authentifizierungstyp, Standard-Datenbank, etc.)

  5. Klicken Sie auf OK

Können Sie mir bitte sagen, mit IIS 7.5 und SQL Server zu sein Welche Syntax muss ich zum Erstellen der SQL Server-Fensteranmeldung auf separaten Feldern verwenden?

Ich habe versucht: "mydomain\machine1$\IIS APPPOOL\MyAppPoolName" oft ohne Erfolg.
Fehlermeldung lautet: „Windows NT User or group IIS APPPOOL\MyAppPoolName can not be found

ich den Netzwerknamen des Webservers anstelle von machine1 verwendet haben (zusammen mit dem Namen tatsächlichen app-Pool und den Domänennamen).

Vielen Dank im Voraus für Ihre Hilfe.

PS Es wäre toll, wenn Microsoft eine Schritt-für-Schritt-Anleitung zur Verfügung stellen würde, wie man diese allgemeine und einfache Aufgabe erledigen könnte.Ihre Antworten hier auf StackOverFlow werden vielen Menschen helfen :)

Antwort

7

Eine Lösung für Ihr Problem wäre, ein separates (nicht integriertes) Konto für den Anwendungspool einzurichten. Sie können diesem Konto minimale Rechte geben und auch den Zugriff auf SQL Server gewähren.

Auf diese Weise können Sie einen Domänenaccount verwenden, der einfach einzurichten ist, aber dennoch die Sicherheit streng kontrolliert.

+1

Szymon - danke für den Tipp. Wenn es möglich ist, eine Verbindung zu einem virtuellen IIS 7.5-Konto über das Netzwerk von der SQL Server-Box zu der IIS 7.5-Box herzustellen, wäre unsere Präferenz 1) Keep it simple 2) Vermeide die potentielle Angriffsfläche zu erhöhen. Ich behalte Ihren Vorschlag im Hinterkopf, wenn virtuelle Konten nicht über ein Netzwerk verwendet werden können. –

+1

Hallo Szymon- Ich habe keine Informationen gefunden, die darauf hindeuten, dass es möglich ist, virtuelle Konten über ein Netzwerk zu verwenden. Daher habe ich Ihre Antwort akzeptiert und sie als echte Lösung implementiert. Es dauerte nur ein paar Minuten, um sich einzurichten und funktioniert großartig. Danke für Ihre Hilfe! –

4

Ich weiß, dass diese Frage alt ist, aber da ich litt, bis ich es Arbeit bekam, möchte ich meine Erfahrung teilen, um diese Frage zu beantworten.

Die Schritte, die Sie mit mir gefolgt gearbeitet haben, mit Ausnahme von:

3- Das Konto, das Sie SQL Server-Anmeldungen hinzufügen müssen, ist mydomain\machine1$not mydomain\machine1$\IIS APPPOOL\MyAppPoolName

4- leave als Standardwerte jedes Ding in allgemeinen Einstellungen (Tatsächlich müssen Sie sicherstellen, dass Sie Windows-Authentifizierung verwenden).

Dann gehen Sie zu User Mappings | Wählen Sie die Datenbank aus, auf die Ihre Anwendung zugreifen soll | Gewähre ihm die gewünschten Berechtigungen. Geben Sie beispielsweise db_datareader & db_datawriter-Berechtigungen ein.

5- Klicken Sie auf OK, um zu speichern.

Aber beachten Sie, dass alle Anwendungen, die virtuelle Konten von derselben Maschine verwenden, auf diese Datenbank zugreifen können.