Jak Konfigurowanie uwierzytelniania systemu Windows w Reporting Services

Domyślnie Reporting Services akceptuje żądania, które określić uwierzytelnianie negocjowane lub NTLM.Jeśli rozmieszczania zawiera klient aplikacji i przeglądarek używających tych dostawców zabezpieczeń można używać wartości domyślnej, bez dodatkowej konfiguracja.Jeśli chcesz użyć dostawca zabezpieczeń zintegrowanych zabezpieczeń systemu Windows (na przykład, jeśli chcesz użyć bezpośrednio Kerberos) lub jeśli zmodyfikowano wartości domyślne i chcesz przywracanie oryginalne ustawienia umożliwia informacje w tym temacie określ ustawienia uwierzytelnianie serwer raportów.

Aby użyć zintegrowane zabezpieczenia systemu Windows, każdy użytkownik, który wymaga dostępu do serwer raportów musi mieć prawidłowy Windows lokalny lub domena użytkownika konta lub być element członkowski konta grupy lokalne lub domena systemu Windows.Mogą obejmować konta z innych domen, jak domeny te są zaufane.Konta musi mieć dostęp do komputera serwer raportów i muszą później być przypisani do ról do uzyskania dostępu do operacji serwera określonego raportu.

Muszą być również spełnione następujące dodatkowe wymagania:

  • Pliki RSeportServer.config muszą mieć AuthenticationType zestaw do RSWindowsNegotiate, RSWindowsKerberos, lub RSWindowsNTLM.Domyślnie RSReportServer.plik konfiguracji obejmuje RSWindowsNegotiate ustawienie, jeśli konto usługa serwera raportowania jest NetworkService lub LocalSystem; w przeciwnym razie RSWindowsNTLM używane ustawienie.Można dodać RSWindowsKerberos Jeśli masz aplikacji tylko używających uwierzytelnianie Kerberos.

    Ważna informacjaWażne:

    Za pomocą RSWindowsNegotiate spowoduje błąd uwierzytelnianie Kerberos jeśli skonfigurowane usługa serwera raportów do uruchomienia przy użyciu konta użytkownika domena i nie zarejestrujesz głównej nazwy usługa (główna nazwa usługi) dla konta.Aby uzyskać więcej informacji, zobacz Rozwiązywanie Kerberos uwierzytelniania błędy podczas nawiązywanie serwer raportów w tym temacie.

  • ASP.NET musi być skonfigurowany dla uwierzytelniania systemu Windows.Domyślnie pliki Web.config usługa sieci Web serwera raportów i Menedżer raportów zawierają <tryb uwierzytelnianie = "Windows"> Ustawienia.Wprowadzone zmiany <tryb uwierzytelniania = "Formularze">, uwierzytelnianie systemu Windows dla Reporting Services spowoduje niepowodzenie.

  • Pliki Web.config usługa sieci Web serwera raportów i Menedżer raportów musi mieć <tożsamości personifikacji = "true" />.

  • Aplikacja klient lub przeglądarka musi obsługiwać zabezpieczenia zintegrowane systemu Windows.

Aby zmienić ustawienia uwierzytelnianie serwer raportów, edytowanie elementów XML i wartości RSReportServer.plik konfiguracji.Można kopiować i wklejać przykłady w tym temacie, aby zaimplementować określone kombinacje.

Domyślne ustawienia działają najlepiej, jeśli wszystkie komputery klient i serwer są w tej samej domena lub zaufanej domena oraz serwer raportów rozmieszczony dla dostępu do intranetu za zaporą firmową.Domeny zaufanej i pojedyncze są wymagane w przypadku przekazywania poświadczenia systemu Windows.Poświadczenia można przekazać więcej niż jeden czas po włączeniu protokołu Kerberos w wersja 5 serwerów.W przeciwnym razie poświadczenia mogą być przekazywane tylko jeden czas zanim wygaśnie.Aby uzyskać więcej informacji dotyczących konfigurowania poświadczenia dla wielu połączeń komputera, zobacz Określanie poświadczeń i informacji o połączeniu dla źródeł danych raportu (SSRS).

