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

 

Gilt für: SharePoint Server 2010

Letztes Änderungsdatum des Themas: 2016-11-30

In diesem Szenario fügen Sie eine Visio Services-Dienstanwendung der SharePoint Server-Umgebung hinzu. Anschließend konfigurieren Sie die eingeschränkte Kerberos-Delegierung, damit der Dienst Daten aus einer SQL Server-Datenquelle in einer Visio-Webzeichnung 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 Visio Services-Dienstkontos

Konfigurieren eines Dienstprinzipalnamens für das Visio Services-Dienstkonto

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

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

SharePoint Server-Konfiguration

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

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

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

Erstellen der Visio Services-Dienstanwendung und des Proxys

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

Konfigurieren der Cacheeinstellungen für Visio Services

Erstellen einer Dokumentbibliothek zum Hosten eines Visio-Testdiagramms

Erstellen einer Visio-Testwebzeichnung mit Shapes, die mit SQL Server-Daten verbunden sind

Veröffentlichen der Visio-Zeichnung in SharePoint Server und Aktualisieren der Datenverbindung

Details der Szenarioumgebung

Pfade der eingeschränkten Kerberos-Delegierung

Diagramm zum Delegationspfad

In diesem Szenario werden die Visio Services-Anwendungsserver und -Dienstkonten von SharePoint Server für die eingeschränkte Kerberos-Delegierung an den SQL Server-Dienst konfiguriert.

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 Visio-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 Visio-Dienstanwendung verwendet anschließend das Kerberos-Ticket zur Authentifizierung bei der Datenquelle im Back-End.

Schrittweise Konfigurationsanweisungen

Active Directory-Konfiguration

Erstellen eines Visio Services-Dienstkontos

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

SharePoint Server-Dienst IIS-Anwendungspoolidentität

Visio Services

vmlab\svcVisio

Erstellen eines Visio Services-Dienstkontos

Konfigurieren eines Dienstprinzipalnamens für das Visio Services-Dienstkonto

Die eingeschränkte Kerberos-Delegierung muss konfiguriert werden, wenn Visio Services die Windows-Identität des Clients an die Datenquelle im Back-End zurück delegieren soll. In diesem Beispiel fragt Visio Services Daten aus einer SQL Server-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 Visio Services für seinen Betrieb keinen Dienstprinzipalnamen benötigt, wird für diesen Zweck einer konfiguriert.

Führen Sie an der Eingabeaufforderung folgenden Befehl aus:

SETSPN -S SP/VisioServices svc\VisioServices

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 Visio Services

Damit Visio 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 Visio Services ausgeführt wird, muss für die Delegierung von Anmeldeinformationen an alle Back-End-Dienste vertraut werden, bei denen sich Visio authentifiziert. Darüber hinaus muss das Visio 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

Vmlab\svcVisio

MSSQLSVC/MySqlCluster.vmlab.local:1433

*Benutzer

Vmlab\svcC2WTS

MSSQLSVC/MySqlCluster.vmlab.local:1433

**Computer

Vmlab\vmsp10app01

MSSQLSVC/MySqlCluster.vmlab.local:1433

* Wird in diesem Szenario später konfiguriert

** Optional. Die eingeschränkte Delegierung für das Computerkonto ist 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 Visio-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. Sie werden 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 (Computer und Benutzer), 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:

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

SharePoint Server-Konfiguration

Konfigurieren und Starten des Forderungen an den Windows-Tokendiensts auf Servern mit dem Visio-Grafikdienst

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 im Visio-Grafikdienst, wenn der Dienst Anmeldeinformationen an ein Back-End-System delegieren muss, das mit der Windows-Authentifizierung arbeitet. WIF wird mit SharePoint Server 2010 bereitgestellt, der Forderungen an den Windows-Tokendienst kann in der Zentraladministration gestartet werden.

Auf jedem Anwendungsserver mit dem Visio-Grafikdienst 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 Server-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 der Visio-Grafikdienst 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 ein 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 die RegisterkarteAbhängigkeiten. Prüfen Sie, ob Kryptografiedienste aufgeführt ist.

  6. Klicken Sie auf OK.

Erteilen von Berechtigungen für die Inhaltsdatenbank der Webanwendung für das Visio 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 Visio-Grafikdienstkonto 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\svcVisio")

Starten der Visio-Grafikdienstinstanz auf dem Server mit Visio

Starten Sie vor dem Erstellen einer Visio Services-Dienstanwendung den Visio 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 Visio Services ausgeführt wird. In diesem Beispiel heißt der Server VMSP10APP01.

  4. Starten Sie Visio-Grafikdienst.

Erstellen der Visio-Grafikdienstanwendung und des Proxys

