Freigeben über


Übersicht über Sicherheitserweiterungen – Reporting Services (SSRS)

Eine Reporting Services-Sicherheitserweiterung ermöglicht die Authentifizierung und Autorisierung von Benutzern oder Gruppen; Dies bedeutet, dass verschiedene Benutzer sich bei einem Berichtsserver anmelden und basierend auf ihren Identitäten unterschiedliche Aufgaben oder Vorgänge ausführen können. Reporting Services verwendet standardmäßig eine Windows-basierte Authentifizierungserweiterung, die mit Windows-Kontoprotokollen die Identitäten von Benutzern überprüft, die angeben, im System über Konten zu verfügen. In Reporting Services werden Benutzer mithilfe eines rollenbasierten Sicherheitssystems authentifiziert. Das rollenbasierte Sicherheitsmodell von Reporting Services ähnelt den rollenbasierten Sicherheitsmodellen anderer Technologien.

Da Sicherheitserweiterungen auf einer offenen und erweiterbaren API beruhen, können Sie neue Authentifizierungs- und Autorisierungserweiterungen in Reporting Services erstellen. Das folgende Beispiel zeigt eine typische Implementierung der Sicherheitserweiterung, die formularbasierte Authentifizierung und Autorisierung verwendet:

Screenshot of the Reporting Services security extension process.

Wie in der Abbildung dargestellt, treten Authentifizierung und Autorisierung folgendermaßen auf:

  1. Ein Benutzer versucht über eine URL auf das Webportal zuzugreifen und wird zu einem Formular umgeleitet, das Anmeldeinformationen von Benutzern für die Clientanwendung sammelt.

  2. Der Benutzer gibt die Anmeldeinformationen an das Formular.

  3. Die Anmeldeinformationen des Benutzers werden mithilfe der LogonUser-Methode an den Reporting Services-Webdienst übermittelt.

  4. Der Webdienst ruft die vom Benutzer angegebene Sicherheitserweiterung auf und überprüft, ob der Benutzername und das Kennwort in der benutzerdefinierten Sicherheitsinstanz vorhanden sind.

  5. Nach der Authentifizierung erstellt der Webdienst für die Startseite des Webportals ein Authentifizierungsticket (auch „Cookie“ genannt), verwaltet es und überprüft die Rolle des Benutzers.

  6. Der Webdienst gibt das Cookie an den Browser zurück und zeigt die entsprechende Benutzeroberfläche im Webportal an.

  7. Nachdem der Benutzer authentifiziert wurde, sendet der Browser Anforderungen an das Webportal, während das Cookie im HTTP-Header übertragen wird. Diese Anforderungen sind Reaktionen auf Benutzeraktionen im Webportal.

  8. Das Cookie wird zusammen mit der angeforderten Benutzeroperation im HTTP-Header an den Webdienst übertragen.

  9. Das Cookie wird überprüft, und wenn es gültig ist, gibt der Berichtsserver den Sicherheitsdeskriptor und andere Informationen über den angeforderten Vorgang aus der Berichtsserverdatenbank zurück.

  10. Wenn das Cookie gültig ist, ruft der Berichtsserver die Sicherheitserweiterung auf und überprüft, ob der Benutzer zur Ausführung der bestimmten Operation autorisiert ist.

  11. Wenn der Benutzer autorisiert ist, führt der Berichtsserver die angeforderte Operation aus und gibt die Steuerung an den Aufrufer zurück.

  12. Nach der Authentifizierung des Benutzers verwendet der URL-Zugriff des Berichtsservers dasselbe Cookie. Das Cookie wird im HTTP-Header übertragen.

  13. Der Benutzer fordert weiterhin Vorgänge auf dem Berichtsserver an, bis die Sitzung endet.

Wann eine Sicherheitserweiterung implementiert werden soll

Es wird empfohlen, immer die Windows-Authentifizierung zu verwenden. Die benutzerdefinierte Authentifizierung und Autorisierung für Reporting Services kann jedoch in den folgenden beiden Fällen geeignet sein:

  • Sie verfügen über eine Internet- oder Extranetanwendung, die keine Windows-Konten verwenden kann.

  • Sie haben benutzerdefinierte Benutzer und Rollen, die ein übereinstimmendes Autorisierungsschema in Reporting Servicesbereitstellen müssen.