Uprawnienia do nawiązywania połączenia z bazą danych dostępu zdalnego z ASP.NET

W tym artykule przedstawiono uprawnienia do nawiązywania połączenia z bazą danych dostępu zdalnego.

Oryginalna wersja produktu: ASP.NET
Oryginalny numer KB: 307901

Podsumowanie

W tym artykule wymieniono minimalne ustawienia zabezpieczeń wymagane do nawiązania połączenia z zdalną bazą danych programu Microsoft Access z ASP.NET, w tym:

  • Ustawienia systemu plików WINDOWS NT (NTFS)
  • Ustawienia usług Microsoft Internet Information Services (IIS)
  • Ustawienia zasad zabezpieczeń lokalnych
  • ustawienia ASP.NET pliku konfiguracji (Web.config)

W tym artykule nie opisano sposobu konfigurowania połączeń bazy danych.

Więcej informacji

Gdy użytkownicy przechodzą do witryny sieci Web ASP.NET, żądają uruchomienia kodu na serwerze. Wszystkie procesy są uruchamiane w kontekście zabezpieczeń określonego konta. Domyślnie usługi IIS używają konta systemowego. Konto systemowe ma pełny dostęp do komputera serwera usług IIS, ale nie może uzyskać dostępu do folderów udostępnionych na innych komputerach (które są czasami nazywane zasobami NTFS). W związku z tym należy skonfigurować komputer usług IIS tak, aby używał konta innego niż konto systemowe. W sekcji Konfigurowanie serwera usług IIS opisano kilka sposobów wybierania konta alternatywnego.

Po ustawieniu usług IIS do uruchamiania na innym koncie należy nadać to konto uprawnienia do wszystkich plików i folderów, które są potrzebne do korzystania z bazy danych dostępu zdalnego, w tym:

  • Folder tymczasowy na serwerze usług IIS.
  • Udostępnij na komputerze zdalnym.
  • Uprawnienia systemu plików NTFS dla pliku bazy danych i jego folderu.
  • Dostęp do komputera zdalnego z sieci.
  • Uprawnienie do logowania się na komputerze zdalnym.

W sekcji Konfigurowanie serwera dostępu opisano sposób ustawiania tych uprawnień na koncie.

Konfigurowanie serwera usług IIS

W tej sekcji opisano sposób konfigurowania serwera usług IIS.

Użyj pliku Web.config, aby włączyć personifikację

Aby nawiązać połączenie z bazą danych dostępu zdalnego, ASP.NET musi przekazać token zabezpieczający użytkownika, który personifikuje do serwera zdalnego. Jeśli nie włączysz personifikacji w pliku Web.config , ASP.NET domyślnie używa konta systemowego. Jednak konto systemowe nie może uwierzytelniać się w sieci. Aby użyć innego konta, dodaj <identity impersonate="true" /> tag w pliku Web.config dla danej aplikacji ASP.NET. Na przykład:

<configuration>
  <system.web>
     ...
     <identity impersonate="true" />
     ...
  </system.web>
</configuration>

W ramach tej konfiguracji ASP.NET personifikuje uwierzytelnionego użytkownika z usług IIS.

Wybieranie tożsamości przy użyciu metody uwierzytelniania

Użyj jednej z następujących metod uwierzytelniania, aby wybrać tożsamość:

  • Uwierzytelnianie anonimowe
    Możesz skonfigurować, które konto ma być używane w Menedżerze usług internetowych. Domyślnie jest to ustawione na internetowe konto gościa lub IUSR_ComputerName. Niezależnie od używanego konta, jeśli używasz konta lokalnego (a nie konta domeny), należy wykonać kroki opisane w sekcji Replikowanie kont użytkowników lokalnych komputera usług IIS.

  • Uwierzytelnianie podstawowe
    Ta metoda uwierzytelniania wymaga, aby użytkownik końcowy wpisze nazwę użytkownika i hasło zdefiniowane na komputerze usług IIS lub w domenie zaufanej przez komputer usług IIS. Ponieważ umożliwia to wiele identyfikatorów użytkowników, należy dodać wszystkie te identyfikatory do grupy. Wszędzie tam, gdzie ten artykuł wskazuje, aby udzielić uprawnień użytkownikowi personifikowanemu, zamiast tego przyznaj te uprawnienia tej grupie.

