Przedmówię to wszystko, mówiąc, że zakładam, że mówisz o wewnętrznym serwerze internetowym w wewnętrznej sieci prywatnej.
Zacznijmy od naśladowania maszyny. Jeśli tożsamością puli aplikacji jest Usługa sieciowa i aplikacja .NET nie podszywa się pod inne osoby, to tak, aplikacja internetowa połączy się z wewnętrznym serwerem SQL Server przy użyciu konta komputera. A to oznaczałoby, że przyznałeś dostęp do tego konta komputera. CRM firmy Microsoft działa w ten sposób.
Jeśli jednak określono tożsamość, to konto użytkownika będzie potrzebowało dostępu do programu SQL Server. Chociaż masz rację, że jeśli atakujący naruszył serwer WWW, ma on faktycznie taki sam dostęp jak konto tożsamości, prawda jest taka, że użycie logowania do SQL Server nic tu nie zmienia. Po uzyskaniu dostępu mogę zmodyfikować aplikację internetową tak, aby robiła to, co chcę i zrobi to, do maksimum, na jakie pozwalają twoje zabezpieczenia na wewnętrznym serwerze SQL.
Teraz, dlaczego warto korzystać z SSPI. Przede wszystkim nie używasz logowania opartego na SQL Server. Oznacza to, że Active Directory jest jedynym źródłem bezpieczeństwa. Oznacza to, że masz zwykłe środki kontroli w celu ustalenia nieprawidłowego dostępu. Po drugie, oznacza to, że o ile nie będą wymagać tego inne aplikacje, możesz pozostawić SQL Server w trybie tylko uwierzytelniania systemu Windows. Oznacza to, że żadne logowania SQL Server są niedozwolone. Oznacza to, że wszelkie ataki na sa są zatrzymywane, zanim jeszcze się zaczną. I w końcu ułatwia odzyskiwanie. Jeśli używasz logowania opartego na SQL Server, musisz wyodrębnić login z SID i zaszyfrowanym hasłem. Jeśli używasz konta użytkownika z systemem Windows jako „konta usługi”, po przejściu do nowego programu SQL Server, tworząc login,