De ce nu merge NT AUTHORITY\NETWORK SERVICE în IIS 7.0?

Eh, el merge săracu’, da’ nu implicit. Să mă explic – vorbim de serverul Web Internet Information Service din Windows 7 sau Windows Server 2008, da?

Creezi un nou Application Pool. Când pui un site nou în IIS 7, automat i se creează un nou Application Pool, ca să-i izoleze procesele de celelalte site-uri. Numai că noul Application Pool nu mai rulează implicit sub contul (sau contextul de securitate) NT AUTHORITY\NETWORK SERVICE. Nu. Implicit rulează sub un Virtual Account, un cont de aplicație denumit generic ApplicationPoolIdentity. Iote capturile de ecran.

Dacă veți căuta în Windows un cont cu numele ApplicationPoolIdentity, puteți să căutați mult și bine, că nu-l veți găsi.

Conturile implicite vor fi de forma IIS AppPool\AppPoolName. În cazul ilustrat, snopul meu de procese se cheamă ZeNewAppPool, iar contul sub care va rula se va numi IIS AppPool\ZeNewAppPool.

Da’ unde este pitit acest cont?

Și-acum să zicem că vrei să dai aplicației drepturi de acces la niște resurse. Să dai drepturi de scriere într-un folder. Sau să dai drepturi de acces la o bază de date SQL Server, folosind Windows Authentication. Ei bine, ferestrele de dialog pentru căutare conturi Windows nu-l afișează.

Dar contul există, și se poate verifica cu Check Names – vezi captura din stânga.

Mai complicat va fi în SQL Server Management Studio🙂 Pentru că, la fereastra de creare a unui nou Login în server, există un mic bug. Dacă-i dai ceva cu Check Names pe un cont scris “IIS AppPool\ZeNewAppPool” el va reseta la “PINGULEANA\ZeNewAppPool” – unde PINGULEANA e numele calculatorului meu. Cred că trebuie să fac un mic screencast ca să arăt exact ce se întâmplă. Oricum, se trece de acest bug.

La ce bun Application Pool Identity?

Acum intrebi de ce n-ai seta în loc de ApplicationPoolIdentity pe bunul și vechiul NETWORK SERVICE, ca să scapi de probleme?

În scenarii de hosting, unde ai mai multe aplicații sau site-uri pe același server, e bine să ruleze toate sub același cont, NETWORK SERVICE? Păi nu prea, că nu mai ai izolare de drepturi de acces. Dacă mai multe site-uri sau aplicații au toate drepturi de acces la resurse prin același cont NETWORK SERVICE, nu cumva și-ar putea accesa reciproc resursele? Drepturile de scriere ale site-ului meu ar putea fi exploatate de site-ul altcuiva, rulând sub același NETWORK SERVICE.

Hai că poate săptămâna asta trag și un video cu screen capture, că e mai clar.

Lasă un răspuns

Completează mai jos detaliile despre tine sau dă clic pe un icon pentru autentificare:

Logo WordPress.com

Comentezi folosind contul tău WordPress.com. Dezautentificare / Schimbă )

Poză Twitter

Comentezi folosind contul tău Twitter. Dezautentificare / Schimbă )

Fotografie Facebook

Comentezi folosind contul tău Facebook. Dezautentificare / Schimbă )

Fotografie Google+

Comentezi folosind contul tău Google+. Dezautentificare / Schimbă )

Conectare la %s