Poniższe instrukcje są przeznaczone do trybu macierzystego serwer raportów.Jeśli serwer raportów jest wdrażana w trybie zintegrowanym programu SharePoint, należy użyć domyślnych ustawień uwierzytelnianie, które określa zintegrowane zabezpieczenia systemu Windows.serwer raportów wykorzystuje funkcje wewnętrzne w domyślnym rozszerzeniem uwierzytelniania systemu Windows do obsługi serwerów raport w trybie zintegrowanym programu SharePoint.

Ochrona rozszerzona na potrzeby uwierzytelniania

Począwszy od SQL Server 2008 R2, obsługa dla ochrony rozszerzonej uwierzytelniania jest dostępna. SQL Server , Funkcja obsługuje powiązania kanału i powiązanie usługa do wzmocnienia ochrony uwierzytelnianie. Reporting Services Funkcje konieczne do system operacyjny obsługujący ochrony rozszerzonej. Reporting Services Ochrona rozszerzona konfiguracja jest określana przez ustawienia w pliku RSReportServer.config.Plik może być aktualizowana przez edycję pliku albo za pomocą interfejsów API usługi WMI.Aby uzyskać więcej informacji, zobacz Ochrona rozszerzona do uwierzytelniania przy użyciu usług raportowania i Rozwiązywanie problemów z ochrony rozszerzonej (Reporting Services).

Aby skonfigurować serwer raportów do korzystania z systemu Windows zintegrowane zabezpieczenia

  1. Otwórz RSReportServer.config w edytorze tekstu.

  2. Find <Authentication>.

  3. Skopiuj jeden z następujących struktur XML, które najlepiej pasuje do potrzeb.Można określić RSWindowsNegotiate, RSWindowsNTLM, i RSWindowsKerberos w dowolnej kolejności.Należy włączyć uwierzytelnianie trwałości, jeśli do uwierzytelnienia połączenia niż każdego indywidualnego wniosku.W obszarze trwałość uwierzytelnianie wszystkie żądania, które wymagają uwierzytelnianie zezwala się na czas trwania połączenia.

    Pierwszy struktury XML jest konfiguracja domyślnej, gdy konto usługa serwera raportowania jest NetworkService lub LocalSystem:

    <Authentication>
          <AuthenticationTypes>
                 <RSWindowsNegotiate />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    </Authentication>
    

    Drugi struktury XML jest to konfiguracja domyślna, gdy konto usługa Serwer raportowania nie jest NetworkService lub LocalSystem:

    <Authentication>
          <AuthenticationTypes>
                 <RSWindowsNTLM />
          </AuthenticationTypes>
          <EnableAuthPersistence>true</EnableAuthPersistence>
    

    </ Uwierzytelniania>

    Trzeci struktury XML określa wszystkie pakiety zabezpieczeń, które są używane w zintegrowane zabezpieczenia systemu Windows:

          <AuthenticationTypes>
                 <RSWindowsNegotiate />
                 <RSWindowsKerberos />
                 <RSWindowsNTLM />
          </AuthenticationTypes>
    

    Czwarty struktury XML określa NTLM, tylko w przypadku wdrożeń, które nie obsługują protokołu Kerberos lub obejść błędy uwierzytelnianie Kerberos:

          <AuthenticationTypes>
                 <RSWindowsNTLM />
          </AuthenticationTypes>
    
  4. Wklej istniejące wpisy dla <Authentication>.

    Należy zauważyć, że nie można używać Custom z RSWindows typów.

  5. Zmodyfikuj odpowiednio ustawienia ochrony rozszerzonej.Ochrona rozszerzona jest domyślnie wyłączona.Jeśli nie występują te wpisy, bieżący komputer może nie działać wersja z Reporting Services który obsługuje rozszerzonej ochrony.Aby uzyskać więcej informacji, zobacz Ochrona rozszerzona do uwierzytelniania przy użyciu usług raportowania

          <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>
          <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
    
  6. Zapisanie pliku.

  7. Jeśli skonfigurowano wdrożenie skalowalne w poziomie, powtórz te kroki dla innych serwerów raport wdrażanie.

  8. Uruchom ponownie serwer raportów aby wyczyścić wszystkie sesje, które są aktualnie otwarte.

