Ich verwende eine IIS 7-Website mit einem AppPool im integrierten Pipeline-Modus . Die AppPools werden NICHT unter NetworkService usw. ausgeführt (Identität) (nach Zweck), sondern verwenden ihre eigene AppPool-Identität (IIS AppPool \ MyAppPool).
Dies ist ein sogenanntes Dienstkonto oder virtuelles Konto. (ein Benutzerkonto, das kein vollständiges Konto ist ...)
Ich möchte diesem Dienstkonto (IIS AppPool \ MyAppPool) die Berechtigung erteilen, eine Verbindung zu meinem SQL Server 2008 Express herzustellen (wird im gemischten Authentifizierungsmodus ausgeführt).
Während SQL Server jedes normale Benutzerkonto hinzufügen kann, kann das virtuelle Konto IIS AppPool \ MyAppPool nicht zu den gültigen Anmeldungen hinzugefügt werden (SQL Server gibt an, dass das Konto nicht gefunden werden kann).
Gibt es einen Trick, den ich aktivieren muss, damit die virtuellen Konten funktionieren? (Der Prozess w3wp.exe wird laut taskmgr unter dieser Identität ausgeführt, aber ich kann das Konto auch nicht für die NTFS-Sicherheit verwenden ...)
Danke für Ihre Hilfe!
quelle
SQL1
über die lokale / virtuelleIIS AppPool\MyAppPool
aufWEB1
?quelle
dbo
.Wenn Sie über mehrere Computer hinweg arbeiten, müssen Sie entweder NETWORK SERVICE, LOCAL SYSTEM, ein Domänenkonto oder ein verwaltetes SQL 2008 R2-Konto (falls vorhanden) verwenden (was meine Präferenz ist, wenn Sie über eine solche Infrastruktur verfügen). . Sie können kein Konto verwenden, das für die Active Directory-Domäne nicht sichtbar ist.
quelle
Nebenbei bemerkt, Prozesse, die virtuelle Konten verwenden (NT Service \ MyService und IIS AppPool \ MyAppPool), werden weiterhin unter dem Konto "NETWORK SERVICE" ausgeführt, wie in diesem Beitrag vorgeschlagen: http://www.adopenstatic.com/cs/blogs/ken/ Archiv / 2008/01/29 / 15759.aspx . Der einzige Unterschied besteht darin, dass diese Prozesse Mitglieder der Gruppen "NT Service \ MyService" oder "IIS AppPool \ MyAppPool" sind (da es sich tatsächlich um Gruppen und nicht um Benutzer handelt). Dies ist auch der Grund, warum sich die Prozesse im Netzwerk genauso wie der Computer authentifizieren wie das NETWORK SERVICE-Konto.
Der Weg zum Sichern des Zugriffs besteht nicht darin, dass diese Konten nicht über NETWORK SERVICE-Berechtigungen verfügen, sondern mehr Berechtigungen speziell für "NT Service \ MyService" oder "IIS AppPool \ MyAppPool" zu erteilen und bei Bedarf Berechtigungen für "Benutzer" zu entfernen.
Wenn jemand genauere oder widersprüchlichere Informationen hat, posten Sie diese bitte.
quelle
Siehe: http://www.iis.net/learn/manage/configuring-security/application-pool-identities
quelle
Dies könnte das sein, wonach Sie suchen ...
http://technet.microsoft.com/en-us/library/cc730708%28WS.10%29.aspx
Ich würde auch längerfristig empfehlen, einen Domänenbenutzer mit eingeschränkten Rechten in Betracht zu ziehen. Was Sie versuchen, funktioniert in einem Silomaschinenszenario einwandfrei, aber Sie müssen Änderungen vornehmen, wenn Sie für den DB-Server auf einen anderen Computer wechseln.
quelle
Ich habe es durch Versuch und Irrtum herausgefunden ... der wahre Riss in der Rüstung war eine wenig bekannte Einstellung in IIS in der
Configuration Editor
für die Website inSection: system.webServer/security/authentication/windowsAuthentication
From: ApplicationHost.config <locationpath='ServerName/SiteName' />
genannt
useAppPoolCredentials
(wasFalse
standardmäßig eingestellt ist. Setzen Sie dies aufTrue
und das Leben wird wieder großartig !!! Hoffe, das erspart dem nächsten Kerl Schmerzen ....quelle
In meinem Fall bestand das Problem darin, dass ich mit der Visual Studio / Episerver-Erweiterung begonnen habe, ein MVC Alloy-Beispielprojekt von Grund auf neu zu erstellen, und es funktionierte einwandfrei, wenn es mit lokalem Visual Studio iis Express ausgeführt wurde. Standardmäßig verweist die SQL-Datenbank jedoch auf LocalDB, und als ich die Site auf lokalem IIS bereitstellte, wurden einige der anfänglichen Fehler, die ich behoben habe, fehlerhaft: 1. Hinzufügen der URL der lokalen Site-URL zu C: / Windows / System32 / drivers / etc / hosts 2. Durch Bearbeiten der application.config wurde der Dateispeicherort gefunden, indem Sie mit der rechten Maustaste auf IIS Express in der unteren rechten Ecke des Bildschirms klicken, wenn Sie die Site mit Visual Studio ausführen, und dort eine Bindung für die lokale iis-URL hinzufügen. 3. Schließlich steckte ich fest mit "nicht auf Datenbankfehler zugreifen können"
quelle