Konfigurieren Sie anschließend eine neue Visio Services-Dienstanwendung und einen Anwendungsproxy, um Webanwendungen die Nutzung von Visio Services zu ermöglichen (falls noch nicht vorhanden):

  1. Öffnen Sie die Zentraladministration.

  2. Klicken Sie unter Anwendungsverwaltung auf Dienstanwendungen verwalten.

  3. Klicken Sie auf Neu und anschließend auf Visio-Grafikdienst.

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

Überprüfen der eingeschränkten Delegierung für den Visio-Grafikdienst

Konfigurieren der Cacheeinstellungen für Visio Services

Basierend auf den Cacheeinstellungen des Diensts speichert der Visio-Grafikdienst die für Webclients gerenderten Webzeichnungen einige Minuten lang zwischen. Zum Testen der Delegierung wird der Dienst so konfiguriert, dass Zeichnungen nicht zwischengespeichert werden, um die Datenaktualisierung in einer Visio-Webzeichnung einfacher überprüfen zu können.

Hinweis

Das Deaktivieren des Rendercaches wird für Produktionsumgebungen nicht empfohlen. Denken Sie daran, den Cache zu reaktivieren, nachdem Sie das Testen der Delegierung in Visio abgeschlossen haben.

  1. Öffnen Sie die Zentraladministration.

  2. Klicken Sie unter Anwendungsverwaltung auf Dienstanwendungen verwalten.

  3. Wählen Sie die im vorherigen Schritt erstellte Visio-Grafikdienstanwendung aus.

  4. Wählen Sie Globale Einstellungen aus.

  5. Legen Sie die Einstellung Minimales Cachealter auf 0 fest (kein Cache).

    Hinweis

    Das Festlegen des minimalen Cachealters auf 0 ist nur für Testzwecke gedacht und sollte in einer Produktionsumgebung vermieden werden.

Erstellen einer Dokumentbibliothek zum Hosten einer Visio-Testwebzeichnung

Navigieren Sie zur Portalanwendung (http://portal). Erstellen Sie eine neue Dokumentbibliothek zum Hosten einer Visio-Testwebzeichnung.

Erstellen einer Visio-Testwebzeichnung mit Shapes, die mit SQL Server-Daten verbunden sind

  1. Starten Sie Visio 2010.

  2. Erstellen Sie unter Start im Abschnitt Allgemein ein neues Standarddiagramm.

  3. Klicken Sie auf dem Menüband auf der Registerkarte Daten auf Daten mit Shapes verknüpfen.

  4. Wählen Sie im Dialogfeld zur Datenauswahl Microsoft SQL Server-Datenbank aus.

  5. Geben Sie den in Szenario 2 erstellten SQL Server-Cluster an, und wählen Sie Windows-Authentifizierung aus.

  6. Wählen Sie die Datenbank Test und die Tabelle Sales aus.

  7. Geben Sie einen benutzerfreundlichen Namen für die Verbindung ein, und speichern Sie sie in der im vorherigen Schritt erstellten Dokumentbibliothek.

  8. Wählen Sie im Dialogfeld Datenauswahl die neu erstellte Verbindung aus, und klicken Sie dann auf Fertig stellen.

    Unten im Zeichnungsfenster sollte nun das externe Datenfenster mit den zuvor erstellten Beispieldaten angezeigt werden.

  9. Ziehen Sie die erste Datenzeile auf die Zeichnungsoberfläche. Dadurch wird ein neues Shape erstellt, das mit der Datenzeile verknüpft ist. Die Testzeichnung dient zum Testen der Delegierung und nicht zum Veranschaulichen der Erstellung einer vollfunktionsfähigen für die Produktion bereiten Webzeichnung.

Veröffentlichen der Visio-Zeichnung in SharePoint Server und Aktualisieren der Datenverbindung

  1. Veröffentlichen Sie die Zeichnung in einer SharePoint-Testdokumentbibliothek. Klicken Sie auf der Registerkarte Datei auf Speichern und senden, In SharePoint speichern, Speicherort suchen und dann auf Webzeichnung.

  2. Wechseln Sie zur Testdokumentbibliothek, geben Sie einen Namen für die Testzeichnung ein, und klicken Sie dann auf Speichern .

    Die Zeichnung wird im Browser geöffnet.

  3. Wählen Sie in der Benachrichtigung zur Deaktivierung der Aktualisierung Aktivieren (immer) aus.

  4. Die Datenverbindung sollte automatisch aktualisiert werden, und keine Fehler sollten auftreten.

  5. Öffnen Sie SQL Server Management Studio, und ändern Sie die in der Webzeichnung angezeigte Datenzeile.

  6. Aktualisieren Sie die Datenverbindung, indem Sie oben im Zeichnungsfenster auf die Schaltfläche Aktualisieren klicken. Wenn die Delegierung ordnungsgemäß konfiguriert ist, sollte die Datenaktualisierung zu erkennen sein.