Freigeben über


Authentifizierung des Business Data Connectivity-Dienstes

Letzte Änderung: Mittwoch, 28. Juli 2010

Gilt für: SharePoint Server 2010

Inhalt dieses Artikels
Authentifizierungsmodi
Authentifizierungsmuster für die Authentifizierungsmodi
Authentifizierung auf Anwendungsebene

Es werden zwei Authentifizierungsmodelle vom Business Data Connectivity-Dienst (BDC) unterstützt:

  • Vertrauenswürdiges Subsystem

  • Identitätswechsel und Delegierung

Beim Modell des vertrauenswürdigen Subsystems wird die mittlere Ebene (normalerweise der Webserver)) als feste Identität für den Back-End-Server authentifiziert. Entscheiden Sie sich aus den folgenden Gründen für das Modell des vertrauenswürdigen Subsystems:

  • Die Gruppe, die den Back-End-Server besitzt und verwaltet, erteilt den Zugriff auf ein von der Gruppe verwaltetes Konto.

  • Bietet Verbindungspooling.

  • Reduziert Lizenzierungskosten für den Back-End-Server.

  • Geringere Komplexität.

Beim Modell des Identitätswechsels und der Delegierung wird die Authentifizierung vom Client an die mittlere Ebene delegiert, die die Identität des Clients annimmt und die Authentifizierung für den Client beim Back-End-Server durchführt. Verwenden Sie dieses Modell aus den folgenden Gründen:

  • Erfüllt die Anforderung des Back-End-Servers, Benutzer einzeln zu autorisieren

  • Ermöglicht die Überwachung auf dem Back-End-Server

Authentifizierungsmodi

Die folgenden Authentifizierungsmodi stehen zur Verfügung, wenn Sie den BDC verwenden, um eine Verbindung mit einer Datenbank oder einem Webdienst herzustellen.

HinweisHinweis

Informationen darüber, wie Sie das richtige Authentifizierungsmuster für den jeweiligen Modus ermitteln, finden Sie unter Authentifizierungsmuster für die Authentifizierungsmodi .

Pass-Through-Authentifizierung (Datenbank- und Webdienstsysteme)

Pass-Through-Authentifizierung ist die Fähigkeit des Betriebssystems, die Authentifizierungsinformationen eines Clients an den Back-End-Server weiterzugeben. Die Pass-Through-Authentifizierung wird vom BDC sowohl für Datenbank- als auch Webdienstverbindungen unterstützt. Bei Verwendung der Pass-Through-Authentifizierung nehmen Sie bei der Authentifizierung die Identität des angemeldeten Benutzers an.

Wird auf einer Webseite auf den BDC zugegriffen, wird der Dienst im Arbeitsprozess von Internetinformationsdienste (Internet Information Services, IIS), w3wp.exe, im Web-Front-End-Server ausgeführt. Die Identität dieses Prozesses ist das IIS-Anwendungspoolkonto, doch der Thread, der zum Erfüllen der Anforderung verwendet wird, nimmt die Identität des angemeldeten Benutzers für diesen Prozess an. Damit die Identität des angemeldeten Benutzers für den BDC beim Authentifizieren auf dem Back-End-Server nicht verloren geht, müssen Sie die Kerberos-Delegierung zwischen dem Server, auf dem IIS ausgeführt wird, und dem anderen Computer aktivieren. Durch die Kerberos-Delegierung ist es einem empfangenden Server möglich, die Authentifizierungsanforderung an das richtige Ziel zu senden.

Wird der BDC für die Durchforstung verwendet, wird er im Filterdaemonprozess mssdmn.exe ausgeführt. Zum Zugreifen auf die Back-End-Inhaltsquelle nehmen die Threads im Filterdaemonprozess die Identität des Inhaltszugriffskontos an, das dieser Back-End-Inhaltsquelle zugeordnet ist.

Wenn die Pass-Through-Authentifizierung verwendet wird, legt das Betriebssystem jedoch nur den Benutzernamen und das Kennwort offen. Wenn also die zweistufige Authentifizierung in einem Unternehmen verwendet wird (bei der Benutzer abgesehen vom Benutzernamen und Kennwort über bestimmte oder private Informationen verfügen müssen), kann die Pass-Through-Authentifizierung nicht ausgeführt werden.

