Überlegungen zur Sicherheit von Erweiterungen
Jede Anwendung für die Common Language Runtime (CLR) muss mit dem CLR-Sicherheitssystem interagieren. Bei der Ausführung einer solchen Anwendung wird diese automatisch ausgewertet, und sie erhält von der CLR einen Berechtigungssatz. Abhängig von den Berechtigungen, die die Anwendung erhält, wird sie entweder weiter ausgeführt, oder es wird eine Sicherheitsausnahme ausgelöst. Die lokalen Sicherheitseinstellungen und –richtlinien in den Dateien für die Sicherheitsrichtlinienkonfiguration eines bestimmten Berichtsservers definieren die Codeberechtigungen, die eine Assembly erhält.
Bevor Sie Berechtigungen anfordern, sollten Sie wissen, welche Ressourcen und geschützten Operationen Ihr Erweiterungscode verwenden soll. Außerdem sollten Sie wissen, von welchen Berechtigungen diese Ressourcen und Operationen geschützt werden. Darüber hinaus müssen Sie sämtliche Ressourcen verfolgen, auf die von Methoden der Klassenbibliotheken zugegriffen wird, die von den Erweiterungskomponenten aufgerufen werden. Weitere Informationen finden Sie unter „Anfordern von Berechtigungen“ im .NET Framework-Entwicklerhandbuch.
Erweiterungen, die auf einem Berichtsserver bereitgestellt werden, müssen vollständig vertrauenswürdig sein, d.h., Ihre Erweiterung muss Teil einer Codegruppe sein, der die Berechtigung FullTrust erteilt wurde. Dies bedeutet auch, dass Ihre Erweiterung Zugriff auf bestimmte Serverressourcen und -vorgänge haben kann, die über CLR zur Verfügung stehen, abhängig vom Benutzer, der gerade für einen bestimmten Bericht authentifiziert wird. Weitere Informationen zu Codegruppen und Erweiterungen finden Sie unter Codezugriffssicherheit in Reporting Services.
Wichtig
Reporting Services erzwingt .NET Framework-Sicherheit für alle Erweiterungen.
Die folgenden Bedingungen gelten für die Bereitstellung von Datenverarbeitung, -übermittlung und -rendering sowie Sicherheitserweiterungen in Reporting Services:
Nur der lokale Administrator hat die Berechtigung, eine Erweiterung anzuwenden.
Nur Benutzer mit der entsprechenden Lese-/Schreibberechtigung können die Konfigurationsdateien für die erweiterte Reporting Services-Komponente ändern.
Nur berechtigte Benutzer dürfen die Sicherheitsrichtliniendateien ändern und die Codezugriffssicherheit für eine Erweiterung aktivieren.
Weitere Informationen zur Codezugriffssicherheit in Reporting Services finden Sie unter Sichere Entwicklung (Reporting Services).
Weitere Informationen zur Sicherheit von .NET Framework finden Sie im Thema „.NET Framework-Sicherheit“ im .NET Framework-Entwicklerhandbuch.
Initialisierung von Erweiterungsassemblys
Wenn Erweiterungen zum ersten Mal vom Berichtsserver in den Speicher geladen werden, verwenden sie die Anmeldeinformationen für ein Dienstkonto. Denn einige Erweiterungsassemblys benötigen bestimmte Berechtigungen, um auf die Systemressourcen zugreifen, die Konfigurationsdateien lesen und andere abhängige Assemblys laden zu dürfen. Nachdem eine Assembly geladen und initialisiert wurde, verwenden alle nachfolgenden Aufrufe der Erweiterungsassemblys die Anmeldeinformationen vom Konto des Benutzers, der gerade angemeldet ist.