Freigeben über


Verwenden von Reporting Services-Sicherheitsrichtliniendateien

Reporting Services speichert Komponentensicherheitsrichtlinieninformationen in drei Konfigurationsdateien, die während des Setups in das Dateisystem kopiert werden. Diese Konfigurationsdateien können eine Kombination aus internen und benutzerdefinierten Sicherheitsrichtlinien für Codeassemblys in Reporting Services enthalten. Die drei Konfigurationsdateien entsprechen drei sicherungsfähigen Komponenten in Reporting Services: Der Berichtsserver und der Windows-Dienst, die Berichts-Manager-Webanwendung und das Vorschaufenster des Berichts-Designers.

Hinweis

Es gibt zwei Vorschaumodi für Berichts-Designer: die Registerkarte "Vorschau" und das Popupvorschaufenster, das gestartet wird, wenn Ihr Berichtsprojekt im DebugLocal-Modus gestartet wird. Die Registerkarte "Vorschau " ist keine sicherungsfähige Komponente und wendet keine Sicherheitsrichtlinieneinstellungen an. Das Vorschaufenster soll die Berichtsserverfunktionalität simulieren und verfügt daher über eine Richtlinienkonfigurationsdatei, die Sie oder ein Administrator ändern muss, um benutzerdefinierte Assemblys und benutzerdefinierte Erweiterungen im Berichts-Designer zu verwenden.

Die Konfigurationsdateien für Sicherheitsrichtlinien enthalten Informationen zur Sicherheitsklasse, einige standardmäßige benannte Berechtigungssätze und die Codegruppen für Assemblys in Reporting Services. Die Richtlinienkonfigurationsdateien von Reporting Services ähneln der Security.config Datei, die die Codegruppenhierarchie und Berechtigungssätze bestimmt, die Computer- und Unternehmensrichtlinien in .NET Framework zugeordnet sind. Der Speicherort dieser Datei ist C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\security.config.

Richtliniendateien in Reporting Services

In der folgenden Tabelle sind die Richtlinienkonfigurationsdateien in Reporting Services, deren Speicherorte (unter Der Annahme einer Standardinstallation) und deren jeweiligen Funktionen aufgeführt.

Dateiname Speicherort (Standardinstallation) BESCHREIBUNG
rssrvpolicy.config C:\Programme\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportServer Die Konfigurationsdatei für die Berichtsserverrichtlinie. Diese Sicherheitsrichtlinien wirken sich in erster Linie auf Berichtsausdrücke und benutzerdefinierte Assemblys aus, sobald ein Bericht auf einem Berichtsserver bereitgestellt wird. Diese Richtliniendatei wirkt sich auch auf benutzerdefinierte Daten- und Übermittlungs-, Rendering- und Sicherheitserweiterungen aus, die auf dem Berichtsserver bereitgestellt werden.
rsmgrpolicy.config C:\Programme\Microsoft SQL Server\MSRS10_50.MSSQLSERVER\Reporting Services\ReportManager Konfigurationsdatei für Berichts-Manager-Richtlinien. Diese Sicherheitsrichtlinien wirken sich auf alle Assemblys aus, die den Berichts-Manager erweitern; Beispiel: Erweiterungen der Abonnement-Benutzeroberfläche für die benutzerdefinierte Zustellung.
rspreviewpolicy.config C:\Programme\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies Die eigenständige Vorschaurichtliniendatei des Berichts-Designers. Diese Sicherheitsrichtlinien wirken sich auf benutzerdefinierte Assemblys und Berichtsausdrücke aus, die während der Vorschau und Entwicklung in Berichten verwendet werden. Diese Richtlinien wirken sich auch auf benutzerdefinierte Erweiterungen aus, z. B. Datenverarbeitungserweiterungen, die im Berichts-Designer bereitgestellt werden.

Ändern von Konfigurationsdateien

Konfigurationseinstellungen werden als XML-Elemente oder -Attribute angegeben. Wenn Sie sich mit XML und Konfigurationsdateien auskennen, können Sie mit einem Text- oder Code-Editor benutzerdefinierbare Einstellungen ändern. Sicherheitskonfigurationsdateien enthalten Informationen zur Codegruppenhierarchie und Berechtigungssätze, die einer Richtlinienstufe in Reporting Services zugeordnet sind. Es wird empfohlen, zuerst das .NET Framework-Konfigurationsprogramm (Mscorcfg.msc) oder das Code Access Security Policy Utility (Caspol.exe) zu verwenden, um Sicherheitsrichtlinien in der Security.config Datei zuerst zu ändern, sodass Richtlinienänderungen gültigen XML-Konfigurationselementen für Richtliniendateien entsprechen. Nachdem Sie dies getan haben, können Sie die neuen Codegruppen und Berechtigungsgruppen aus Security.config in die Richtliniendatei für die Komponente ausschneiden und einfügen, der Sie Codeberechtigungen hinzufügen.

Von Bedeutung

Sie sollten Ihre Richtlinienkonfigurationsdateien sichern, bevor Sie Änderungen vornehmen.

Die Verwendung dieses Ansatzes führt zu zwei Dingen. Zunächst können Sie ein visuelles Tool verwenden, um Codegruppen und Berechtigungssätze für Reporting Services zu erstellen. Dies ist viel einfacher als das Schreiben von XML-Konfigurationselementen von Grund auf. Zweitens wird sichergestellt, dass Sie die Sicherheitsrichtlinienkonfigurationsdateien nicht mit falsch formatierten XML-Elementen und -Attributen beschädigen. Weitere Informationen zum Code Access Security Policy Utility finden Sie unter Verwenden von Reporting Services-Sicherheitsrichtliniendateien auf MSDN.

Bevor Sie Richtlinienkonfigurationsdateien ändern, sollten Sie alle informationen lesen, die in diesem Abschnitt und verwandten Themen verfügbar sind. Das Ändern der Richtlinienkonfiguration von Reporting Services kann erhebliche Auswirkungen auf die Sicherheit haben, wie Reporting Services-Komponenten externe Codemodule ausführen.

Platzierung von CodeGroup-Elementen für Erweiterungen

Die Platzierung von CodeGroup-Elementen in einer Sicherheitsrichtliniendatei ist wichtig. Für Erweiterungen und benutzerdefinierte Assemblys, die Sie entwickeln, empfiehlt es sich, Ihre benutzerdefinierten Codegruppen direkt unter dem vorhandenen Eintrag für die URL-Mitgliedschaft "$CodeGen$/*" zu platzieren, wie in der folgenden Abbildung angegeben:

<CodeGroup  
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust">  
    <IMembershipCondition   
        class="UrlMembershipCondition"  
        version="1"  
        Url="$CodeGen$/*"  
    />  
</CodeGroup>  
<CodeGroup   
    class="UnionCodeGroup"  
    version="1"  
    PermissionSetName="FullTrust"  
    Name="MyCustomCodeGroup"  
    Description="Code group for my custom extension">  
        <IMembershipCondition class="UrlMembershipCondition"  
        version="1"  
        Url="C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\bin\MyAssembly.dll"  
        />  
</CodeGroup>  

Weitere Codegruppen können nacheinander hinzugefügt werden.

Siehe auch

Grundlegendes zu Sicherheitsrichtlinien