Freigeben über


Konfigurieren der Windows-Authentifizierung auf dem Berichtsserver

Standardmäßig akzeptiert Reporting Services Anforderungen, die die Aushandlungs- oder NTLM-Authentifizierung angeben. Wenn Ihre Bereitstellung Clientanwendungen und Browser enthält, die diese Sicherheitsanbieter verwenden, können Sie die Standardwerte ohne zusätzliche Konfiguration verwenden. Wenn Sie einen anderen Sicherheitsanbieter für integrierte Windows-Sicherheit verwenden möchten (z. B. wenn Sie Kerberos direkt verwenden möchten), oder wenn Sie die Standardwerte geändert haben und die ursprünglichen Einstellungen wiederherstellen möchten, können Sie die Informationen in diesem Thema verwenden, um Authentifizierungseinstellungen auf dem Berichtsserver anzugeben.

Um die integrierte Windows-Sicherheit zu verwenden, muss jeder Benutzer, der Zugriff auf einen Berichtsserver benötigt, über ein gültiges Windows-Benutzerkonto oder domänenbezogenes Benutzerkonto verfügen oder Mitglied eines lokalen Windows- oder Domänengruppenkontos sein. Sie können Konten aus anderen Domänen einschließen, solange diese Domänen vertrauenswürdig sind. Die Konten müssen Zugriff auf den Berichtsservercomputer haben und anschließend Rollen zugewiesen werden, um Zugriff auf bestimmte Berichtsservervorgänge zu erhalten.

Die folgenden zusätzlichen Anforderungen müssen ebenfalls erfüllt sein:

  • Die RSeportServer.config-Dateien müssen auf AuthenticationType, RSWindowsNegotiate, RSWindowsKerberos oder RSWindowsNTLM gesetzt werden. Standardmäßig enthält die RSReportServer.config Datei die RSWindowsNegotiate Einstellung, wenn das Report Server-Dienstkonto entweder NetworkService oder LocalSystem ist. Andernfalls wird die RSWindowsNTLM Einstellung verwendet. Sie können hinzufügen RSWindowsKerberos , wenn Sie über Anwendungen verfügen, die nur die Kerberos-Authentifizierung verwenden.

    Von Bedeutung

    Die Verwendung RSWindowsNegotiate führt zu einem Kerberos-Authentifizierungsfehler, wenn Sie den Berichtsserverdienst so konfiguriert haben, dass er unter einem Domänenbenutzerkonto ausgeführt wird und Sie keinen Dienstprinzipalnamen (Service Principal Name, SPN) für das Konto registriert haben. Weitere Informationen finden Sie unter Beheben von Kerberos-Authentifizierungsfehlern beim Herstellen einer Verbindung mit einem Berichtsserver in diesem Thema.

  • ASP.NET muss für die Windows-Authentifizierung konfiguriert werden. Standardmäßig enthalten die Dateien für den Webdienst des Report Servers und den Berichts-Manager die Web.config <Einstellung "authentifizierungsmodus="Windows">. Wenn Sie sie in <den Authentifizierungsmodus ="Formulare"> ändern, schlägt die Windows-Authentifizierung für Reporting Services fehl.

  • Die Web.config Dateien für den Report-Server-Webdienst und den Berichts-Manager müssen <Identitätswechsel= "true" /> haben.

  • Die Clientanwendung oder der Browser muss die integrierte Windows-Sicherheit unterstützen.

Um die Authentifizierungseinstellungen des Berichtsservers zu ändern, bearbeiten Sie die XML-Elemente und -Werte in der RSReportServer.config Datei. Sie können die Beispiele in diesem Thema kopieren und einfügen, um bestimmte Kombinationen zu implementieren.

