Kerberos-Authentifizierung für SQL OLTP (SharePoint Server 2010)
Gilt für: SharePoint Server 2010
Letztes Änderungsdatum des Themas: 2016-11-30
In diesem Szenario wird das Konfigurieren der Kerberos-Authentifizierung für den SQL Server-Cluster in der Beispielumgebung veranschaulicht. Im Anschluss wird die Authentifizierung von SharePoint Server-Diensten beim Cluster mit dem Kerberos-Protokoll überprüft.
In diesem Szenario führen Sie folgende Schritte aus:
Konfigurieren eines bestehenden SQL Server 2008 R2-Clusters für die Kerberos-Authentifizierung
Überprüfen der Clientauthentifizierung beim Cluster mit dem Kerberos-Protokoll
Erstellen einer Testdatenbank und von Beispieldaten für spätere Szenarien
Hinweis
Es ist nicht erforderlich, die Kerberos-Authentifizierung für SQL Server für zentrale Datendienste von SharePoint Server (beispielsweise Verbindungen zu Plattformdatenbanken) zu verwenden. Die Beispielumgebung verfügt lediglich über einen SQL Server-Cluster, auf dem zusätzliche Beispieldatenbanken für spätere Szenarien gehostet werden. Damit die Delegierung in diesen Szenarien ordnungsgemäß funktioniert, müssen vom SQL Server-Cluster mit Kerberos authentifizierte Verbindungen akzeptiert werden.
Hinweis
Bei der Installation unter Windows Server 2008 müssen Sie möglicherweise das folgende Hotfix für die Kerberos-Authentifizierung installieren:
Fehler mit Fehlercode 0X80090302 oder 0x8009030f bei der Kerberos-Authentifizierung auf einem Computer unter Windows Server 2008 oder Windows Vista bei Verwendung des AES-Algorithmus (https://support.microsoft.com/kb/969083/de)
Prüfliste für die Konfiguration
Bereich der Konfiguration | Beschreibung |
---|---|
DNS konfigurieren |
DNS (A)-Hosteinträge für die IP-Adresse des SQL Server-Clusters erstellen |
Active Directory konfigurieren |
Dienstprinzipalnamen (SPN) für den SQL Server-Dienst erstellen |
Kerberos-Konfiguration von SQL Server überprüfen |
SQL-Verbindungsmetadaten mit SQL Server Management Studio abfragen, um die Verwendung des Kerberos-Authentifizierungsprotokolls sicherzustellen |
Einzelheiten zur Szenarioumgebung
In diesem Szenario wird eine SharePoint Server-Farm veranschaulicht, die für Verwendung eines SQL-Alias in einer Verbindung mit einem SQL Server-Cluster konfiguriert wurde, der für die Verwendung der Kerberos-Authentifizierung konfiguriert ist.
Schrittweise Konfigurationsanweisungen
Konfigurieren von DNS
Konfigurieren Sie das DNS für den SQL Server-Cluster in Ihrer Umgebung. In diesem Beispiel wird ein SQL Server-Cluster (MySqlCluster.vmlab.local) verwendet, der auf Port 1433 unter der Cluster-IP-Adresse 192.168.8.135/4 ausgeführt wird. Der Cluster ist Aktiv/Passiv, und das SQL Server-Datenbankmodul wird in der Standardinstanz des ersten Knotens ausgeführt.
Allgemeine Informationen zur DNS-Konfiguration finden Sie unter Verwalten von DNS-Einträgen.
In diesem Beispiel wurde ein DNS (A)-Eintrag für den SQL Server-Cluster konfiguriert.
Hinweis
Da SQL Server-SPNs einen Instanzennamen enthalten (wenn die zweite benannte Instanz auf dem gleichen Computer verwendet wird), kann der DNS-Host für den Cluster rein technisch als CNAME-Alias registriert und so das in Anhang A, Bekannte Kerberos-Konfigurationsprobleme (SharePoint Server 2010), beschriebene CNAME-Problem vermieden werden. Wenn Sie CNAME-Einträge verwenden möchten, sollten Sie mithilfe des DNS (A)-Eintragshostnamens für die CNAME-Aliasse einen SPN registrieren.
Konfigurieren von Active Directory
Damit die Kerberos-Authentifizierung für Clients von SQL Server verwendet werden kann, müssen Sie einen Dienstprinzipalnamen (SPN) für das Dienstkonto mit SQL Server registrieren. Dienstprinzipalnamen für das SQL Server-Datenbankmodul weisen bei Konfigurationen, die die Standardinstanz anstelle der benannten SQL Server-Instanz verwenden, folgendes Format auf:
MSSQLSvc/<FQDN>:Port
Weitere Informationen zum Registrieren von SPNs für SQL Server 2008 finden Sie unter Registrieren eines Dienstprinzipalnamens.
Im Beispiel wurde der SQL Server-SPN im Dienstkonto des SQL Server-Datenbankmoduls (vmlab\svcSQL) mit dem folgenden SetSPN-Befehl konfiguriert:
SetSPN -S MSSQLSVC/MySQLCluster.vmlab.local:1433 vmlab\svcSQL
Benannte SQL Server-Instanzen
Wenn Sie eine benannte SQL Server-Instanz anstelle der Standardinstanz verwenden, müssen Sie die spezifischen SPNs für die SQL Server-Instanz und den SQL Server-Browserdienst registrieren. Weitere Informationen zum Konfigurieren der Kerberos-Authentifizierung für benannte Instanzen finden Sie unter:
SQL-Aliase
Eine bewährte Vorgehensweise beim Erstellen einer Farm besteht darin, SQL-Aliase für Verbindungen zum SQL Server-Computer zu verwenden. Das Kerberos-Format des SPN bleibt bei der Verwendung von SQL-Aliasen unverändert. Sie verwenden auch weiterhin den registrierten DNS-Hostnamen (A-Eintrag) im SPN für SQL Server. Wenn Sie beispielsweise den Alias "SPFARMSQL" für "MySQLCluster.vmlab.local" registrieren, lautet der SPN für die Verbindung mit SPFarmSQL weiterhin "MSSQLSVC/MySQLCluster.vmlab.local:1433".
Überprüfen der Kerberos-Konfiguration von SQL Server
Nachdem das DNS und die Dienstprinzipalnamen konfiguriert wurden, können Sie die Computer mit SharePoint Server neu starten und überprüfen, ob die Authentifizierung der SharePoint Server-Dienste für SQL Server jetzt mit dem Kerberos-Protokoll durchgeführt wird.
So überprüfen Sie die Clusterkonfiguration
Starten Sie die Computer mit SharePoint Server neu — Dadurch werden alle Dienste neu gestartet und gezwungen, das Herstellen der Verbindung sowie die Authentifizierung unter Verwendung des Kerberos-Protokolls zu wiederholen.
Öffnen Sie SQL Server Management Studio, und führen Sie folgende Abfrage aus:
Select s.session_id, s.login_name, s.host_name, c.auth_scheme from sys.dm_exec_connections c inner join sys.dm_exec_sessions s on c.session_id = s.session_id
Die Abfrage gibt Metadaten zu den einzelnen Verbindungen und Sitzungen zurück. Mithilfe der Sitzungsdaten können die Verbindungsquelle sowie das Authentifizierungsschema für die Verbindung identifiziert werden.
Vergewissern Sie sich, dass die SharePoint Server-Dienste mit dem Kerberos-Protokoll authentifiziert werden. Wenn die Kerberos-Authentifizierung ordnungsgemäß konfiguriert wurde, finden Sie in der Spalte auth_scheme der Abfrage den Eintrag Kerberos.
Erstellen einer SQL Server-Testdatenbank sowie einer Testtabelle
Um die Delegierung für die verschiedenen SharePoint Server-Dienstanwendungen zu testen, die in den Szenarien in diesem Dokument behandelt werden, müssen Sie eine Testdatenquelle konfigurieren, auf die die Dienste zugreifen können. Zum Abschluss dieses Szenarios konfigurieren Sie die Testdatenbank Test und die Testtabelle Sales für die spätere Verwendung.
Erstellen Sie in SQL Server Management Studio die neue Testdatenbank Test mit den Standardeinstellungen.
Erstellen Sie in der Datenbank Test eine neue Tabelle mit dem folgenden Schema:
Spaltenname Datentyp NULL-Werte zulassen Region
nvarchar(10)
Nein
Jahr
nvarchar(4)
Nein
Betrag
money
Nein
RowId
int
Nein
Speichern Sie die Tabelle unter dem Namen Sales.
Füllen Sie die Tabelle in Management Studio mit den Testdaten. Die Daten selbst spielen keine Rolle und wirken sich nicht auf die Funktion späterer Szenarien aus. Es werden nur wenige Datenzeilen benötigt.