Frage So weisen Sie dem ApplicationPoolIdentity-Konto Berechtigungen zu


In IIS 7 unter Windows Server 2008 können Anwendungspools anstelle des NetworkService-Kontos als "ApplicationPoolIdentity" -Konto ausgeführt werden.

Wie weise ich diesem "ApplicationPoolIdentity" -Konto Berechtigungen zu? Es wird nicht als lokaler Benutzer auf dem Computer angezeigt. Es erscheint nirgendwo als Gruppe. Nichts entfernt wie es scheint überall. Wenn ich nach lokalen Benutzern, Gruppen und integrierten Konten suche, wird sie weder in der Liste angezeigt, noch werden ähnliche Elemente in der Liste angezeigt. Was ist los?

Ich bin nicht der einzige mit diesem Problem: Sehen Sie Probleme mit ApplicationPoolIdentity in IIS 7.5 + Windows 7 zum Beispiel.


"Dies ist leider eine Einschränkung der Objektauswahl unter Windows Server 2008 / Windows Vista - da mehrere Personen dies bereits erkannt haben, können Sie die ACL für die App-Pool-Identität weiterhin mithilfe von Befehlszeilentools wie z Icacls. "


252
2017-11-03 21:52


Ursprung




Antworten:


Aktualisieren: Die ursprüngliche Frage war für Windows Server 2008, aber die Lösung ist einfacher für Windows Server 2008 R2 und Windows Server 2012 (und Windows 7 und 8). Sie können den Benutzer über die NTFS-Benutzeroberfläche hinzufügen, indem Sie ihn direkt eingeben. Der Name hat das Format IIS APPPOOL \ {app pool name}. Zum Beispiel: IIS APPPOOL \ DefaultAppPool.

IIS APPPOOL\{app pool name}

Hinweis: Unter den folgenden Kommentaren sind zwei Dinge zu beachten:

  • Geben Sie die Zeichenfolge direkt in das Feld "Benutzer oder Gruppe auswählen" und nicht in das Suchfeld ein.
  • In einer Domänenumgebung Sie müssen zuerst den Standort für Ihren lokalen Computer festlegen.

Verweis auf Microsoft Docs-Artikel: Anwendungspoolidentitäten> Sicherung von Ressourcen

Ursprüngliche Antwort: (für Windows Server 2008) Dies ist ein großartiges Feature, aber wie Sie bereits erwähnt haben, ist es noch nicht vollständig implementiert. Sie können die App-Pool-Identität an der Eingabeaufforderung mit etwas wie icacls hinzufügen und dann über die GUI verwalten. Führen Sie beispielsweise Folgendes in der Eingabeaufforderung aus:

icacls c:\inetpub\wwwroot /grant "IIS APPPOOL\DefaultAppPool":(OI)(CI)(RX)

Gehen Sie dann im Windows Explorer zum Ordner wwwroot und bearbeiten Sie die Sicherheitsberechtigungen. Sie werden sehen, was aussieht wie eine Gruppe (das Gruppensymbol) namens DefaultAppPool. Sie können jetzt die Berechtigungen bearbeiten.

Sie müssen dies jedoch nicht verwenden. Es ist ein Bonus, den Sie verwenden können, wenn Sie möchten. Sie können die alte Methode zum Erstellen eines benutzerdefinierten Benutzers pro App-Pool verwenden und den benutzerdefinierten Benutzer der Festplatte zuweisen. Das hat volle Unterstützung für die Benutzeroberfläche.

Diese SID-Injection-Methode ist nett, weil Sie damit einen einzelnen Benutzer verwenden können, aber jede Site vollständig voneinander isolieren können, ohne für jeden App-Pool eindeutige Benutzer erstellen zu müssen. Ziemlich beeindruckend, und es wird noch besser mit UI-Unterstützung.

Hinweis: Wenn Sie den Anwendungspoolbenutzer nicht finden können, überprüfen Sie, ob der Windows-Dienst, der als Host-Dienst für Anwendungen bezeichnet wird, ausgeführt wird. Es ist der Dienst, der Anwendungspoolbenutzer Windows-Konten zuordnet.


281
2017-11-04 03:07