Die Standardeinstellungen funktionieren am besten, wenn sich alle Client- und Servercomputer in derselben Domäne oder in einer vertrauenswürdigen Domäne befinden und der Berichtsserver für den Intranetzugriff hinter einer Unternehmensfirewall bereitgestellt wird. Vertrauenswürdige und eindeutige Domänen sind eine Voraussetzung für die Übergabe von Windows-Anmeldeinformationen. Anmeldeinformationen können mehrere Mal übergeben werden, wenn Sie das Kerberos Version 5-Protokoll für Ihre Server aktivieren. Andernfalls können Zugangsdaten nur einmal vor Ablauf übergeben werden. Weitere Informationen zum Konfigurieren von Anmeldeinformationen für mehrere Computerverbindungen finden Sie unter Angeben von Anmeldeinformationen und Verbindungsinformationen für Berichtsdatenquellen.

Die folgenden Anweisungen sind für einen Berichtsserver für den nativen Modus vorgesehen. Wenn der Berichtsserver im integrierten SharePoint-Modus bereitgestellt wird, müssen Sie die Standardauthentifizierungseinstellungen verwenden, die die integrierte Windows-Sicherheit angeben. Der Berichtsserver verwendet interne Features in der Standardmäßigen Windows-Authentifizierungserweiterung, um Berichtsserver im integrierten SharePoint-Modus zu unterstützen.

Erweiterter Schutz für die Authentifizierung

Ab SQL Server 2008 R2 ist die Unterstützung für erweiterten Schutz für die Authentifizierung verfügbar. Die SQL Server -Funktion unterstützt die Verwendung der Kanalbindung und Dienstbindung, um den Authentifizierungsschutz zu verbessern. Die Reporting Services-Features müssen mit einem Betriebssystem verwendet werden, das erweiterten Schutz unterstützt. Die Reporting Services-Konfiguration für erweiterten Schutz wird durch Einstellungen in der RSReportServer.config Datei bestimmt. Die Datei kann entweder durch Bearbeiten der Datei oder mithilfe von WMI-APIs aktualisiert werden. Weitere Informationen finden Sie unter Erweiterter Schutz für die Authentifizierung mit Reporting Services.

So konfigurieren Sie einen Berichtsserver für die Verwendung der integrierten Windows-Sicherheit

  1. Öffnen Sie RSReportServer.config in einem Text-Editor.

  2. Finde <Authentication>.

  3. Kopieren Sie eine der folgenden XML-Strukturen, die ihren Anforderungen am besten entsprechen. Sie können RSWindowsNegotiate, RSWindowsNTLM und RSWindowsKerberos in beliebiger Reihenfolge angeben. Sie sollten die Authentifizierungspersistenz aktivieren, wenn Sie die Verbindung anstelle jeder einzelnen Anforderung authentifizieren möchten. Unter Authentifizierungspersistenz sind alle Anforderungen, die eine Authentifizierung erfordern, für die Dauer der Verbindung zulässig.

    Die erste XML-Struktur ist die Standardkonfiguration, wenn das Report Server-Dienstkonto entweder NetworkService oder LocalSystem ist:

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

    Die zweite XML-Struktur ist die Standardkonfiguration, wenn das Berichtsserverdienstkonto nicht NetworkService oder LocalSystem ist:

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

    </Authentifizierung>

    Die dritte XML-Struktur gibt alle Sicherheitspakete an, die in der integrierten Sicherheit von Windows verwendet werden:

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

    Die vierte XML-Struktur gibt NTLM nur für Bereitstellungen an, die Kerberos nicht unterstützen oder Kerberos-Authentifizierungsfehler umgehen:

          <AuthenticationTypes>  
                 <RSWindowsNTLM />  
          </AuthenticationTypes>  
    
  4. Fügen Sie es über die vorhandenen Einträge für <Authentication> ein.

    Beachten Sie, dass Sie Custom nicht mit den RSWindows Typen verwenden können.

  5. Ändern Sie die Einstellungen für den erweiterten Schutz entsprechend. Erweiterter Schutz ist standardmäßig deaktiviert. Wenn diese Einträge nicht vorhanden sind, wird auf dem aktuellen Computer möglicherweise keine Version von Reporting Services ausgeführt, die erweiterten Schutz unterstützt. Weitere Informationen finden Sie unter Extended Protection for Authentication with Reporting Services.

          <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>  
          <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>  
    
  6. Speichern Sie die Datei.

  7. Wenn Sie eine verteilte Bereitstellung konfiguriert haben, wiederholen Sie diese Schritte für andere Report-Server in der Bereitstellung.

  8. Starten Sie den Berichtsserver neu, um alle momentan geöffneten Sitzungen zu beenden.

