Claims to Windows Token Service (C2WTS) und Reporting Services

Gilt für: SQL Server 2016 (13.x) Reporting Services und höher SharePoint Power BI-Berichtsserver

Claims to Windows Token Service (C2WTS) von SharePoint ist erforderlich, wenn Sie Berichte im einheitlichen Modus im SQL Server Reporting Services-Berichts-Viewer-Webpart abrufen möchten.

C2WTS ist außerdem im SharePoint-Modus von SQL Server Reporting Services erforderlich, wenn Sie die Windows-Authentifizierung für Datenquellen verwenden möchten, die außerhalb der SharePoint-Farm liegen. C2WTS wird auch dann benötigt, auch sich die Datenquelle(n) auf demselben Computer wie der gemeinsame Dienst befinden. In diesem Szenario ist jedoch keine eingeschränkte Delegierung erforderlich.

Hinweis

Die Integration von Reporting Services in SharePoint ist nach SQL Server 2016 nicht mehr möglich.

Konfiguration des Report Viewer-Webparts (nativer Modus)

Das Berichts-Viewer-Webpart ist ein benutzerdefiniertes Webpart, das verwendet werden kann, um SQL Server Reporting Services-Berichte (im einheitlichen Modus) auf Ihrer SharePoint-Website anzuzeigen. Sie können mit dem Webpart Berichte auf einem Berichtsserver anzeigen lassen, drucken und exportieren sowie in Berichten navigieren. Das Berichts-Viewer-Webpart ist mit den Berichtsdefinitionsdateien (RDL) verknüpft, die von einem SQL Server Reporting Services-Berichtsserver oder Power BI-Berichtsserver verarbeitet werden. Das Berichts-Viewer-Webpart kann nicht mit Power BI-Berichten verwendet werden, die in Power BI-Berichtsserver gehostet werden.

SharePoint Server 2013, SharePoint Server 2016 und SharePoint Server 2019 verwenden die Forderungsauthentifizierung. Aus diesem Grund muss C2WTS ordnungsgemäß konfiguriert werden. Reporting Services muss für die Kerberos-Authentifizierung konfiguriert werden, damit die Berichte korrekt gerendert werden.

  1. Konfigurieren Sie Ihre Reporting Services-Instanz (einheitlicher Modus) für die Kerberos-Authentifizierung, indem Sie das SSRS-Dienstkonto bestimmen, einen SPN festlegen und die Datei „rsreportserver.config“ so aktualisieren, dass der Authentifizierungstyp „RSWindowsNegotiate“ verwendet wird. Registrieren eines Dienstprinzipalnamens (SPN) für einen Berichtsserver

  2. Ausführen der grundlegenden Schritte für die C2WTS-Konfiguration

Integration des SharePoint-Modus

Dieser Abschnitt gilt nur für SQL Server 2016 Reporting Services und früher.

Der SharePoint-Dienst Claims to Windows Token Service (C2WTS) ist im SharePoint-Modus von SQL Server Reporting Services erforderlich, wenn Sie die Windows-Authentifizierung für Datenquellen verwenden möchten, die außerhalb der SharePoint-Farm liegen. Diese Anforderung gilt auch, wenn der Benutzer über die Windows-Authentifizierung auf die Datenquellen zugreift, weil die Kommunikation zwischen dem Web-Front-End und dem gemeinsamen Reporting Services-Dienst immer der Forderungsauthentifizierung unterliegt.

Grundlegende Schritte für die C2WTS-Konfiguration

Die von C2WTS erstellten Token funktionieren nur bei der eingeschränkten Delegierung (Einschränkungen für bestimmte Dienste) und bei Verwendung der Konfigurationsoption „Beliebiges Authentifizierungsprotokoll verwenden“ (Protokollübergang).

