Gastbeitrag: Reporting Services 2008 im SharePoint integrierten Modus
Hier ein Gastbeitrag von Mario Krukow, Apetito AG. Mario hat sich mit dem Thema Reporting Services Konfiguration im Sharepoint-integrierten Modus beschäftigt. Vielen Dank für diesen Beitrag!
Disclaimer: Für alles Folgende ist Mario Krukow, Apetito AG, nicht ich verantwortlich.
Gruß & Dank
Steffen Krause
Reporting Services 2008 im SharePoint integrierten Modus
Installieren/Konfigurieren
Einleitung
Damit im MOSS 2007 der Zugriff auf Reports von SSRS 2008 gewährleistet werden kann gibt es zwei Möglichkeiten. Zum Einen die etwas einfachere Variante in dem die Reporting Services von SQL 2008 im systemeigenen Modus installiert und die Berichte dann durch SharePoint 3.0 Webparts angezeigt werden.
Diese Webparts werden in einer CAB-Datei mit der Installation von SSRS 2008 (oder SSRS 2005) im Installationsverzeichnis der Reporting Services bereitgestellt.
Name der Datei: RSWebParts.cab
Diese CAB-Datei kann dann mit „stsadm –o addwppack“ in einer MOSS 2007 Farm veröffentlicht werden.
Es stehen zwei Webparts für die Anzeige von Berichten im systemeigenen Modus zur Verfügung:
1. Berichts-Viewer-Webpart
In diesem kann der Bericht mit allen Standard Funktionen aufgerufen werden.
2. Berichts-Explorer-Webpart
Dieses wird zur Ansicht der „Ordner“-Struktur des Report Servers verwendet.
Wie schon erwähnt, ist dieser Vorgang ein relativ einfacher Prozess, welcher auch ohne größere Probleme umzusetzen ist. Der größte Nachteil den ich hier sehe, ist die doppelte Rechteverwaltung, denn das Berechtigungskonzept der SSRS ist getrennt von der MOSS-Umgebung. Des Weiteren müssen sämtliche Einstellungen an den Berichten, Datenquellen, Abonnements, Zeitplänen etc. in der Oberfläche des Report Servers separat durchgeführt werden.
Die so eben beschriebenen Nachteile sind die wesentlichen Vorteile des SharePoint integrierten Modus von SSRS 2008. Denn die o.g. Punkte können direkt über die SharePoint Oberfläche konfiguriert werden.
Voraussetzung für den SharePoint integrierten Modus
Damit später Berichte ohne zusätzliche Authentifizierung des Anwenders ausgeführt werden können, muss eine funktionierende Windows 2003 Domäne vorhanden sein.
Die wichtigste Konfiguration für die SharePoint Farm und den Reporting Services ist die Verwendung des Kerberos Protokolls zur Authentifizierung.
Durch die Verwendung von Kerberos wird sichergestellt, dass die Delegation ohne Probleme funktioniert. Eine sehr gute Beschreibung zum Thema Kerberos und SharePoint 2007 hat Fabian Moritz in seinem Blog beschrieben:
https://weblogs.mysharepoint.de/fabianm/archive/2007/10/28/kerberos-in-einer-sharepoint-farm-einrichten.aspx
Aufbau meiner Testumgebung:
1 Windows Server 2003 SP1 als Domänen Controller
1 Windows Server 2003 SP2 als SharePoint Server (Webfrontend-, Applikationserver)
1 Windows Server 2003 SP2 mir SQL 2008 Dev
Die MOSS 2007 Startseite wird über die URL: https://testportal aufgerufen
Version der MOSS Umgebung: 12.0.0.6335
Version des SQL 2008 Servers: 10.0.1763.0
Auf dem Server für die SSRS muss zusätzlich noch die Installation des MOSS 2007 oder der WSS 3.0 vorhanden sein, damit hier enthaltene Objekte für den SharePoint integrierten Modus von Reporting Services verwendet werden können.
In meiner Umgebung habe ich mich für die Installation auf den vorhanden SharePoint Server entschieden. Für eine Produktivumgebung sollte man sich aber aus Performancegründen für einen separaten Server entscheiden.
Installation und Konfiguration:
Benötigte Software
SQL 2008 Installations-Medium (folgende Versionen werden unterstützt: Standard, Enterprise, Developer)
SQL Server 2008 Reporting Services-Add-In für SharePoint Technologien,
Download Link: https://www.microsoft.com/downloads/details.aspx?familyid=200FD7B5-DB7C-4B8C-A7DC-5EFEE6E19005&displaylang=de
Installation der SSRS
Standardinstallation wird mit dem Installationsmedium für SQL 2008 durchgeführt. Bei der Installationsroutine nur die Komponente „Reporting Services“ wählen.
Des Weiteren muss darauf geachtet werden, dass bei der Installation die Option „Berichtsserver installieren, aber nicht konfigurieren. “ ausgewählt ist.
Die Konfiguration des Berichtsservers wird nach der Installation vorgenommen. Wenn die Standard Installation abgeschlossen ist, kann noch das aktuellste kumulative Hotfixpaket für SQL 2008 nachinstalliert werden.
Konfiguration der Reporting Services DB
Zur Konfiguration der SSRS wird der Konfigurationsmanager für den Berichtsserver verwendet.
Hinweis: Wenn während der Installation ein anderer Name als der der Standard Instanz vergeben wurde, muss dieser unter „Berichtsserverinstanz“ ausgewählt werden.
Als erstes wird die Konfiguration der Datenbank vorgenommen. Dazu im Konfigurations-Manager „Datenbank“ auswählen und auf „Datenbank ändern“ klicken.
Falls es schon eine DB für die SSRS geben sollte, kann man diese auswählen und auch für den SharePoint integrierten Modus konfigurieren.
Ich wähle den Punkt „Neue Berichtsserver-Datenbank erstellen“.
Danach muss der SQL-Server angegeben werden, auf welchen die zukünftige DB des Berichtsservers betrieben wird.
Als Authentifizierungstyp verwende ich den aktuellen Benutzer mit integrierter Sicherheit, da meine SQL-Server Installation nur für die Windows Authentifizierung konfiguriert wurde.
Des Weiteren hat dieser Benutzer auch schon die nötigen Berechtigungen zum Erstellen einer DB und Verwalten der Security auf dem SQL-Server.
In diesem Schritt wird der Name der DB festgelegt und der Modus auf „Integrierte SharePoint-Modus“ gesetzt.
Mit „Weiter“ gelangen wir zum nächsten Schritt.
Als nächstes muss die Anmeldeinformation des Dienstes festgelegt werden, welcher zukünftig auf die Reporting DB im SQL-Server zugreifen kann.
Der nachfolgende Schritt zeigt noch einmal eine Zusammenfassung und durch bestätigen mit „Weiter“ wird die Datenbank im SQL-Server angelegt.
Wenn die Erstellung der DB erfolgreich war, wird die Einstellung für die Berichtsserver DB im Konfigurations-Manager wie folgt dargestellt.
Konfiguration der Web-Dienst URL für den Berichtsserver
Zum Einrichten der Webdienst URL muss der Punkt „Webdienst-URL“ im Konfigurations-Manager ausgewählt werden.
Die Standard Vorgabe für die URL inkl. virtuellem Verzeichnis des Webdienstes ist: https://<Servername>:80/ReportServer
Diese Einstellung kann übernommen werden, wenn der Berichtsserver ein dedizierter Server ist. In meiner Umgebung ist der Berichtsserver auch mit auf dem Webfrontend Server installiert, deshalb habe ich mich dafür entschieden den Webdienst über einen Hostheader aufzurufen.
Den Hostheader konfiguriert man in den erweiterten Einstellungen, Klick auf „Erweitert“.
Hier die gewünschten Einstellungen vornehmen und alle Änderungen mit „OK“ übernehmen, danach müssen nur noch die durchgeführten Änderungen mit einem Klick auf „Anwenden“ in die Konfiguration des Berichtsservers geschrieben werden.
Eine erfolgreiche Konfiguration wird dann wie folgt dargestellt.
Damit die neue URL (Hostheader) des Berichtsserver Webdienstes auch in der Domäne erreichbar ist, muss natürlich noch ein DNS HOST-A Eintrag auf die IP-Adresse des Servers im DNS-Server vorgenommen werden.
Die URL für den Berichts Manager muss nicht konfiguriert werden, da dieser im SharePoint integrierten Modus so oder so nicht zur Verfügung steht.
Zwei weitere Punkte die noch bei der Konfiguration berücksichtigt werden müssen, ist zum Einem das Festlegen des „Ausführungskontos“. Dieses Konto wird verwendet um auf Datenquellen zuzugreifen, auf die keine gesonderten Anmeldeinformationen erforderlich sind.
Zum Anderen muss auch noch der Verschlüsselungsschlüssel gesichert werden. Dieser wird benötigt, wenn die DB des Berichtsserver auf einen anderen Computer verschoben wird, oder die DB muss wiederhergestellt werden.
Konfiguration der SSRS für die Verwendung des Kerberos-Protokolles
Als erstes muss die URL des Berichtsserver-Webdienstes als Dienstprinzipalname auf das ausführende Dienstkonto in der Domäne registriert werden.
Dies kann mit dem Tool „setspn“ aus den Windows Support Tools durchgeführt werden. Die Support Tools können bei Microsoft heruntergeladen werden.
Syntax zum registrieren des Dienstprinzipalnamens:
setspn –a http/<URL>:<Port> <Domäne\Benutzername>
(Wenn der Port 80 bei http verwendet wird, muss dieser nicht mit angegeben werden)
Bsp.:
setspn –a http/testmossreports testdom\testbenutzer
setspn –a http/testmossreports.testdom.de testdom\testbenutzer
Mit dem Syntax:
setspn –l <Benutzername>
kann überprüft werden ob die Dienstprinzipalnamen richtig registriert wurden.
Nach dem die Dienstprinzipalnamen auf das Dienstkonto der Reporting Services registriert wurden, muss dem Dienstkonto noch das Recht zur Delegierung gegeben werden. Damit wird dem Dienstkonto das Recht erteilt im „Namen“ des Anwenders auf entsprechende Datenquellen zuzugreifen.
Diese Einstellung wird einfach in den Eigenschaften des Dienstkontos eingestellt, siehe Grafik. [Anmerkung Steffen Krause: Hier ist aus Sicherheitsgründen Constrained Delegation empfohlen, siehe hier]
Zum Schluss der Kerberos Konfiguration muss noch die Datei „rsreportserver.config“ angepasst werden. In dieser Datei wird der Zusatz „<RSWindowsNegotiate>“
im Abschnitt „Authentication“ hinzugefügt.
<Authentication>
<AuthenticationTypes>
<RSWindowsNegotiate/>
<RSWindowsNTLM/>
</AuthenticationTypes>
<EnableAuthPersistence>true</EnableAuthPersistence>
</Authentication>
Damit ist die Konfiguration der Reportingservices abgeschlossen, weiter geht’s mit der Installation des Add-Ins im SharePoint.
Installation des Add-Ins
Das Add-In muss auf dem Webfrontend Server installiert werden. Hierbei werden die Berichtsserver-Integrations Features installiert. Zusätzlich werden in der SharePoint Umgebung noch die folgenden Inhaltsdatentypen bereitgestellt:
- Berichtsdefinition
- Berichtsmodel
- Freigegebene Datenquelle
Die Installation wird durch einen Doppelklick auf die heruntergeladene
„rsSharePoint.msi“ gestartet.
Hinweis: Der Installationsprozess kann einige Minuten in Anspruch nehmen und darf auf keinen Fall abgebrochen werden.
Danach erscheint in der Zentraladministration unter Anwendungsverwaltung der folgende
Bereich zur Berichtsserverkonfiguration.
Sollte dieser Bereich in der Zentraladministration nicht erscheinen, müssen die Berichtsserver-Features erst in der Zentraladministration aktiviert werden. Zum Aktivieren dieses Features öffnet man die Websiteeinstellungen der Zentraladministration.
In diesem Bereich auf „Websiteauflistungsfeatures“ klicken!
Hier können die Berichtsserver-Features aktiviert werden und der Status wird danach als „Aktiv“ angezeigt.
Konfigurieren der Reporting Services im SharePoint
Als erstes wird der Datenbankzugriff für den SSRS-Dienst konfiguriert. Hierfür wird der Punkt „Datenbankzugriff gewähren“ im Bereich Anwendungsverwaltung in der Zentraladministration aufgerufen.
In diesem Bereich muss der Server, auf dem die ReportingServices installiert sind, eingetragen werden und falls vorhanden die benannte Instanz. Bei einer Standard Installation kann „Benannte Instanz“ leer gelassen werden.
Wichtig: In diesem Fenster muss ein Benutzerkonto angegeben werden, welsches Mitglied der lokalen Administratorengruppe auf dem Berichtsservercomputer ist. Ist das nicht der Fall funktioniert der Vorgang nicht.
Bei diesem Vorgang werden Berechtigungen für das Berichtsserver Dienstkonto in den SharePoint-DBs gesetzt und der Berichtsserver Dienst durchgestartet.
Integrationseinstellungen konfigurieren
Damit die Berichte auch direkt aus der SharePoint-Umgebung aufgerufen werden können, müssen noch die Integrationseinstellungen vorgenommen werden.
Diese werden unter Zentraladministration à Anwendungsverwaltung à Integrationseinstellungen verwalten eingestellt.
Jetzt muss nur noch die Webdienst-URL des Berichtsservers eingegeben und der entsprechende Authentifizierungsmodus ausgewählt werden.
Da wie in diesem Dokument beschrieben das Kerberos-Protokoll zur Authentifizierung verwendet wird, kann die Einstellung „Windows-Authentifizierung“ verwendet werden.
Serverstandardwerte festlegen
Hier können Werte wie z.B.:
- Standardwerte für Berichtsverlauf
- Berichtsverarbeitungstimeout
- Berichtsverarbeitungsprotokoll
- Integrierte Sicherheit von Windows aktivieren
- Ad-hoc-Berichterstellung aktivieren
- Start-URL für benutzerdefinierten Berichts-Generator
festgelegt werden. Diese Einstellungen entsprechen auch denen, die man sonst über den Berichtsserver-Manager konfigurieren kann.
Die eigentliche Konfiguration für die Reporting Services im SharePoint integrierten Modus ist somit auch abgeschlossen. Nachfolgend werde ich in diesem Dokument lediglich die Veröffentlichung eines Berichtes im SharePoint beschreiben.
Berichte im SharePoint veröffentlichen
In dem jetzt beschriebenen Beispiel habe ich einen einfachen Bericht auf die AdventureWorks DB erstellt. Als Entwicklungsumgebung habe ich das „SQL Server Business Intelligence Development Studio“ verwendet.
Zum Veröffentlichen eines Berichtes inkl. seiner Datenquelle im SharePoint müssen nur die entsprechenden Informationen in den Eigenschaften des Projektes angepasst werden.
TargetDataSourceFolder: Pfad zu einer Datenverbindungsbibliothek in SharePoint Umgebung
TargetReportFolder: Pfad zu einer Berichtsbibliothek in SharePoint
TargetServerURL: Pfad zur SharePoint Startwebsite
Nachdem diese Einstellungen mit „OK“ bestätigt wurden kann, der Bericht über Erstellen à Bereitstellen im SharePoint veröffentlicht werden.
Welche Funktionen stehen im SharePoint zur Verfügung
1. Berichtsanzeige
Der Bericht kann direkt aus der Berichtsbibliothek aufgerufen werden.
Wie in der Grafik zusehen ist, bleiben die kompletten Berichtsfunktionen erhalten Eingabe von Parametern, Export-Funktionen, Drucken etc.
2.Verwalten von Berichtseigenschaften
3.Verwalten von Datenquelleneigenschaften
4.Freigegebene Zeitpläne definieren und verwalten
Die freigegebenen Zeitpläne werden im SharePoint pro Website in den Websiteeinstellungen angelegt und können somit auch von dem entsprechenden Website-Administrator erstellt und verwaltet werden.
Wichtig: Wenn die freigegebenen Zeitpläne oder auch Abonnements verwendet werden sollen, muss der SQL-Server Agent aktiviert sein. (Auf dem Server auf dem die SSRS-DB gehostet wird) ansonsten bricht der Prozess mit einer Fehlermeldung ab.
Die im SharePoint angelegten Zeitpläne werden unter einer ID als SQL-Server Agent Aufträge abgelegt.
Die ID des SQL-Server-Agent Auftrages kann auch im SharePoint ermittelt werden. Hierzu öffnet man die Bearbeitungsoberfläche eines Zeitplanes und die ID wird in der URL angezeigt.
ID in der URL des Zeitplanes:
ID im SQL-Management Studio SQL-Server-Agent-Auftrag:
Abschluss
Ich hoffe dass dieses Dokument einen kleinen Einblick über die Konfiguration der SQL 2008 Reporting Service im SharePoint integrierten Modus gegeben hat. Des Weiteren zeigt es, dass diese Variante zum veröffentlichen von Berichten viele Möglichkeiten bietet die zahlreichen Funktionen der SSRS direkt über die SharePoint Oberfläche zu konfigurieren.
Vielleicht kann dieses Dokument einigen Administratoren behilflich sein diese Konfiguration umzusetzen und damit einige Stolpersteine aus dem Weg zu räumen.
Comments
Anonymous
January 01, 2003
Hier ein Gastbeitrag von Mario Krukow, Apetito AG. Mario hat sich mit dem Thema Reporting Services KonfigurationAnonymous
March 12, 2009
Wichtiger Hinweis wäre als Ergänzung, daß unter Windows Server 2008 eigentlich für dieses Szenario nur noch Kerberos geht und nicht mehr wie früher mit einem W3K-Server auch NTLM oder gar Basic-Authentifizierung.Anonymous
May 11, 2009
@Peter: Welche Einschränkungen gelten denn für NTLM auf Windows Server 2008 in Verbindung mit MOSS 2007? Antwort: Mit NTLM ist keine "double hop" Authentifizierung möglich. Das bedeutet: Es ist nicht möglich, dass ein Benutzer sich mit integrierter Sicherheit (also ohne Kennwortabfrage) bei SharePoint anmeldet und der SharePoint server diese Authentifizierung an den Reporting Services Server weiterreicht. Gruß,
Steffen