Vraag Hoe machtigingen toewijzen aan ApplicationPoolIdentity-account


In IIS 7 op Windows Server 2008 kunnen groepen van toepassingen worden uitgevoerd als de "ApplicationPoolIdentity" -account in plaats van de NetworkService-account.

Hoe kan ik machtigingen toewijzen aan dit "ApplicationPoolIdentity" -account. Het verschijnt niet als een lokale gebruiker op het apparaat. Het verschijnt nergens als een groep. Niets op afstand lijkt het overal te zien. Wanneer ik naar lokale gebruikers, groepen en ingebouwde accounts blader, wordt deze niet in de lijst weergegeven en verschijnt er niets gelijkaardigs in de lijst. Wat is er aan de hand?

Ik ben niet de enige met dit probleem: zie Problemen met ApplicationPoolIdentity in IIS 7.5 + Windows 7 bijvoorbeeld.


"Dit is helaas een beperking van de objectkiezer op Windows Server 2008 / Windows Vista - aangezien verschillende mensen het al hebben ontdekt, kunt u de ACL nog steeds manipuleren voor de app-pool-identiteit met behulp van opdrachtregelhulpprogramma's zoals icacls."


252
2017-11-03 21:52


oorsprong




antwoorden:


Bijwerken: De oorspronkelijke vraag was voor Windows Server 2008, maar de oplossing is eenvoudiger voor Windows Server 2008 R2 en Windows Server 2012 (en Windows 7 en 8). U kunt de gebruiker toevoegen via de gebruikersinterface van NTFS door deze rechtstreeks in te voeren. De naam heeft de notatie IIS APPPOOL \ {naam app-pool}. Bijvoorbeeld: IIS APPPOOL \ DefaultAppPool.

IIS APPPOOL\{app pool name}

Opmerking: per onderstaande opmerkingen zijn er twee dingen om op te letten:

  • Voer de reeks rechtstreeks in bij "Selecteer gebruiker of groep" en niet in het zoekveld.
  • In een domeinomgeving u moet eerst de Locatie op uw lokale computer instellen.

Verwijzing naar Microsoft Docs-artikel: Application Pool Identities> Beveiligingsbronnen

Oorspronkelijke reactie: (voor Windows Server 2008) Dit is een geweldige functie, maar zoals u al zei, is deze nog niet volledig geïmplementeerd. U kunt de identiteit van de app-pool vanaf de opdrachtprompt toevoegen met zoiets als icacls, dan kunt u het vanuit de GUI beheren. Voer bijvoorbeeld zoiets uit vanaf de opdrachtprompt:

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

Ga vervolgens in Windows Verkenner naar de map wwwroot en bewerk de beveiligingsmachtigingen. U zult zien wat eruit ziet als een groep (het groepspictogram) met de naam DefaultAppPool. U kunt nu de rechten bewerken.

U hoeft dit echter helemaal niet te gebruiken. Het is een bonus die je kunt gebruiken als je wilt. U kunt de oude manier gebruiken om een ​​aangepaste gebruiker per app-pool te maken en de aangepaste gebruiker toe te wijzen aan de schijf. Dat heeft volledige UI-ondersteuning.

Deze SID-injectiemethode is leuk omdat u hiermee één gebruiker kunt gebruiken maar elke site volledig van elkaar kunt isoleren zonder unieke gebruikers voor elke app-pool te hoeven maken. Best indrukwekkend, en het zal nog beter worden met UI-ondersteuning.

Opmerking: Als u de gebruiker van de groep van toepassingen niet kunt vinden, controleert u of de Windows-service Application Host Helper Service wordt uitgevoerd. Het is de service die gebruikers van toepassingsgroepen toewijst aan Windows-accounts.


281
2017-11-04 03:07



Het is een beetje een vreemd beest omdat het niet als een groep is waar de gebruiker in een groep leeft, en het is niet zoals een computeraccount versus een gebruikersaccount die compleet van elkaar verschillen. Het app pool-account overlapt de app-pool-identiteitsgebruiker. U kunt bijvoorbeeld 5 app-pools gebruiken via Netwerkservice en 5 anderen met aangepaste accounts, maar het zijn 10 verschillende door de app beheerde app-poolaccounts. De voordelen worden opgemerkt met de map c: \ inetpub \ temp \ appPools, waar deze automatisch wordt beheerd en het systeem netjes wordt vergrendeld. IIS gebruikt ze goed. Ons gebruik op mappen is optioneel. - Scott Forsyth - MVP
Merk op dat als u "IIS APPPOOL \ DefaultAppPool" rechtstreeks invoert in de "Selecteer gebruiker of groep" (in plaats van ernaar te zoeken) bij het bewerken van rechten, deze prima zal worden herkend (getest op Win7 x64 en Win2k8 R2 x64). - Milan Gardian
Je hebt gelijk voor Win7 en Win2k8 R2. Het was niet geïmplementeerd in Win2k8 RTM, maar bevindt zich in R2. - Scott Forsyth - MVP
Eindelijk heb je dit - als je de naam van de app-pool direct intypt zoals @Milan Gardian zegt hierboven en verander het locatieveld in de lokale machine en dan werkt het - Ciaran Bruen
Heel erg bedankt voor de 'twee dingen om op te letten'. Ik struikelde over beide, en dit was een duidelijke en eenvoudige uitleg van de problemen en hoe te bereiken wat ik moest doen. Het is gewoon een schande dat geen van de MSDN-documentatie zo duidelijk was. - Ian Grainger


U moet ervoor zorgen dat het veld 'Van deze locatie' is ingesteld op de lokale computer en niet op het domein.

Ik had hetzelfde probleem en toen ik eenmaal veranderde, werkte het prima.


21
2017-08-01 13:29





Je zou echt groepen per "rol" moeten maken en die groepstoegangen op het bestandssysteem moeten toewijzen. Voeg vervolgens de app-pool toe aan de rol-specifieke groepen als dat nodig is. Op deze manier, zelfs als je de app-pool later verwijdert (en de virtuele gebruiker gaat mietje), hoeft u zich geen zorgen te maken over het opnieuw toewijzen van alle machtigingen, u voegt gewoon de vervangende app-pool toe aan de bestaande groep.


4
2018-06-14 17:42





Na het lezen van @Scott Forsyth - MVP antwoord probeerde ik de Application Host Helper Service opnieuw te starten. Dat loste het probleem voor mij op.


3
2017-12-04 11:05





Ik gebruikte WS8 R2 en kon niet toevoegen IIS APPPOOL\DefaultAppPool via Windows Explorer. De enige manier waarop het werkte, was via de opdrachtregel:

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


0
2018-03-19 14:46



Vreemd genoeg moest ik "IIS AppPool \ DefaultAppPool" doen om te worden geaccepteerd. Let op de gemixte zaak - alle hoofdletters, zoals ik de eerste keer deed, werden niet geaccepteerd door de GUI. - Jeff McJunkin


Als deze vraag gaat over het uitvoeren van _sp_send_dbmail in msdb database (met behulp van de SQL-database opgeslagen database-mail in msdb), is hier wat werk rond. Voeg de gebruikersnaam van de .net-toepassing van uw database (die op uw verbindingsreeks in uw .net-app staat) toe aan de msdb-gebruiker met het rollidmaatschap "DatabaseMailUserRole"


0
2017-07-25 00:50