Trotz dieser Nachteile eignet sich die Pass-Through-Authentifizierung aufgrund ihrer einfachen Verwendung gut für Testumgebungen bzw. bei Verwendung der anonymen Authentifizierung auf dem Zielserver.

RevertToSelf-Authentifizierung (Datenbank- und Webdienstsysteme)

Wenn sich ein Benutzer über die Windows-Authentifizierung anmeldet, nimmt IIS die Identität für dieses bestimmte Konto an. Während IIS also unter der Identität des Anwendungspools ausgeführt wird, nimmt es die Identität des angemeldeten Benutzers an, und die Anforderung wird vor der Weitergabe unter der Identität des Benutzers ausgeführt.

Mithilfe der RevertToSelf-Authentifizierung können Sie diesen Identitätswechsel rückgängig machen und sich mit dem zugrunde liegenden Konto authentifizieren, das für den IIS-Anwendungspool konfiguriert ist.

VorsichtVorsicht

Wenn die RevertToSelf-Methode von benutzerdefiniertem Code für die Authentifizierung verwendet wird, können Benutzern Berechtigungen auf Systemebene für die Back-End-Server erteilt werden, indem der Anwendungspoolidentität Berechtigungen erteilt werden. Sie sollten deshalb keinen benutzerdefinierten Code, der nicht hinlänglich getestet wurde, auf einem Produktionssystem ausführen.

WindowsCredentials (Datenbank- und Webdienstsysteme)

In Microsoft SharePoint Server 2010 erfolgt die Authentifizierung mithilfe von Windows-Anmeldeinformationen, die vom Standarddienst für Einmaliges Anmelden bezogen wurden.

RdbCredentials (nur Datenbanksysteme)

Im RdbCredentials-Modus wird die Authentifizierung in SharePoint Server 2010 mithilfe von Datenbankanmeldeinformationen vom Standarddienst für Einmaliges Anmelden durchgeführt. Die Datenbankanmeldeinformationen werden von SharePoint Server zur Verbindungszeichenfolge hinzugefügt und die Anmeldeinformationen an den Datenbankserver übertragen.

Credentials (nur Webdienstsysteme)

In SharePoint Server 2010 werden Webdienstsysteme mithilfe von anderen Anmeldeinformationen als jenen für die Windows-Authentifizierung mithilfe des Standarddiensts für Einmaliges Anmelden authentifiziert. Diese Anmeldeinformationen werden für die Standard- oder Digestauthentifizierung verwendet, abhängig von der Konfiguration des Webdiensteservers. Da bei der Standard- bzw. der Digestauthentifizierung Anmeldeinformationen nicht adäquat geschützt werden, sollten Sie SSL (Secure Sockets Layer) bzw. Internetprotokollsicherheit (Internet Protocol security, IPsec) oder beide verwenden, um die Kommunikation zwischen dem Webdiensteserver und dem Server, auf dem BDC ausgeführt wird, zu sichern.

DigestCredentials (nur WCF-Webdienstsysteme)

Im Authentifizierungsmodus DigestCredentials verwendet SharePoint Server 2010 den Standarddienst für Einmaliges Anmelden, um die Anmeldeinformationen des Benutzers anderen Anmeldeinformationen als denjenigen zuzuordnen, die für die Windows-Authentifizierung verwendet werden. Die zugeordneten Anmeldeinformationen werden für die Digestauthentifizierung verwendet. Da die Digestauthentifizierung nicht angemessen schützt, müssen Sie mit SSL (Secure Sockets Layer), IPsec (Internet Protocol Security) oder beiden Technologien arbeiten, um die Kommunikation zwischen dem WCF-Webdienstserver und dem Server mit BDC zu schützen.

Zusammenfassung

In Tabelle 1 wird die Verwendung der einzelnen Authentifizierungsmodi zusammengefasst und Links zu Beispielen bereitgestellt, die derzeit im SharePoint 2010 SDK verfügbar sind.