Rozwiązywanie błędów uwierzytelniania Kerberos do łączenia z serwerem raportu

Na serwerze raportu, który jest skonfigurowany dla uwierzytelnianie mechanizmami Jeśli występuje błąd uwierzytelnianie Kerberos zakończy się niepowodzeniem połączenia klient serwer raportów.Wiadomo, że błędy uwierzytelnianie Kerberos wystąpić, gdy:

  • Usługa serwera raportów działa jako konto użytkownika domena Windows i nie zarejestrujesz głównej nazwy usługi (główna nazwa usługi) dla konta.

  • serwer raportów jest skonfigurowany z RSWindowsNegotiate Ustawienia.

  • Przeglądarka wybiera Kerberos za pośrednictwem NTLM w nagłówek uwierzytelnianie w żądaniu, wysyła do serwer raportów.

Możesz wykrywać błędu, jeśli jest włączone rejestrowanie protokołu Kerberos.Inny symptom ten błąd jest monitowany o poświadczenia wiele razy, a następnie zobacz pusty przeglądarce.

Potwierdzić, że wystąpią błąd uwierzytelnianie Kerberos, usuwając < RSWindowsNegotiate /> z z plik konfiguracja i ponawiania połączenie.

Po potwierdzeniu problem można rozwiązać go w następujący sposób:

  • Zarejestrować nazwy główna nazwa usługi usługa serwera raportów przy użyciu konta użytkownika domena.Aby uzyskać więcej informacji, zobacz Jak Zarejestruj głównej nazwy usługi (główna nazwa usługi) dla serwera raportowania.

  • Zmienianie konta usługi do uruchamiania wbudowanego konta takie jak Usługa sieciowa.Mapowania kont wbudowanych HTTP główna nazwa usługi główna nazwa usługi hosta, który jest zdefiniowany, kiedy zostanie łączyć komputera do sieci.Aby uzyskać więcej informacji, zobacz Jak Konfigurowanie konta usługi dla usług Reporting Services.

  • Używać NTLM.NTLM zazwyczaj będzie działać w przypadkach, gdy nie uwierzytelnianie Kerberos.Aby używać NTLM, należy usunąć RSWindowsNegotiate z RSReportServer.plik konfiguracji i sprawdzić tylko RSWindowsNTLM określono.Wybranie tego podejścia, można nadal używać konta użytkownika domena dla usługa serwera raportowania, nawet jeśli nazwa główna nazwa usługi nie zostanie zdefiniowana dla niego.

Rejestrowanie informacji

Rejestrowanie informacji, które mogą pomóc rozwiązać Kerberos z kilku źródeł powiązanych zagadnień.

Kontrola konta użytkownika, atrybut

Ustalić, czy Reporting Services konto usługa ma wystarczające atrybut zestaw w usłudze Active Directory.Przeglądanie raportów usługas usługa plik dziennika śledzenia, aby znaleźć wartość rejestrowane dla atrybut UserAccountControl.Wartość rejestrowany jest w formie dziesiętnej.Trzeba konwertować wartości dziesiętne w postaci szesnastkowej, a następnie znajdź tę wartość w temacie MSDN opisujący atrybut Kontrola konta użytkownika.

  • Wpis dziennika śledzenia usługa usług raportowania będą wyglądały podobnie do następującego:

    appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336
    
  • Jedną z opcji konwersji wartości dziesiętnej w postaci szesnastkowej jest nam Microsoft kalkulatora systemu Windows.Kalkulator systemu Windows obsługuje kilka trybów, które pokazują gru Opcja i "Hex" Opcje.Wybierz gru opcja, wklej lub wpisz wartość dziesiętna znaleziono w pliku dziennika, a następnie wybierz szesnastkowo Opcja.

  • Następnie można znaleźć w temacie Kontrola konta użytkownika atrybut do uzyskania atrybutu dla konta usługa.

Nazwy SPN skonfigurowane w usłudze Active Directory dla konta usługa ssRSnoversion.

