Ü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 Bestandteil 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.

SicherheitshinweisSicherheitshinweis

Reporting Services wendet die .NET Framework-Sicherheit für alle Erweiterungen an.

Die folgenden Bedingungen gelten für den Einsatz von Datenverarbeitungs-, Übermittlungs-, Rendering- und 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 Reporting Services-Komponente ändern, die gerade erweitert wird.

  • 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 .NET Framework-Sicherheit finden Sie in der .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.