Es ist ein merkwürdiges Biest, da es nicht wie eine Gruppe ist, in der der Benutzer in einer Gruppe lebt, und es ist nicht wie ein Computerkonto vs. ein Benutzerkonto, die sich völlig voneinander unterscheiden. Das App-Pool-Konto "überlappt" den App-Pool-Identitätsbenutzer. Sie können beispielsweise 5 App-Pools mit dem Netzwerkdienst und 5 andere mit benutzerdefinierten Konten verwenden, jedoch sind dies 10 verschiedene Konten für das System-verwaltete App-Pool. Die Vorteile werden mit dem Ordner c: \ inetpub \ temp \ appPools bemerkt, wo er automatisch verwaltet wird und das System sauber sperrt. IIS nutzt sie gut. Unsere Verwendung für Ordner ist optional. - Scott Forsyth - MVP
Beachten Sie, dass wenn Sie "IIS APPPOOL \ DefaultAppPool" direkt in den "Benutzer oder Gruppe auswählen" eingeben (anstatt nach ihm zu suchen), wenn Sie Berechtigungen bearbeiten, wird es gut erkannt (getestet auf Win7 x64 und Win2k8 R2 x64). - Milan Gardian
Du hast Recht für Win7 und Win2k8 R2. Es wurde nicht in Win2k8 RTM implementiert, sondern in R2. - Scott Forsyth - MVP
Endlich bekommen Sie das - wenn Sie den App-Pool-Namen direkt eingeben, wie @Milan Gardian oben sagt und Ändern Sie das Standortfeld auf den lokalen Computer, dann funktioniert es - Ciaran Bruen
Vielen Dank für die "zwei Dinge, auf die Sie achten sollten". Ich stolperte über beides, und dies war eine klare und einfache Erklärung der Probleme und wie ich erreichen konnte, was ich brauchte. Es ist nur eine Schande, dass keine MSDN-Dokumentation so klar war. - Ian Grainger


Sie müssen sicherstellen, dass das Feld "Von diesem Standort" auf den lokalen Computer und nicht auf die Domäne festgelegt ist.

Ich hatte das gleiche Problem und sobald ich das geändert habe, hat es gut funktioniert.


21
2017-08-01 13:29





Sie sollten wirklich Gruppen pro "Rolle" erstellen und diese Gruppenzugriffe auf das Dateisystem zuweisen. Fügen Sie anschließend den rollenspezifischen Gruppen den App-Pool hinzu. Auf diese Weise, selbst wenn Sie den App-Pool später entfernen (und der virtuelle Benutzer geht) poof), müssen Sie sich nicht darum kümmern, alle Berechtigungen zu wiederholen, Sie fügen einfach den Ersatz-App-Pool der bestehenden Gruppe hinzu.


4
2018-06-14 17:42





Nach dem Lesen von @Scott Forsyth - MVP antwort habe ich versucht, den Application Host Helper Service neu zu starten. Das hat das Problem für mich gelöst.


3
2017-12-04 11:05





Ich habe WS8 R2 ausgeführt und konnte nicht hinzufügen IIS APPPOOL\DefaultAppPool über den Windows Explorer. Der einzige Weg, wie es funktioniert hat, war über die Befehlszeile:

cacls [DATEIPFAD] / T / E / G "IIS APPPOOL \ DefaultAppPool": C


0
2018-03-19 14:46



Seltsamerweise musste ich "IIS AppPool \ DefaultAppPool" ausführen, damit es akzeptiert wurde. Beachten Sie die Groß- / Kleinschreibung - Großbuchstaben, wie ich es beim ersten Mal tat, wurde nicht von der GUI akzeptiert. - Jeff McJunkin


Wenn diese Frage darüber hinausgeht, wie _sp_send_dbmail in der msdb-Datenbank ausgeführt werden soll (mithilfe der gespeicherten SQL-Datenbank-Mail-Prozedur in msdb), ist hier etwas zu besprechen. Fügen Sie den .net-Anwendungsbenutzername Ihrer Datenbank (die in Ihrer Verbindungszeichenfolge in Ihrer .net-Anwendung definiert ist) dem msdb-Benutzer mit der Rollenmitgliedschaft "DatabaseMailUserRole" hinzu


0
2017-07-25 00:50