Beheben von Kerberos-Authentifizierungsfehlern beim Herstellen einer Verbindung mit einem Berichtsserver

Auf einem Berichtsserver, der für die Aushandlungs- oder Kerberos-Authentifizierung konfiguriert ist, schlägt eine Clientverbindung mit dem Berichtsserver fehl, wenn ein Kerberos-Authentifizierungsfehler auftritt. Kerberos-Authentifizierungsfehler sind bekannt, wenn:

  • Der Report Server-Dienst wird als Windows-Domänenbenutzerkonto ausgeführt, und Sie haben keinen Dienstprinzipalnamen (Service Principal Name, SPN) für das Konto registriert.

  • Der Berichtsserver ist mit der RSWindowsNegotiate Einstellung konfiguriert.

  • Der Browser wählt Kerberos über NTLM im Authentifizierungsheader in der Anforderung aus, die er an den Berichtsserver sendet.

Sie können den Fehler erkennen, wenn Sie die Kerberos-Protokollierung aktiviert haben. Ein weiteres Symptom des Fehlers ist, dass Sie mehrmals zur Eingabe von Anmeldeinformationen aufgefordert werden und dann ein leeres Browserfenster sehen.

Sie können bestätigen, dass ein Kerberos-Authentifizierungsfehler auftritt, indem Sie <RSWindowsNegotiate /> aus Ihrer Konfigurationsdatei entfernen und die Verbindung erneut versuchen.

Nachdem Sie das Problem bestätigt haben, können Sie es wie folgt beheben:

Protokollierungsinformationen

Es gibt mehrere Quellen von Protokollierungsinformationen, die bei der Behebung von Kerberos-bezogenen Problemen helfen können.

User-Account-Control-Attribut

Ermitteln Sie, ob das Reporting Services-Dienstkonto das ausreichende Attribut in Active Directory festgelegt hat. Überprüfen Sie die Ablaufverfolgungsprotokolldatei des Reporting Services-Diensts, um den für das UserAccountControl-Attribut protokollierten Wert zu finden. Der protokollierte Wert befindet sich in dezimaler Form. Sie müssen den Dezimalwert in hexadezimale Form konvertieren und dann diesen Wert im MSDN-Thema ermitteln, in dem "User-Account-Control Attribute" beschrieben wird.

  • Der Reporting Services-Ablaufverfolgungsprotokolleintrag sieht ähnlich wie folgt aus:

    appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336  
    
  • Eine Möglichkeit, einen Dezimalwert in eine hexadezimale Form zu konvertieren, ist die Verwendung des Microsoft Windows-Rechners. Der Windows-Rechner unterstützt mehrere Modi, in denen die Optionen „Dez“ und „Hex“ angezeigt werden. Wählen Sie die Option "Dez" aus, fügen Sie den Dezimalwert ein, den Sie in der Protokolldatei gefunden haben, und wählen Sie dann die Option "Hex" aus.

  • Wenden Sie sich dann an das Thema User-Account-Control Attribut, um das Attribut für das Dienstkonto herzuleiten.

SPNs, die in Active Directory für das Reporting Services-Dienstkonto konfiguriert sind.

Um die SPNs in der Reporting Services-Ablaufverfolgungsprotokolldatei zu protokollieren, können Sie das Feature Reporting Services Extended Protection vorübergehend aktivieren.

  • Ändern Sie die Konfigurationsdatei rsreportserver.config , indem Sie Folgendes festlegen:

    <RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel>   
    <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>  
    
  • Starten Sie den Reporting Services -Dienst neu.

