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

Diagramm zur Szenarioinfrastruktur

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

  1. 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.

  2. Ö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.

  3. 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.

  1. Erstellen Sie in SQL Server Management Studio die neue Testdatenbank Test mit den Standardeinstellungen.

  2. 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

  3. Speichern Sie die Tabelle unter dem Namen Sales.

  4. 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.