Aby rejestrować nazwy SPN Reporting Services plik dziennika śledzenia usługa można włączyć Reporting Services tymczasowo funkcji ochrony rozszerzonej.

  • Modyfikowanie plik konfiguracji rsreportserver.config przez następujące ustawienie:

    <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> 
    <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>
    
  • Uruchom ponownie Reporting Services usługa i Znajdź wpisy podobne do następującego pliku dziennika śledzenia:

    rshost!rshost!e44!01/14/2010-14:43:51:: i INFO: Registered valid SPNs list for endpoint 2: rshost!rshost!e44!01/14/2010-14:43:52:: i INFO: SPN Whitelist Added <Explicit> - <HTTP/sqlpod064-13.w2k3.net>.
    
  • Wartości w <jawne> będzie zawierać nazwy SPN w usłudze Active Directory dla Reporting Services konta usługa.

Jeśli nie chcesz kontynuować korzystanie z ochrony rozszerzonej następnie zestaw z powrotem do ustawień domyślnych wartości konfiguracyjnych i uruchom ponownie Reporting Services konta usługi.

<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>

Aby uzyskać więcej informacji, zobacz Ochrona rozszerzona do uwierzytelniania przy użyciu usług raportowania

Jak przeglądarka wybiera wynegocjowany Kerberos lub negocjowane NTLM

Kiedy używać programu Internet Explorer do łączenia się z serwer raportów, określa negocjowane Kerberos i NTLM nagłówka uwierzytelnianie.Zamiast protokołu Kerberos jest używany protokół NTLM, gdy:

  • Żądanie jest wysyłane do lokalnych serwer raportów.

  • Żądanie jest wysyłane na adres IP komputera serwera raportu zamiast nagłówka hosta lub nazwa serwera.

  • Porty bloków oprogramowania zapory są używane do uwierzytelnianie Kerberos.

  • Systemu operacyjnego określonego serwera nie włączony jest protokół Kerberos.

  • Domena zawiera starsze wersje systemu Windows klient oraz serwerowych systemów operacyjnych, które nie obsługują funkcji uwierzytelnianie Kerberos, wbudowane w nowszych wersjach systemu operacyjnego.

Ponadto program Internet Explorer może wybrać negocjowane Kerberos i NTLM w zależności od sposobu skonfigurowania adres URL, LAN i ustawienia serwera proxy.

Adres URL serwera raportów

Jeśli adres URL zawiera w pełni kwalifikowaną nazwą domena, program Internet Explorer wybiera uwierzytelnianie NTLM.Jeśli adres URL określa localhost, program Internet Explorer wybiera uwierzytelnianie NTLM.Jeśli adres URL określa nazwę sieciową komputera, program Internet Explorer wybiera negocjowanie, który będzie się pomyślnie lub nie powiedzie się, w zależności od tego, czy istnieje główna nazwa usługi konta usługa serwera raportów.

Ustawienia serwera Proxy na kliencie i LAN

LAN i serwera proxy zestawtings, które zestaw w programie Internet Explorer można określić czy NTLM jest wybierany przez protokół Kerberos.Jednak ponieważ różne ustawienia sieci LAN i serwera proxy organizacji, nie jest możliwe dokładne ustalenie dokładnego ustawienia, które przyczyniają się do protokołu Kerberos błędy uwierzytelnianie.Na przykład organizacja może wymusić ustawienia serwera proxy, których adresy URL z adresów URL w sieci intranet do adresów URL fully-qualified domena name, eliminujących za pośrednictwem połączeń internetowych.Uwierzytelnianie różnych dostawców są używane dla różnych typów adresów URL, może się okazać, że niektóre połączenia pomyślnie, gdy użytkownik należałoby spodziewać ich nie powiedzie się.

Jeśli wystąpią błędy połączeń, które prawdopodobnie są ze względu na błędy uwierzytelnianie można wypróbować różne kombinacje ustawienia sieci LAN i serwera proxy, aby wyizolować problem.W programie Internet Explorer ustawienia sieci LAN i proxy są na Ustawienia sieci lokalnej (LAN) dialogowe, które można otworzyć, klikając Ustawienia sieci LAN na połączenia karcie Opcje internetowe.