2010-11-12 12 views
5

Mam hosting aplikacji .net w IIS6 z uwierzytelnianiem systemu Windows i wyłączony dostęp anonimowy. Aplikacja internetowa nawiązuje połączenie z serwerem SQL znajdującym się w tej samej domenie, ale na innym komputerze.Jak ustanowić zaufanie między usługami IIS i SQL Server na różnych komputerach?

Chcę mieć proces IIS Worker acount I_USR _..., aby uzyskać dostęp do SQL Server.

Czy to zadziała?

(? Czy istnieje jeden do jednego zaufania może powinienem zrobić kilka dodatkowych starań, aby prace Trust)

(edit) Na tej page czytam:

IUSR_ musi być w domeny i mając właściwy dostęp do serwera SQL; lub musisz wyłączyć dostęp anonimowy na stronie/aplikacji - co pozwoli usługom IIS przekazywać poświadczenia użytkowników do serwera SQL Server. Nie wykonanie żadnej z tych czynności spowoduje błąd.

+0

Czy otrzymujesz konkretny komunikat o błędzie? – IrishChieftain

+0

Nie testowano jeszcze. Aplikacja jest obecnie na jednym serwerze (aplikacja internetowa + serwer SQL). Aplikacja zostanie przeniesiona do nowego centrum danych, w którym chcemy podzielić część sieci i bazy danych na 2 serwery. –

Odpowiedz

2

To może działać, jeśli podasz SQL dostęp do tożsamości puli aplikacji.

Nie ma sposobu, aby przekazać dane uwierzytelniające użytkowników do kodu SQL nawet w przypadku podszywania się pod inne osoby.

+0

To w rzeczywistości. Zrobiłem pulę aplikacji i utworzyłem konto usługi z najmniejszymi uprawnieniami na AD. Konto usługi jest członkiem grupy I_WPG i to konto ma dostęp do logowania do instancji SQL. Dla SQL DB przyznano prawa SP na tym koncie i CRUD na tabelach według ról SQL i wszystko działa poprawnie! –

+0

Cieszę się, że pomogło.Jeśli używasz uwierzytelniania systemu Windows, a serwer SQL znajduje się w tym samym polu, nie musisz wykonywać powyższych czynności, jeśli używasz personifikacji, a użytkownik ma dostęp do bazy danych. Ale 99 na 100, sql jest na innym polu. – Aliostad

+0

W jaki sposób "zapewniasz dostęp SQL do tożsamości puli aplikacji?" Bez konieczności tworzenia nowego użytkownika AD. –

1

Powinieneś mieć się dobrze, zezwalając na dostęp do tego konta domeny w polu SQL Server lub tworząc konto SQL Server i użyć go do wysłania zapytania do bazy danych.

Więcej informacji na smyczki połączenie i zaufane połączenia tutaj: http://www.connectionstrings.com/sql-server-2008

+0

wirtualny -1. Przyznanie użytkownikowi dostępu nie zadziała, już to sprawdziłem. Nawet przy podszywaniu się nie działa. – Aliostad

+0

Nie dałbyś dostępu do IUSR_ SQL Server, to tylko w celu uzyskania dostępu do strony internetowej. Połączenie z sql powinno być innym kontem lub tożsamością, w której pula aplikacji działa. – hunter

0

Aby uzyskać to do pracy, należy skonfigurować usługę Active Directory, aby ustanowić zaufanie między serwerem WWW a serwerem bazy danych. Nazywa się to delegacją. Jest to coś, co musisz aktywnie skonfigurować dla każdego serwera, ponieważ z natury jest to niebezpieczne, aby pozwolić procesowi na zdobycie czyichś referencji i używanie go w całej sieci.

Więcej informacji tutaj:

http://msdn.microsoft.com/en-us/library/ff647404.aspx

Nieco bardziej czytelna wersja:

http://www.databasejournal.com/features/mssql/article.php/3696506/Setting-Up-Delegation-for-Linked-Servers.htm

Powiązane problemy