Authentifizierungsmodus

Gilt für

Anwendungsszenarien

PassThrough

Datenbanken und Webdienste

Verwendung in einer Testumgebung mit einer Konfiguration basierend auf einem einzelnen System (Datenbankserver und Server mit SharePoint Server werden auf demselben Computer ausgeführt), oder wenn die Kerberos-Delegierung in der Domäne aktiviert ist. Kann auch verwendet werden, wenn die anonyme Authentifizierung oder SSL-Verbindungen vom Zielserver oder vom Webdienst verwendet werden.

RevertToSelf

Datenbanken und Webdienste

Verwendung, wenn der Identitätswechsel rückgängig gemacht werden muss und die Authentifizierung über das zugrunde liegende Konto erfolgen soll, das für den IIS-Anwendungspool konfiguriert ist.

WindowsCredentials

Datenbanken und Webdienste

Verwendung, wenn die Windows-Authentifizierung vom Datenbankserver oder Webdienst verwendet wird. Für diesen Modus muss Einmaliges Anmelden eingerichtet werden.

RdbCredentials

nur Datenbanksysteme

Verwendung, wenn Datenbankanmeldeinformationen vom Datenbankserver verwendet werden, z. B. wenn die SQL Server-Authentifizierung anstelle der Windows-Authentifizierung auf Ihrem Server mit SQL Server verwendet wird. Für diesen Modus muss Einmaliges Anmelden eingerichtet werden.

Credentials

nur Webdienstsysteme

Verwendung, wenn von Ihrem Webdienst andere Anmeldeinformationen als die Windows-Anmeldeinformationen verwendet werden. Für diesen Modus muss Einmaliges Anmelden eingerichtet werden.

DigestCredentials

Nur WCF-Webdienstsysteme

Wählen Sie diese Einstellung, wenn Ihr WCF-Webdienst andere Anmeldeinformationen als die Windows-Anmeldeinformationen für die Digestauthentifizierung verwendet. Sie müssen den Dienst für Einmaliges Anmelden für diesen Modus einrichten.

Authentifizierungsmuster für die Authentifizierungsmodi

In der folgenden Tabelle werden die Authentifizierungsmuster für die jeweiligen Authentifizierungsmodi aufgeführt.

Muster / Modus

PassThrough

RevertToSelf

Credentials, DigestCredentials, RdbCredentials, WindowsCredentials (Einzelanwendung für einmaliges Anmelden)

Credentials, DigestCredentials, RdbCredentials, WindowsCredentials (Gruppenanwendung für einmaliges Anmelden)

Vertrauenswürdiges Subsystem

Ja

Ja

Identitätswechsel und Delegierung

Ja

Ja

Authentifizierung auf Anwendungsebene

In BDC wird auch eine sekundäre Authentifizierung auf Anwendungsebene unterstützt, die zusätzlich zur primären Authentifizierung verwendet wird. Diese ist vor allem in Situationen hilfreich, in denen die Back-End-Anwendung die Übergabe von Anmeldeinformationen in Methodenaufrufen zur Autorisierung von Benutzern erfordert.

Sie können die Authentifizierung auf Anwendungsebene aktivieren, indem Sie im BDC-Modell Filter festlegen, und zwar die Filter "user name", "password", "SSOTicket" und "UserContext". Weitere Informationen zu diesen Filtern finden Sie unter Vom Business Data Connectivity-Dienst unterstützte Filtertypen.

Nachfolgend wird erklärt, wie Sie die Authentifizierung auf Anwendungsebene aktivieren, indem Sie die Benutzernamen- und Kennwortfilter dem BDC-Modell hinzufügen.

So aktivieren Sie die Authentifizierung auf Anwendungsebene

  1. Geben Sie in der SecondarySsoApplicationId-Eigenschaft von LobSystemInstance die Anwendung für einmaliges Anmelden an, die die Anmeldeinformationen enthält.

  2. Definieren Sie UsernameCredentialFilter und PasswordCredentialFilter, und ordnen Sie diesen jeweils einen Eingabeparameter zu.