Jeśli którekolwiek z tych kont jest kontem lokalnym na komputerze usług IIS, należy replikować każde konto lokalne na komputerze dostępu zdalnego. W tym celu wykonaj kroki opisane w sekcji Replikowanie kont użytkowników lokalnych komputera usług IIS.

  • Zintegrowane uwierzytelnianie systemu Windows
    Ta metoda uwierzytelniania działa tylko wtedy, gdy sieć jest skonfigurowana do używania Kerberos uwierzytelniania, a komputery i konta są skonfigurowane jako zaufane dla delegowania. W przeciwnym razie nie można użyć zintegrowanego uwierzytelniania systemu Windows do uzyskiwania dostępu do danych w zdalnym zasobie NTFS. Dzieje się tak, ponieważ zintegrowane uwierzytelnianie systemu Windows umożliwia dostęp tylko do serwera IIS, a nie dodatkowych zasobów NTFS, do których serwer usług IIS uzyskuje zdalny dostęp.

  • Ustawienie Web.config
    Użyj pliku Web.config, aby skonfigurować ASP.NET w celu personifikacji określonego konta domeny, które ma niezbędne uprawnienia dostępu na komputerze zdalnym. Domyślnie usługi IIS są ustawione tak, aby uniemożliwić innym osobom wyświetlającym witrynę sieci Web wyświetlanie zawartości pliku Web.config . Jednak ta metoda wymaga przechowywania nazwy użytkownika i hasła w postaci zwykłego tekstu na serwerze.

<configuration>
  <system.web>
     ...
     <identity impersonate="true" userName="<supplied username>" password="<supplied password>" />
     ...
  </system.web>
</configuration>
  • Zastąpij uwierzytelnianie Powyższe instrukcje używają tagów <identity impersonate="true" /> i metod uwierzytelniania, tak aby kod ASP był uruchamiany jako konto użytkownika, a nie konto systemowe. Niezależnie od ustawień personifikacji lub uwierzytelniania istnieją inne, mniej typowe sposoby uruchamiania jako konta użytkownika. Poniższa lista zawiera opis dwóch z tych alternatywnych metod, chociaż szczegóły dotyczące tych metod wykraczają poza zakres tego artykułu.

    • Oddzielny proces Możesz umieścić wszystkie funkcje dostępu do danych w bibliotece dll dynamicznej ActiveX i umieścić bibliotekę DLL w usługach składników. Następnie należy skonfigurować ustawienia usług składników dla tego składnika, aby był uruchamiany jako własny proces (biblioteka serwerów). Na karcie Tożsamość w obszarze Usługi składowe określ konto użytkownika, którego chcesz użyć.

    • Interfejsy programowania aplikacji personifikacji Można utworzyć bibliotekę DLL ActiveX korzystającą z interfejsów programowania aplikacji (API) do przełączania się z konta użytkownika, które jest obecnie używane do dowolnego innego konta. Następnie możesz użyć bazy danych programu Access podczas uruchamiania jako ten inny użytkownik.

Konfigurowanie dostępu do folderu tymczasowego

Aparat bazy danych Microsoft Jet zapisuje pliki tymczasowe w folderze Temp na komputerze lokalnym (w tym przypadku jest to serwer usług IIS). Musisz ustawić odpowiednie uprawnienia dla tego folderu tymczasowego.

  • Uprawnienia systemu plików NTFS To ustawienie wymaga, aby tożsamość użytkownika (określona przez poprzednie instrukcje personifikacji) ma uprawnienia pełnej kontroli systemu plików NTFS w folderze tymczasowym.

  • Zmienne środowiskowe TEMP i TMP Może być konieczne zdefiniowanie zmiennych środowiskowych TEMP i TMP dla systemu. Jeśli zmienne TEMP i TMP nie są skonfigurowane na serwerze usług IIS, aparat Jet próbuje zapisać te pliki w folderze Windows\System32 . Ponieważ może to nie być akceptowalne dla większości witryn sieci Web, często należy skonfigurować zmienne TEMP i TMP.

