Identitätsdelegierung für Excel Services (SharePoint Server 2010)

 

Gilt für: Excel Services, SharePoint Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Szenario fügen Sie die Excel Services-Dienstanwendung der SharePoint Server-Umgebung hinzu. Anschließend konfigurieren Sie die eingeschränkte Kerberos-Delegierung, damit der Dienst Daten auf einem Arbeitsblatt in einer SQL Server-Datenquelle aktualisiert.

Hinweis

Bei einer Installation unter Windows Server 2008 muss ggf. der folgende Hotfix für die Kerberos-Authentifizierung installiert werden:
Kerberos-Authentifizierung misslingt bei Verwenden des AES-Algorithmus auf einem Computer mit Windows Server 2008 oder Windows Vista mit dem Fehlercode 0X80090302 oder 0x8009030f (https://support.microsoft.com/kb/969083/de)

Voraussetzungen für dieses Szenario

Bevor Sie dieses Szenario angehen, müssen die folgenden Aufgaben erledigt sein:

Checkliste für die Konfiguration

Konfigurationsbereich Beschreibung

Active Directory-Konfiguration

Erstellen eines Excel Services-Dienstkontos

Konfigurieren eines Dienstprinzipalnamens für das Excel Services-Dienstkonto

Konfigurieren der eingeschränkten Kerberos-Delegierung für Server mit Excel Services

Konfigurieren der eingeschränkten Kerberos-Delegierung für das Excel Services-Dienstkonto

SharePoint Server-Konfiguration

Starten des Forderungen an den Windows-Tokendiensts auf Servern mit Excel Services

Starten der Excel Services-Dienstinstanz auf dem Server mit Excel Services

Erstellen der Excel Services-Dienstanwendung und des Proxys

Konfigurieren des vertrauenswürdige Dateispeicherorts und von Authentifizierungseinstellungen für Excel Services

Überprüfen der eingeschränkten Excel Services-Delegierung

Erstellen einer Dokumentbibliothek zum Hosten einer Testarbeitsmappe

Erstellen der SQL-Testdatenbank und -tabelle

Erstellen einer Excel-Testarbeitsmappe mit SQL-Datenverbindung

Veröffentlichen der Arbeitsmappe in SharePoint Server und Aktualisieren der Datenverbindung

Details der Szenarioumgebung

Pfade der eingeschränkten Kerberos-Delegierung

Diagramm zur Szenarioumgebung

In diesem Szenario wird das SharePoint Server Excel Services-Dienstkonto für die eingeschränkte Kerberos-Delegierung für den SQL Server-Dienst konfiguriert.

Hinweis

In diesem Szenario wird der Forderungen an den Windows-Tokendienst für die Verwendung eines dedizierten Dienstkontos konfiguriert. Wenn Sie den Forderungen an den Windows-Tokendienst weiter das Konto Lokales System verwenden lassen, müssen Sie die eingeschränkte Delegierung für das Computerkonto des Computers konfigurieren, auf dem der Forderungen an den Windows-Tokendienst und Excel Services ausgeführt werden.

Logische SharePoint Server-Authentifizierung

Diagramm zum Authentifizierungsfluss

Die Authentifizierung in diesem Szenario beginnt mit der Clientauthentifizierung über Kerberos auf dem Web-Front-End-Server. SharePoint Server 2010 wandelt das Windows-Authentifizierungstoken mithilfe des lokalen Sicherheitstokendiensts in ein Forderungstoken um. Die Excel-Dienstanwendung akzeptiert das Forderungstoken und wandelt es mithilfe des zum Windows Identity Framework (WIF) gehörenden Forderungen an den Windows-Tokendiensts in ein Windows-Token (Kerberos) um. Die Excel-Dienstanwendung verwendet anschließend das Kerberos-Ticket zur Authentifizierung bei der Datenquelle im Back-End.

Schrittweise Konfigurationsanweisungen

Active Directory-Konfiguration

Erstellen eines Excel Services-Dienstkontos

Empfohlen wird, die Excel Services-Anwendung unter ihrer eigenen Domänenidentität auszuführen. Zum Konfigurieren der Excel Services-Anwendung müssen Active Directory-Konten erstellt werden. Bei diesem Beispiel wurden die folgenden Konten erstellt:

SharePoint Server-Dienst IIS-Anwendungspoolidentität

Excel Services

vmlab\svcExcel

Konfigurieren eines Dienstprinzipalnamens für das Excel Services-Dienstkonto

Die eingeschränkte Kerberos-Delegierung muss konfiguriert werden, wenn Excel Services die Identität des Clients an die Datenquelle im Back-End zurück delegieren soll. In diesem Beispiel fragt Excel Services Daten aus einer SQL-Transaktionsdatenbank ab, weshalb die Kerberos-Delegierung erforderlich ist.

Die Kerberos-Delegierung wird zumeist im Active Directory-Snap-In Benutzer und Computer konfiguriert. Hierfür muss dem zu konfigurierenden Active Directory-Objekt ein Dienstprinzipalname zugeordnet werden. Andernfalls wird die Registerkarte Delegierung des Objekts in dessen Eigenschaftendialogfeld nicht angezeigt. Wenngleich Excel Services für den Betrieb keinen Dienstprinzipalnamen benötigt, wird für diesen Zweck einer konfiguriert.

Führen Sie an der Eingabeaufforderung folgenden Befehl aus:

SETSPN -S SP/ExcelServices

Hinweis

Der Dienstprinzipalname ist kein gültiger Dienstprinzipalname und wird dem angegebenen Dienstkonto zugeordnet, um die Delegierungsoptionen im Active Directory-Snap-In Benutzer und Computer zu veranschaulichen. Es gibt andere unterstützte Möglichkeiten zur Angabe der Delegierungseinstellungen (insbesondere das Attribut msDS-AllowedToDelegateTo), die in diesem Artikel jedoch nicht behandelt werden.

Konfigurieren der eingeschränkten Kerberos-Delegierung für Excel Services

Damit Excel Services die Identität des Clients delegieren kann, muss die eingeschränkte Kerberos-Delegierung konfiguriert werden. Ferner müssen Sie die eingeschränkte Delegierung mit Protokollübergang für die Umwandlung von Forderungstoken in Windows-Token über den Forderungen an den Windows-Tokendienst von Windows Identity Framework (WIF) konfigurieren.

Servern, auf denen Excel Services ausgeführt wird, muss für die Delegierung von Anmeldeinformationen an alle Back-End-Dienste vertraut werden, bei denen sich Excel authentifiziert. Darüber hinaus muss das Excel Services-Dienstkonto ebenfalls für das Zulassen der Delegierung an dieselben Back-End-Dienste konfiguriert werden.

In unserem Beispiel werden die folgenden Delegierungspfade definiert:

Prinzipaltyp Prinzipalname Erforderliche Stellvertretungen

Benutzer

svcExcel

MSSQLSVC/MySqlCluster.vmlab.local:1433

*Benutzer

svcC2WTS

MSSQLSVC/MySqlCluster.vmlab.local:1433

**Computer

VMSP10APP01

MSSQLSVC/MySqlCluster.vmlab.local:1433

* Wird in diesem Szenario später konfiguriert

** Nur erforderlich, wenn der Forderungen an den Windows-Tokendienst als Lokales System ausgeführt wird

So konfigurieren Sie die eingeschränkte Delegierung

  1. Öffnen Sie die Eigenschaften des Active Directory-Objekts in Active Directory-Benutzer und -Computer.

  2. Navigieren Sie zur Registerkarte Delegierung.

  3. Wählen Sie Benutzer bei Delegierungen angegebener Dienste vertrauen aus.

  4. Wählen Sie anschließend Beliebiges Authentifizierungsprotokoll verwenden aus. Diese Einstellung ermöglicht den Protokollübergang und ist für das Dienstkonto erforderlich, damit der Forderungen an den Windows-Tokendienst genutzt werden kann.

  5. Klicken Sie auf die Schaltfläche Hinzufügen, um den Dienstprinzipal auszuwählen, an den die Delegierung erfolgen darf.

  6. Wählen Sie Benutzer und Computer aus.

  7. Wählen Sie das Dienstkonto aus, mit dem der Dienst ausgeführt wird, an den die Delegierung erfolgen soll. In diesem Beispiel ist dies das Dienstkonto für den SQL Server-Dienst.

    Hinweis

    Dem ausgewählten Dienstkonto muss ein Dienstprinzipalname zugeordnet sein. In unserem Beispiel wurde der Dienstprinzipalname für dieses Konto in einem vorherigen Szenario konfiguriert.

  8. Klicken Sie auf OK. Auf dem folgenden Bildschirm werden Sie aufgefordert, die Dienstprinzipalnamen auszuwählen, an die die Delegierung erfolgen soll.

  9. Wählen Sie die Dienste für den SQL Server-Cluster aus, und klicken Sie auf OK.

  10. Die ausgewählten Dienstprinzipalnamen sollten nun in der Liste Dienste, für die dieses Konto delegierte Anmeldeinformationen verwenden kann enthalten sein.

  11. Wiederholen Sie diese Schritte für alle Delegierungspfade, die am Anfang dieses Abschnitts definiert wurden.

Überprüfen Sie den MSSQLSVC-Dienstprinzipalnamen für das Dienstkonto, mit dem der Dienst auf dem Server mit SQL Server ausgeführt wird (in Szenario 2 erfolgt).

Überprüfen Sie mit dem folgenden SetSPN-Befehl, ob der Dienstprinzipalname für das SQL Server-Dienstkonto (vmlab\svcSQL) vorhanden ist:

SetSPN -L vmlab\svcSQL

Folgendes sollte angezeigt werden:

MSSQLSVC/MySqlCluster MSSQLSVC/MySqlCluster.vmlab.local:1433

SharePoint Server-Konfiguration

Konfigurieren und Starten des Forderungen an den Windows-Tokendiensts auf Servern mit Excel Services

Der Forderungen an den Windows-Tokendienst ist eine Komponente von Windows Identity Foundation (WIF) und für das Umwandeln von Benutzerforderungstoken in Windows-Token zuständig. Dies erfolgt in Excel Services, wenn die Dienste Anmeldeinformationen an ein Back-End-System delegieren müssen, das mit der integrierten Windows-Authentifizierung arbeitet. WIF wird mit SharePoint Server 2010 bereitgestellt, der Forderungen an den Windows-Tokendienst kann in der Zentraladministration gestartet werden.

Auf jedem Excel Services-Anwendungsserver muss der Forderungen an den Windows-Tokendienst lokal ausgeführt werden. Dieser Dienst öffnet keine Ports, und Remoteaufrufer können nicht auf ihn zugreifen. Darüber hinaus muss die Dienstkonfigurationsdatei des Forderungen an den Windows-Tokendiensts so konfiguriert werden, dass der lokalen aufrufenden Clientidentität vertraut wird.

Empfohlen wird, den Forderungen an den Windows-Tokendienst mit einem dedizierten Dienstkonto und nicht als Lokales System (Standardkonfiguration) auszuführen. Das Dienstkonto des Forderungen an den Windows-Tokendiensts erfordert spezielle lokale Berechtigungen für jeden Server, auf dem der Dienst ausgeführt wird. Die entsprechenden Berechtigungen müssen jedes Mal konfiguriert werden, wenn der Dienst auf einem Server gestartet wird. Optimal ist die Konfiguration der Berechtigungen des Dienstkontos auf dem lokalen Server, bevor der Forderungen an den Windows-Tokendienst gestartet wird. Falls dies jedoch im Anschluss erfolgt, können Sie den Forderungen an den Windows-Tokendienst über die Windows-Dienstverwaltungskonsole (services.msc) neu starten.

So starten Sie den Forderungen an den Windows-Tokendienst

  1. Erstellen Sie in Active Directory ein Dienstkonto, unter dem der Dienst ausgeführt wird. In diesem Beispiel wird vmlab\svcC2WTS erstellt.

  2. Ordnen Sie dem Dienstkonto einen beliebigen Dienstprinzipalnamen zu, um die Delegierungsoptionen für dieses Konto in Active Directory-Benutzer und -Computer anzuzeigen. Dieser Name darf ein beliebiges Format haben, da beim Forderungen an den Windows-Tokendienst keine Kerberos-Authentifizierung erfolgt. Es wird empfohlen, keinen HTTP-Dienstprinzipalnamen zu wählen, damit in Ihrer Umgebung keine doppelten Namen generiert werden. Im Beispiel wurde SP/C2WTS bei vmlab\svcC2WTS mit folgendem Befehl registriert:

    SetSPN -S SP/C2WTS vmlab\svcC2WTS
    
  3. Konfigurieren Sie die eingeschränkte Kerberos-Delegierung für das Dienstkonto des Forderungen an den Windows-Tokendiensts. In diesem Szenario werden Anmeldeinformationen an den SQL-Dienst delegiert, der mit dem Dienstprinzipalnamen MSSQLSVC/MySqlCluster.vmlab.local:1433 ausgeführt wird.

  4. Konfigurieren Sie anschließend die vom Forderungen an den Windows-Tokendienst benötigten lokalen Serverberechtigungen, die auf allen Servern konfiguriert werden müssen, auf denen der Forderungen an den Windows-Tokendienst ausgeführt wird. In unserem Beispiel ist dies VMSP10APP01. Melden Sie sich an diesem Server an, und erteilen Sie dem Forderungen an den Windows-Tokendienst die folgenden Berechtigungen:

    1. Fügen Sie das Dienstkonto der lokalen Gruppe Administratoren hinzu.

    2. Erteilen Sie in der lokalen Sicherheitsrichtlinie (secpol.msc) unter Zuweisen von Benutzerrechten dem Dienstkonto die folgenden Berechtigungen:

      1. Einsetzen als Teil des Betriebssystems

      2. Annehmen der Clientidentität nach Authentifizierung

      3. Anmelden als Dienst

  5. Öffnen Sie die Zentraladministration.

  6. Registrieren Sie im Abschnitt Sicherheit unter Verwaltete Dienstkonten konfigurieren das Dienstkonto des Forderungen an den Windows-Tokendiensts als verwaltetes Konto.

  7. Wählen Sie unter Dienste den Eintrag Dienste auf dem Server verwalten aus.

  8. Wählen Sie im Auswahlfeld Server rechts oben den/die Server aus, auf dem/denen Visio Services ausgeführt wird. In diesem Beispiel heißt der Server VMSP10APP01.

  9. Navigieren Sie zu Forderungen an den Windows-Tokendienst, und starten Sie den Dienst.

  10. Wechseln Sie im Abschnitt Sicherheit zu Dienstkonten verwalten. Ändern Sie die Identität des Forderungen an den Windows-Tokendiensts in das neue verwaltete Konto.

    Hinweis

    Wenn der Forderungen an den Windows-Tokendienst bereits ausgeführt wurde, bevor Sie das dedizierte Dienstkonto konfiguriert haben, oder Sie die Berechtigungen des Dienstkontos nach Start des Forderungen an den Windows-Tokendiensts ändern müssen, starten Sie den Dienst über die Konsole Dienste neu.

Falls darüber hinaus Probleme mit dem Forderungen an den Windows-Tokendienst nach dem Neustart des Diensts vorliegen sollten, müssen Sie ggf. die IIS-Anwendungspools zurücksetzen, die mit dem Forderungen an den Windows-Tokendienst kommunizieren.

Hinzufügen von Startabhängigkeiten zum Forderungen an den Windows-Tokendienst im WIF

Beim Forderungen an den Windows-Tokendienst gibt es ein bekanntes Problem. Der Dienst wird bei einem Systemneustart nicht automatisch erfolgreich gestartet. Dieses Problem kann behoben werden, indem für die Kryptografiedienste eine Abhängigkeit konfiguriert wird:

  1. Öffnen Sie das Eingabeaufforderungsfenster.

  2. Geben Sie Folgendes ein: sc config "c2wts" depend= CryptSvc

  3. Wechseln Sie in der Konsole Dienste zum Forderungen an den Windows-Tokendienst.

  4. Öffnen Sie die Eigenschaften des Diensts.

  5. Überprüfen Sie auf der RegisterkarteAbhängigkeiten, ob Kryptografiedienste aufgeführt ist.

  6. Klicken Sie auf OK.

Erteilen von Berechtigungen für die Inhaltsdatenbank der Webanwendung für das Excel Services-Dienstkonto

Ein erforderlicher Schritt bei der Konfiguration von SharePoint Server 2010-Office-Webanwendungen besteht darin, dem Dienstkonto der Webanwendung den Zugriff auf die Inhaltsdatenbanken einer bestimmten Webanwendung zu ermöglichen. In diesem Beispiel wird dem Excel Services-Dienstkonto Zugriff auf die Inhaltsdatenbank der Webanwendung "portal" über Windows PowerShell erteilt.

Führen Sie den folgenden Befehl an der SharePoint 2010-Verwaltungsshell aus:

$w = Get-SPWebApplication -Identity http://portal

$w.GrantAccessToProcessIdentity("vmlab\svcExcel")

Starten der Excel Services-Dienstinstanz auf dem Server mit Excel Services

Starten Sie vor dem Erstellen einer Excel Services-Dienstanwendung den Excel Services-Dienst auf den vorgesehenen Farmservern.

  1. Öffnen Sie die Zentraladministration.

  2. Wählen Sie unter Dienste den Eintrag Dienste auf dem Server verwalten aus.

  3. Wählen Sie im Auswahlfeld Server rechts oben den/die Server aus, auf dem/denen Excel Services ausgeführt wird. In diesem Beispiel heißt der Server VMSP10APP01.

  4. Starten Sie die Dienste für Excel-Berechnungen.

Erstellen der Excel Services-Dienstanwendung und des Proxys

Konfigurieren Sie anschließend eine neue Excel Services-Dienstanwendung und einen Anwendungsproxy, um Webanwendungen die Nutzung von Excel Services zu ermöglichen:

  1. Öffnen Sie die Zentraladministration.

  2. Klicken Sie unter Anwendungsverwaltung auf Dienstanwendungen verwalten.

  3. Klicken Sie auf Neu und dann auf Excel Services-Anwendung.

  4. Konfigurieren Sie die neue Dienstanwendung. Wählen Sie das ordnungsgemäße Dienstkonto aus (erstellen Sie ein neues verwaltetes Konto, falls das Excel Services-Konto nicht in der Liste enthalten ist).

Konfigurieren des vertrauenswürdige Dateispeicherorts und von Authentifizierungseinstellungen für Excel Services

Nach Erstellen der Excel Services-Anwendung müssen Sie die Eigenschaften der neuen Dienstanwendung konfigurieren, um einen vertrauenswürdigen Hostspeicherort und Authentifizierungseinstellungen anzugeben.

  1. Öffnen Sie die Zentraladministration.

  2. Klicken Sie unter Anwendungsverwaltung auf Dienstanwendungen verwalten.

  3. Klicken Sie auf den Link der neuen Dienstanwendung (in diesem Beispiel Excel Services).

  4. Klicken Sie auf dem Bildschirm zur Verwaltung von Excel Services auf Vertrauenswürdige Datenquellen-Speicherorte.

  5. Fügen Sie einen neuen vertrauenswürdigen Dateispeicherort hinzu.

  6. Geben Sie den Speicherort für Ihre Testbibliothek an.

    Hinweis

    In diesem Beispiel wird der URL der Stammwebanwendung und allen untergeordneten URLs vertraut. In einer Produktionsumgebung müssen Sie die Vertrauensbeziehung ggf. stärker einschränken.

  7. Wählen Sie unter Externe Daten zulassen die Option Vertrauenswürdige Datenverbindungsbibliotheken und eingebettete Verbindungen aus.

    Hinweis

    In diesem Beispiel wird für die Verbindung mit SQL Server eine eingebettete Verbindung verwendet. In Ihrer Umgebung müssen Sie ggf. eine gesonderte Verbindungsdatei erstellt und diese in einer vertrauenswürdigen Datenverbindungsbibliothek speichern. In diesem Fall können Sie ggf. nur vertrauenswürdige Datenverbindungsbibliotheken auswählen.

  8. Ändern Sie die Gültigkeitsdauer des externen Datencaches. Zu Testzwecken empfiehlt es sich, die Gültigkeitsdauer des externen Datencaches zu ändern, um sicherzustellen, dass Datenaktualisierungen aus der Datenquelle und nicht aus dem Cache stammen. Ändern Sie unter Externe Daten die folgenden Einstellungen:

    Automatische Aktualisierung (in bestimmten Abständen/beim Öffnen) = 0

    Manuelle Aktualisierung = 0

    Hinweis

    In einer Produktionsumgebung sollten Sie eine Cacheeinstellung größer 0 wählen. Das Festlegen des Caches auf 0 ist nur für Testzwecke vorgesehen.

Überprüfen der eingeschränkten Excel Services-Delegierung

Erstellen einer Dokumentbibliothek zum Hosten der Testarbeitsmappe

Öffnen Sie eine Website im vertrauenswürdigen Pfad, der im vorherigen Schritt konfiguriert wurde. Erstellen Sie eine neue Dokumentbibliothek zum Hosten einer Excel-Testarbeitsmappe.

Erstellen einer Excel-Testarbeitsmappe mit SQL-Datenverbindung

Erstellen Sie als Nächstes eine Excel-Arbeitsmappe mit einer Datenverbindung mit der neuen Testdatenbank:

  1. Öffnen Sie Excel.

  2. Klicken Sie auf der Registerkarte Daten auf Aus anderen Quellen und dann auf Von SQL Server.

  3. Stellen Sie eine Verbindung mit der SQL Server-Testdatenquelle her.

  4. Wählen Sie die Testdatenbank und -tabelle aus (Sales in unserem Beispiel).

  5. Klicken Sie auf Weiter. Klicken Sie auf die Schaltfläche Authentifizierungseinstellungen. Vergewissern Sie sich, dass Windows-Authentifizierung angegeben ist.

  6. Klicken Sie auf Fertig stellen.

  7. Wählen Sie PivotTable-Bericht aus.

  8. Konfigurieren Sie die PivotTable. Stellen Sie sicher, dass Daten aus der SQL Server-Quelle zurückgegeben werden.

Veröffentlichen der Arbeitsmappe in SharePoint Server und Aktualisieren der Datenverbindung

Der letzte Schritt bei der Überprüfung der Excel Services-Anwendung ist das Veröffentlichen der Arbeitsmappe und Testen der Aktualisierung der eingebetteten SQL Server-Verbindung.

  1. Klicken Sie auf die Registerkarte Datei.

  2. Klicken Sie auf Speichern und senden, dann auf In SharePoint speichern und schließlich auf Speicherort suchen.

  3. Geben Sie den Speicherort der in den vorherigen Schritten erstellten vertrauenswürdigen Bibliothek ein.

  4. Vergewissern Sie sich, dass Mit Excel im Browser öffnen ausgewählt ist.

    An dieser Stelle wird ein neues Browserfenster mit Ihrer Testarbeitsmappe angezeigt. Aktualisieren Sie anschließend die Datenverbindung, indem Sie zuerst auf Daten und dann auf Alle Verbindungen aktualisieren klicken.

    Wenn die Datenverbindung aktualisiert wird, haben Sie die Kerberos-Delegierung für Excel Services erfolgreich konfiguriert. Ändern Sie zum Testen der Verbindung die Quelldaten in SQL Management Studio, und aktualisieren Sie anschließend die Verbindung. Die geänderten Daten sollten in der Arbeitsmappe angezeigt werden. Wenn keine Änderungen erkennbar sind und bei der Aktualisierung keine Fehler angezeigt werden, sehen Sie höchstwahrscheinlich zwischengespeicherte Daten. Excel Services speichert standardmäßig Daten aus externen Datenquellen fünf Minuten zwischen. Sie können diese Cacheeinstellung ändern. Weitere Informationen finden Sie unter Konfigurieren des vertrauenswürdige Dateispeicherorts und von Authentifizierungseinstellungen für Excel Services in diesem Artikel.