Wenn in der Umgebung die eingeschränkte Kerberos-Delegierung verwendet wird, dann müssen sich der SharePoint Server-Dienst und externe Datenquellen in derselben Windows-Domäne befinden. Jeder Dienst, der auf C2WTS (Claims to Windows Token Service) basiert, muss die eingeschränkte Kerberos-Delegierung verwenden, damit C2WTS den Kerberos-Protokollübergang verwenden kann, um Ansprüche (Claims) in Windows-Anmeldeinformationen zu übersetzen. Diese Anforderungen gelten für alle gemeinsamen SharePoint-Dienste. Weitere Informationen finden Sie unter Planen der Kerberos-Authentifizierung in SharePoint 2013.

  1. Konfigurieren Sie das C2WTS-Dienstdomänenkonto.

    C2WTS sollte mit einer eigenen Domänenidentität ausgeführt werden.

    • Erstellen Sie ein Active Directory-Konto, und registrieren Sie das Konto als verwaltetes Konto in SharePoint Server.

    • Konfigurieren Sie den C2WTS-Dienst für die Verwendung des verwalteten Kontos über „SharePoint-Zentraladministration > Sicherheit > Dienstkonten konfigurieren > Windows-Dienst – Claims to Windows Token Service“.

    Fügen Sie das C2WTS-Dienstkonto der lokalen Administratorgruppe auf jedem Server hinzu, den Sie mit C2WTS verwenden möchten. Für das Report Viewer-Webpart handelt es sich bei diesen Servern um die Web-Front-End-Server (WFE). Für den integrierten SharePoint-Modus handelt es sich bei diesen Servern um die Anwendungsserver, auf denen der Reporting Services-Dienst ausgeführt wird.

    • Gewähren Sie dem C2WTS-Konto unter „Lokale Richtlinien > Zuweisen von Benutzerrechten“ die folgenden Berechtigungen in der lokalen Sicherheitsrichtlinie:
      • Einsetzen als Teil des Betriebssystems
      • Annehmen der Identität eines Clients nach der Authentifizierung
      • Anmelden als Dienst
  2. Konfigurieren Sie die Delegierung für das C2WTS-Dienstkonto.

    Das Konto muss für die eingeschränkte Delegierung mit Protokollübergang konfiguriert werden. Außerdem benötigt es Berechtigungen für die Delegierung an Dienste, mit denen es kommunizieren muss (d. h. SQL Server-Datenbank-Engine oder SQL Server Analysis Services). Verwenden Sie das Snap-In „Active Directory-Benutzer und -Computer“, um die Delegierung zu konfigurieren. Dafür müssen Sie als Domänenadministrator angemeldet sein.

    Wichtig

    Alle Einstellungen, die Sie für das C2WTS-Dienstkonto auf der Registerkarte „Delegierung“ konfigurieren, müssen dem Hauptdienstkonto entsprechen. Für das Berichts-Viewer-Webpart ist dies das Dienstkonto für die SharePoint-Webanwendung. Für den integrierten SharePoint-Modus ist dies das Reporting Services-Dienstkonto.

    Wenn Sie dem C2WTS-Dienstkonto beispielsweise erlauben, Delegierungen an einen SQL-Dienst durchzuführen, müssen Sie auf dem Reporting Services-Dienstkonto für den integrierten SharePoint-Modus dieselbe Konfiguration verwenden.

    • Klicken Sie mit der rechten Maustaste auf jedes Dienstkonto, und öffnen Sie das Eigenschaftendialogfeld. Wählen Sie im Dialogfeld die Registerkarte Delegierung aus.

      Die Registerkarte „Delegierung“ ist nur sichtbar, wenn dem Objekt ein Dienstprinzipalname (Service Principal Name, SPN) zugewiesen wurde. C2WTS erfordert grundsätzlich keinen SPN für das C2WTS-Konto. Ohne einen SPN ist die Registerkarte Delegierung jedoch nicht sichtbar. Eine Alternative zur Konfiguration der eingeschränkten Delegierung ist die Verwendung des Hilfsprogramms ADSIEdit.

    • Diese wesentlichen Konfigurationsoptionen befinden sich auf der Registerkarte „Delegierung“:

      • Klicken Sie auf Benutzer bei Delegierungen angegebener Dienste vertrauen.
      • Klicken Sie auf Beliebiges Authentifizierungsprotokoll verwenden.
    • Wählen Sie Hinzufügen zum Hinzufügen eines Dienstes, an den Sie delegieren können.

    • Klicken Sie auf Benutzer oder Computer...*, und geben Sie das Konto ein, das den Dienst hostet. Wenn ein SQL Server beispielsweise unter einem Konto namens sqlservice ausgeführt wird, geben Sie sqlservice ein. Für das Report Viewer-Webpart handelt es sich bei diesem Konto um das Dienstkonto für die Reporting Services-Instanz (nativer Modus).

    • Wählen Sie die Darstellung des Diensts. Durch diese Auswahl werden die SPNs angezeigt, die über dieses Konto verfügbar sind. Wenn der Dienst unter diesem Konto nicht angezeigt wird, fehlt er möglicherweise oder befindet auf einem anderen Konto. Sie können das SetSPN-Dienstprogramm verwenden, um die SPNs anzupassen. Für das Report Viewer-Webpart finden Sie den konfigurierten HTTP-SPN unter Konfiguration des Report Viewer-Webparts.

    • Wählen Sie „OK“ aus, um die Dialogfelder zu verlassen.

  3. Konfigurieren Sie C2WTS-AllowedCallers (Zulässige Aufrufer).

    C2WTS erfordert, dass die Identitäten der „Aufrufer“ in der Konfigurationsdatei c2WTShost.exe.config explizit aufgeführt werden. C2WTS akzeptiert keine Anforderungen sämtlicher authentifizierter Benutzer im System, es sei denn, Sie konfigurieren den Dienst entsprechend. In diesem Fall entspricht der „Aufrufer“ der WSS_WPG-Windows-Gruppe. Die Datei „C2WTShost.exe.config“ wird im folgenden Ordner gespeichert:

    Wenn Sie das Dienstkonto für den C2WTS-Dienst in der SharePoint-Zentraladministration ändern, fügen Sie das Konto der Gruppe „WSS_WPG“ hinzu.

    \Programme\Windows Identity Foundation\v3.5 \c2WTShost.exe.config

    Das folgende Beispiel zeigt, wie Ihre Konfigurationsdatei aussehen könnte:

    <configuration>
      <windowsTokenService>
        <!--  
            By default no callers are allowed to use the Windows Identity Foundation Claims To NT Token Service.  
            Add the identities you wish to allow below.  
          -->
        <allowedCallers>
          <clear/>
          <add value="WSS_WPG" />
        </allowedCallers>
      </windowsTokenService>
    </configuration>
    
  4. Starten Sie den Claims to Windows Token Service über die SharePoint-Zentraladministration auf der Seite Dienste auf dem Server verwalten. Falls der Dienst bereits gestartet ist, beenden Sie ihn, und starten Sie ihn neu. Der Dienst sollte auf dem Server gestartet werden, auf dem die Aktion ausgeführt wird. Wenn Sie z. B. über einen WFE-Server und einen Anwendungsserver verfügen, auf dem der gemeinsame Dienst von SQL Server Reporting Services ausgeführt wird, müssen Sie C2WTS nur auf dem Anwendungsserver starten. C2WTS ist nur für einen WFE-Server erforderlich, wenn Sie das Berichts-Viewer-Webpart ausführen.

Weitere Fragen? Stellen Sie eine Frage im Reporting Services-Forum.