Te zmienne są często skonfigurowane dla użytkowników interakcyjnych na komputerze. Jednak ze względu na to, że procesy rozpoczynające się od usług IIS nie mają dostępu do tych zmiennych, może być konieczne skonfigurowanie zmiennych TEMP i TMP dla systemu. Aby skonfigurować zmienne TEMP i TMP dla systemu, wykonaj następujące kroki w systemie Microsoft Windows 2000:

  1. Na komputerze usług IIS kliknij prawym przyciskiem myszy pozycję Mój komputer, a następnie kliknij polecenie Właściwości.

  2. Na karcie Zaawansowane kliknij pozycję Zmienne środowiskowe.

  3. W obszarze Zmienne systemowe wyszukaj zmienną TEMP. Jeśli ta zmienna nie istnieje, wykonaj następujące kroki, aby ją dodać:

    1. W oknie dialogowym Zmienne środowiskowe kliknij pozycję Nowy.
    2. W oknie dialogowym Nowa zmienna systemowa w polu tekstowym Nazwa zmiennej wpisz TEMP.
    3. W polu tekstowym Wartość zmiennej wpisz lokalizację folderu Temp na komputerze, a następnie kliknij przycisk OK.
  4. Powtórz kroki od 3a do 3c dla zmiennej TMP.

Konfigurowanie serwera programu Access

W tej sekcji opisano sposób konfigurowania serwera programu Microsoft Access.

Konfigurowanie uprawnień systemu plików NTFS

Jednak należy personifikować konta w ASP.NET, jeśli system plików na komputerze zdalnym jest NTFS, należy poprawnie ustawić uprawnienia na komputerze zdalnym. Na przykład należy ustawić następujące uprawnienia w pliku bazy danych:

  • Przeczytaj
  • Napisz
  • Wykonywanie
  • Zmień

Ponadto należy ustawić następujące uprawnienia w folderze, w którym znajduje się plik:

  • Przeczytaj
  • Napisz
  • Wykonywanie
  • Delete
  • Zmień

Jeśli istnieje wiele możliwych kont użytkowników, takich jak uwierzytelnianie podstawowe lub szyfrowane, utwórz grupę, dodaj konta użytkowników do tej grupy, a następnie przyznaj uprawnienia grupie.

Konfigurowanie uprawnień udziału

Podobnie jak uprawnienia systemu plików NTFS, należy również ustawić uprawnienia udziału, aby zezwolić na dostęp dla tego samego użytkownika, użytkowników lub grupy.

Możesz być kuszony, aby użyć udziałów administracyjnych, które system Windows tworzy dla każdego dysku (na przykład dysku C). Jednak lepiej jest utworzyć nowy udział, ponieważ udziały administracyjne wymagają dodania wszystkich użytkowników korzystających z udziału do grupy Administratorzy.

Jeśli baza danych jest przechowywana na platformie innej niż platforma systemu Microsoft Windows, należy odpowiednio skonfigurować ten udział dla platformy docelowej.

Replikowanie kont użytkowników lokalnych komputera usług IIS

Aby udzielić uprawnień udziału i systemu plików NTFS użytkownikowi personifikowanemu, komputer programu Access musi rozpoznać to konto użytkownika. Jeśli konto jest kontem domeny, możesz dodać je do list uprawnień na obu komputerach. Jeśli co najmniej jedno konto jest kontem lokalnym na komputerze usług IIS, nie zostanie rozpoznane na komputerze programu Access. Aby rozwiązać ten problem, użyj tej samej nazwy użytkownika i tego samego hasła, aby utworzyć zduplikowane konto lokalne na komputerze programu Access.

Konfigurowanie lokalnych uprawnień zasad zabezpieczeń

Musisz również przyznać to samo konto, konta lub grupę uprawnienia dostępu do komputera w lokalnych zasadach zabezpieczeń, chyba że konto lub konta należą już do grupy, która ma uprawnienia (na przykład grupa Wszyscy). Musisz przyznać następujące uprawnienia:

  • Logowanie lokalne
  • Uzyskiwanie dostępu do tego komputera z sieci

Aby uzyskać dostęp do lokalnego edytora zasad zabezpieczeń, wykonaj następujące kroki:

  1. W Panel sterowania kliknij dwukrotnie pozycję Narzędzia administracyjne, a następnie kliknij dwukrotnie pozycję Zasady zabezpieczeń lokalnych.
  2. Rozwiń węzeł Ustawienia zabezpieczeń, węzeł Zasady lokalne i węzeł Przypisywanie praw użytkownika, aby uzyskać dostęp do uprawnień logowania lokalnego i dostęp do tego komputera z uprawnienia sieciowego.