BCS – Application Pool Konto für die Verbindung nutzen (RevertToSelf)

Beim Anlegen eines externen Inhaltstyps aus einer SQL Server Datenbank mit SharePoint Designer 2010 stehen drei Authentifizierungsoptionen zur Auswahl:

  • Identität des Benutzers. Damit wird die Identität des am Browser angemeldeten Benutzers zur Authentifizierung gegenüber SQL Server benutzt. Wegen des sog. Double Hop Problems funktioniert das aber nur wenn Kerberos verwendet wird.

  • Angenommene Windows-Identität. Erfordert einen korrekt konfigurierten Secure Store Service. Die Verbindung wird dann unter einem dort hinterlegten Konto hergestellt.

  • Angenommene Identität. Wie oben, aber es wird kein Windows-Konto verwendet (z.B. für SQL-Authentifizierung).

Im SharePoint Designer sieht das beim Anlegen einer neuen Verbindung zu einem SQL Server so aus:

Es gibt aber eine versteckte vierte Möglichkeit: RevertToSelf. Damit wird die Verbindung zum SQL Server immer unter dem Konto des verwendeten Application Pools hergestellt.

Ich möchte hier ausdrücklich auf die damit verbundenen Sicherheitsprobleme hinweisen. Wenn diese Möglichkeit zugelassen wird, kann sich jeder Benutzer, der das Recht hat externe Inhaltstypen anzulegen, mit jedem System verbinden und dort Daten auslesen, auf die das Application Pool Konto Zugriff hat. Eine ausführliche Diskussion der verschiedenen Authentifizierungsoptionen und vor allem auch der Risiken von RevertToSelf findet sich z.B. hier im Microsoft Business Connectivity Services Team Blog.

Falls man es trotzdem benutzen möchte, muß es zuerst für SharePoint zugelassen werden. Das geht z.B. mit PowerShell:

Man öffnet die SharePoint-Verwaltungsshell über das Startmenü und gibt folgende Befehle ein:

$apps = Get-SPServiceApplication
$bcs = #Hier holt man sich die richtige Anwendung. Man kann z.B.
#einfach $apps eingeben und bekommt dann die Liste aller Anwendungen.
#Die richtige bekommt man dann einfach über ihren Index: $bcs = $apps[i].
$bcs.RevertToSelfAllowed = $true

Im SharePoint Designer erscheint die neue Möglichkeit trotzdem nicht beim Neuanlegen einer Verbindung. Man muß deshalb die Verbindung anlegen, speichern und dann wieder öffnen:

Jetzt kann man als Authentifizierungsmodus BDC Identity auswählen und zukünftig wird die Verbindung unter dem Konto des Application Pools aufgebaut.

Ein Gedanke zu “BCS – Application Pool Konto für die Verbindung nutzen (RevertToSelf)

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s