Wenn Sie den erweiterten Schutz nicht fortsetzen möchten, legen Sie die Konfigurationswerte wieder auf Standardwerte fest, und starten Sie das Reporting Services-Dienstkonto neu.

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

Weitere Informationen finden Sie unter Erweiterter Schutz für die Authentifizierung mit Reporting Services

So wählt der Browser ausgehandeltes Kerberos oder ausgehandeltes NTLM

Wenn Sie Internet Explorer zum Herstellen einer Verbindung mit dem Berichtsserver verwenden, gibt es entweder ausgehandeltes Kerberos oder NTLM im Authentifizierungsheader an. NTLM wird anstelle von Kerberos verwendet, wenn:

  • Die Anforderung wird an einen lokalen Berichtsserver gesendet.

  • Die Anforderung wird an eine IP-Adresse des Berichtsservercomputers und nicht an einen Hostheader oder Servernamen gesendet.

  • Firewallsoftware blockiert Ports, die für die Kerberos-Authentifizierung verwendet werden.

  • Das Betriebssystem eines bestimmten Servers hat Kerberos nicht aktiviert.

  • Die Domäne enthält ältere Versionen von Windows-Client- und Serverbetriebssystemen, die das in neuere Versionen des Betriebssystems integrierte Kerberos-Authentifizierungsfeature nicht unterstützen.

Darüber hinaus kann Internet Explorer abhängig von der Konfiguration von URL, LAN und Proxyeinstellungen entweder ausgehandeltes Kerberos oder NTLM auswählen.

Berichtsserver-URL

Wenn die URL einen vollqualifizierten Domänennamen enthält, wählt Internet Explorer NTLM aus. Wenn die URL "localhost" angibt, wählt Internet Explorer NTLM aus. Wenn die URL den Netzwerknamen des Computers angibt, wählt Internet Explorer "Aushandeln" aus, das erfolgreich ist oder fehlschlägt, je nachdem, ob ein SPN für das Berichtsserverdienstkonto vorhanden ist.

LAN- und Proxyeinstellungen auf dem Client

LAN- und Proxyeinstellungen, die Sie in Internet Explorer festlegen, können bestimmen, ob NTLM über Kerberos ausgewählt wird. Da LAN- und Proxyeinstellungen jedoch in organisationenübergreifend variieren, ist es nicht möglich, genau die Einstellungen zu ermitteln, die zu Kerberos-Authentifizierungsfehlern beitragen. Beispielsweise kann Ihre Organisation Proxyeinstellungen erzwingen, die URLs von Intranet-URLs in vollqualifizierte Domänennamen-URLs transformieren, die über Internetverbindungen aufgelöst werden. Wenn unterschiedliche Authentifizierungsanbieter für unterschiedliche URLs-Typen verwendet werden, stellen Sie möglicherweise fest, dass einige Verbindungen erfolgreich sind, wenn Sie erwartet hätten, dass sie fehlschlagen.

Wenn Verbindungsfehler auftreten, von denen Sie denken, dass es sich um Authentifizierungsfehler handelt, können Sie verschiedene Kombinationen von LAN- und Proxyeinstellungen ausprobieren, um das Problem zu isolieren. In Internet Explorer befinden sich LAN- und Proxyeinstellungen im Dialogfeld "Lan-Einstellungen(Local Area Network)", das Sie öffnen, indem Sie auf der Registerkarte "Verbindung" der Internetoptionen auf LAN-Einstellungen klicken.

Externe Ressourcen

Siehe auch

Authentifizierung mit dem Berichtsserver
Granting Permissions on a Native Mode Report Server (Erteilen von Berechtigungen für einen Berichtsserver im einheitlichen Modus)
RSReportServer-Konfigurationsdatei
Konfigurieren der Standardauthentifizierung auf dem Berichtsserver
Configure Custom or Forms Authentication on the Report Server (Konfiguration der benutzerdefinierten oder Formularauthentifizierung auf dem Berichtsserver)
Extended Protection for Authentication with Reporting Services (Erweiterter Schutz für die Authentifizierung mit Reporting Services)