Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Standaard accepteert Reporting Services verzoeken die Negotiate- of NTLM-authenticatie specificeren. Als je implementatie clientapplicaties en browsers bevat die deze beveiligingsproviders gebruiken, kun je de standaardwaarden gebruiken zonder andere configuraties. Stel dat je een andere beveiligingsprovider wilt gebruiken voor Windows geïntegreerde beveiliging, of als je de standaardwaarden aanpast en de originele instellingen wilt herstellen. Je kunt de informatie in dit artikel gebruiken om authenticatie-instellingen op de rapportserver aan te geven.
Om Windows-geïntegreerde beveiliging te gebruiken, moet elke gebruiker die toegang tot een rapportserver nodig heeft, een geldig lokaal of domeingebruikersaccount van Windows hebben. Of ze moeten lid zijn van een lokaal Windows- of domeingroepaccount. Je kunt accounts van andere domeinen toevoegen zolang die domeinen worden vertrouwd. De accounts moeten toegang hebben tot de rapportservercomputer en moeten vervolgens aan rollen worden toegewezen om toegang te krijgen tot specifieke rapportageserveroperaties.
Aan de volgende vereisten moet ook worden voldaan:
De RSReportServer.config-bestanden moeten zijn
AuthenticationTypeingesteld opRSWindowsNegotiate,RSWindowsKerberos, ofRSWindowsNTLM. Standaard bevat het RSReportServer.config-bestand deRSWindowsNegotiateinstelling als het Report Server-serviceaccount NetworkService of LocalSystem is; anders wordt deRSWindowsNTLMinstelling gebruikt. Je kunt toevoegenRSWindowsKerberosals je applicaties hebt die alleen Kerberos-authenticatie gebruiken.Important
Wanneer je gebruikt
RSWindowsNegotiate, ontstaat er een Kerberos-authenticatiefout als je de Report Server-service hebt geconfigureerd om onder een domeingebruikersaccount te draaien en je geen Service Principal Name (SPN) voor het account registreert. Voor meer informatie, zie Kerberos-authenticatiefouten oplossen bij het verbinden met een rapportserver in dit onderwerp.ASP.NET moet geconfigureerd zijn voor Windows-authenticatie. Standaard bevatten de Web.config bestanden voor de Report Server Webservice de
<authentication mode="Windows">instelling. Als je het verandert naar<authentication mode="Forms">, faalt de Windows Authentication for Reporting Services.De Web.config-bestanden voor de webservice van de rapportserver moeten
<identity impersonate= "true" />bevatten.De clientapplicatie of browser moet Windows-geïntegreerde beveiliging ondersteunen.
Het webportaal heeft geen extra configuratie nodig.
Om de authenticatie-instellingen van de rapportserver te wijzigen, bewerk u de XML-elementen en waarden in het RSReportServer.config-bestand. Je kunt de voorbeelden in dit artikel kopiëren en plakken om specifieke combinaties te implementeren.
De standaardinstellingen werken het beste als alle client- en servercomputers in hetzelfde domein of in een vertrouwd domein zitten. En de rapportserver is ingezet voor intranettoegang achter een bedrijfsfirewall. Vertrouwde en enkele domeinen zijn een vereiste voor het doorgeven van Windows-inloggegevens. Inloggegevens kunnen meer dan één keer worden doorgegeven als je het Kerberos versie 5-protocol voor je servers inschakelt. Anders kunnen inloggegevens slechts één keer worden doorgegeven voordat ze verlopen. Voor meer informatie over het configureren van inloggegevens voor meerdere computerverbindingen, zie Specificeer inloggegevens en verbindingsinformatie voor rapportagegegevensbronnen.
De volgende instructies zijn bedoeld voor een rapportserver in de systeemeigen modus. Als de rapportserver is geïmplementeerd in de geïntegreerde SharePoint-modus, moet u de standaardverificatie-instellingen gebruiken waarmee geïntegreerde Windows-beveiliging wordt opgegeven. De rapportserver gebruikt interne functies in de standaard Windows Authentication-extensie om rapportservers in SharePoint-geïntegreerde modus te ondersteunen.
Uitgebreide bescherming voor authenticatie
Vanaf SQL Server 2008 R2 (10.50.x) is ondersteuning voor Uitgebreide beveiliging voor verificatie beschikbaar. De SQL Server-functie ondersteunt het gebruik van kanaalbinding en servicebinding om de beveiliging van verificatie te verbeteren. De functies van Reporting Services moeten worden gebruikt met een besturingssysteem dat Extended Protection ondersteunt. Je kunt Reporting Services configuratie voor uitgebreide bescherming bepalen door specifieke instellingen in het RSReportServer.config-bestand. Je kunt het bestand bijwerken door het bestand te bewerken of door gebruik te maken van WMI-API's. Voor meer informatie, zie Uitgebreide bescherming voor authenticatie met Reporting Services.
Configureer een rapportserver om Windows-geïntegreerde beveiliging te gebruiken
Open RSReportServer.config in een teksteditor.
Zoek
<Authentication>.Kopieer een van de volgende XML-structuren die het beste bij je behoeften past. Je kunt ,
RSWindowsNTLM, enRSWindowsKerberosin willekeurige volgorde specificerenRSWindowsNegotiate. Je moet authenticatiepersistentie inschakelen als je de verbinding wilt authenticeren in plaats van elk individueel verzoek. Bij authenticatiepersistentie zijn alle verzoeken die authenticatie vereisen toegestaan tijdens de verbinding.De eerste XML-structuur is de standaardconfiguratie wanneer de serviceaccount van Report Server NetworkService of LocalSystem is:
<Authentication> <AuthenticationTypes> <RSWindowsNegotiate /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>De tweede XML-structuur is de standaardconfiguratie wanneer het Report Server-serviceaccount niet NetworkService of LocalSystem is:
<Authentication> <AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes> <EnableAuthPersistence>true</EnableAuthPersistence> </Authentication>De derde XML-structuur specificeert alle beveiligingspakketten die worden gebruikt in Windows geïntegreerde beveiliging:
<AuthenticationTypes> <RSWindowsNegotiate /> <RSWindowsKerberos /> <RSWindowsNTLM /> </AuthenticationTypes>De vierde XML-structuur specificeert NTLM alleen voor implementaties die geen Kerberos ondersteunen of om Kerberos-authenticatiefouten te omzeilen:
<AuthenticationTypes> <RSWindowsNTLM /> </AuthenticationTypes>Plak het over de bestaande vermeldingen voor
<Authentication>.Je kunt
Customniet gebruiken met de typenRSWindows.Pas de instellingen aan voor uitgebreide bescherming waar nodig. Uitgebreide bescherming is standaard uitgeschakeld. Als deze vermeldingen niet aanwezig zijn, draait de huidige computer mogelijk geen versie van Reporting Services die uitgebreide bescherming ondersteunt. Voor meer informatie, zie Uitgebreide bescherming voor authenticatie met Reporting Services
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>Sla het bestand op.
Als je een scale-out deployment hebt geconfigureerd, herhaal deze stappen dan voor andere rapportservers in de deployment.
Herstart de rapportserver om alle momenteel geopende sessies te beëindigen.
Los Kerberos-authenticatiefouten op bij het verbinden met een Report Server
Op een rapportserver die is geconfigureerd voor Negotiate- of Kerberos-authenticatie, faalt een clientverbinding met de rapportserver als er een Kerberos-authenticatiefout is. Kerberos-authenticatiefouten zijn bekend wanneer het volgende gebeurt:
De Report Server-service draait als een Windows-domeingebruikersaccount en je hebt geen Service Principal Name (SPN) voor het account geregistreerd.
De rapportserver is geconfigureerd met deze
RSWindowsNegotiateinstelling.De browser kiest Kerberos boven NTLM in de authenticatieheader van het verzoek dat het naar de rapportserver stuurt.
Je kunt de fout detecteren als je Kerberos-logging hebt ingeschakeld. Een ander symptoom van de fout is dat je meerdere keren om inloggegevens wordt gevraagd en dan een leeg browservenster ziet.
Je kunt bevestigen dat je een Kerberos-authenticatiefout tegenkomt door het uit je configuratiebestand te verwijderen <RSWindowsNegotiate> en opnieuw verbinding te maken.
Nadat je het probleem hebt bevestigd, kun je het op de volgende manieren aanpakken:
Registreer een SPN voor de Report Server-service onder het domeingebruikersaccount. Zie Een Service Principal Name (SPN) registreren voor een rapportserver voor meer informatie.
Verander het serviceaccount zodat het onder een ingebouwd account draait, zoals Network Service. Ingebouwde accounts koppelen HTTP SPN aan het Host SPN, dat wordt gedefinieerd wanneer je een computer aan je netwerk koppelt. Zie Een serviceaccount configureren (Report Server Configuration Manager) voor meer informatie.
Gebruik NTLM. NTLM werkt over het algemeen in gevallen waarin Kerberos-authenticatie faalt. Om NTLM te gebruiken, verwijdert u
RSWindowsNegotiateuit het RSReportServer.config-bestand en controleert u of alleenRSWindowsNTLMis opgegeven. Als je voor deze aanpak kiest, kun je een domeingebruikersaccount blijven gebruiken voor de Report Server-service, zelfs als je er geen SPN voor hebt gedefinieerd.
Samengevat moet je commando's uitvoeren die lijken op het volgende voorbeeld. Vervang de waarden waar nodig.
setspn -S HTTP/<SSRS Server FDQN> <SSRS Service Account>
setspn -S HTTP/<host header for Report server web site> <SSRS Service Account>
setspn -S HTTP/<SharePoint Server FDQN> <SharePoint Application Pool Account>
setspn -S HTTP/<host header for SharePoint site> <SharePoint Application Pool Account>
setspn -S HTTP/Dummy <Claims to Windows Taken Service Account>
Logboekgegevens
Er zijn verschillende bronnen van logginginformatie die kunnen helpen bij het oplossen van Kerberos-gerelateerde problemen.
User-Account-Control-attribuut
Bepaal of het Reporting Services-serviceaccount voldoende attribuut heeft ingesteld in Active Directory. Bekijk het tracelogbestand van de Reporting Services-service om de waarde te vinden die voor het UserAccountControl-attribuut is gelogd. De geregistreerde waarde is in decimale vorm. Je moet de decimale waarde omzetten naar hexadecimale vorm en die waarde vervolgens vinden in het MSDN-artikel dat User-Account-Control Attribuut beschrijft.
De Reporting Services service trace-logboekvermelding lijkt op het volgende voorbeeld:
appdomainmanager!DefaultDomain!8f8!01/14/2010-14:42:28:: i INFO: The UserAccountControl value for the service account is 590336Een optie om de decimale waarde om te zetten naar hexadecimale vorm is voor ons de Microsoft Windows rekenmachine. Windows Calculator ondersteunt verschillende modi die de
Decoptie enHexopties tonen. Selecteer deDecoptie, plak of typ de decimale waarde in die je in het logbestand hebt gevonden en selecteer vervolgens de optie 'Hex'.Raadpleeg vervolgens het artikel User-Account-Control Attribuut om het attribuut voor het serviceaccount af te leiden.
SPN's geconfigureerd in Active Directory voor het Reporting Services-serviceaccount
Om de SPN's in het Reporting Services service trace-logbestand te loggen, kunt u tijdelijk de functie Reporting Services Extended Protection inschakelen.
Wijzig het configuratiebestand rsreportserver.config door het volgende in te stellen:
<RSWindowsExtendedProtectionLevel>Allow</RSWindowsExtendedProtectionLevel> <RSWindowsExtendedProtectionScenario>Any</RSWindowsExtendedProtectionScenario>Start de Reporting Services-service opnieuw.
Als je Extended Protection niet wilt blijven gebruiken, zet dan de configuratiewaarden terug naar de standaardwaarden en start het Reporting Services Service-account opnieuw.
<RSWindowsExtendedProtectionLevel>Off</RSWindowsExtendedProtectionLevel>
<RSWindowsExtendedProtectionScenario>Proxy</RSWindowsExtendedProtectionScenario>
Voor meer informatie, zie Uitgebreide bescherming voor authenticatie met Reporting Services.
Hoe de browser kiest voor Negotiated Kerberos of Negotiated NTLM
Wanneer je Internet Explorer gebruikt om verbinding te maken met de rapportserver, wordt in de authenticatieheader Kerberos of NTLM opgegeven. NTLM wordt gebruikt in plaats van Kerberos wanneer:
Het verzoek wordt naar een lokale rapportserver gestuurd.
Het verzoek wordt gestuurd naar een IP-adres van de rapportservercomputer in plaats van naar een hostheader of servernaam.
Firewallsoftware blokkeert poorten die worden gebruikt voor Kerberos-authenticatie.
Het besturingssysteem van een bepaalde server heeft Kerberos niet ingeschakeld.
Het domein bevat oudere versies van Windows client- en serverbesturingssystemen die de Kerberos-authenticatiefunctie niet ondersteunen die in nieuwere versies van het besturingssysteem is ingebouwd.
Daarnaast kan Internet Explorer kiezen voor Negotiated Kerberos of NTLM, afhankelijk van hoe je URL-, LAN- en proxy-instellingen hebt geconfigureerd.
URL van rapportserver
Als de URL een volledig gekwalificeerde domeinnaam bevat, kiest Internet Explorer NTLM. Als de URL localhost specificeert, kiest Internet Explorer NTLM. Als de URL de netwerknaam van de computer specificeert, kiest Internet Explorer Negotiate, wat slaagt of faalt, afhankelijk van of er een SPN bestaat voor het Report Server-serviceaccount.
LAN- en proxy-instellingen op de client
LAN- en proxy-instellingen die je in Internet Explorer instelt kunnen bepalen of NTLM wordt gekozen boven Kerberos. Omdat LAN- en proxy-instellingen echter per organisatie verschillen, is het niet mogelijk om precies te bepalen welke instellingen bijdragen aan Kerberos-authenticatiefouten. Uw organisatie kan bijvoorbeeld proxy-instellingen afdwingen die URL's transformeren van intranet-URL's naar volledig gekwalificeerde domeinnaam-URL's die via internetverbindingen worden opgelost. Als verschillende authenticatieproviders worden gebruikt voor verschillende soorten URL's, kun je merken dat sommige verbindingen slagen wanneer je verwacht dat ze zullen falen.
Je kunt verbindingsfouten tegenkomen waarvan je denkt dat ze door authenticatiefouten komen. Als dat zo is, kun je verschillende combinaties van LAN- en proxy-instellingen proberen om het probleem te isoleren. In Internet Explorer staan LAN- en proxy-instellingen in het dialoogvenster Local Area Network (LAN) Instellingen, dat je opent door LAN-instellingen te selecteren op het tabblad Verbinding van Internetopties.
Aanvullende informatie voor Kerberos en rapportservers
- Voor meer informatie over Kerberos en rapportservers, zie Deploying a Business Intelligence Solution Using SharePoint, Reporting Services, and PerformancePoint Monitoring Server with Kerberos.
Verwante onderwerpen
- Verificatie in een rapportserver
- Machtigingen verlenen op een rapportserver in de systeemeigen modus
- RsReportServer.config configuratiebestand
- Configureer basisauthenticatie op de rapportserver
- Configureer aangepaste of formulierauthenticatie op de rapportserver
- Uitgebreide beveiliging voor verificatie met Reporting Services