Freigeben über


SPN-Registrierung für eine Analysis Services-Instanz

Durch einen Dienstprinzipalnamen (Service Principal Name, SPN) wird eine Dienstinstanz in einer Active Directory-Domäne eindeutig identifiziert, wenn Kerberos zur gegenseitigen Authentifizierung von Client- und Dienstidentitäten verwendet wird. Ein SPN ist dem Anmeldekonto zugeordnet, unter dem die Dienstinstanz ausgeführt wird.

Bei Clientanwendungen, die über die Kerberos-Authentifizierung eine Verbindung mit Analysis Services herstellen, wird von den Analysis Services-Clientbibliotheken ein SPN erstellt. Dieser basiert auf der Verbindungszeichenfolge und anderen bekannten Variablen wie der Dienstklasse, die in der jeweiligen Analysis Services-Version fest definiert sind.

Damit die gegenseitige Authentifizierung funktioniert, müssen die vom Client erstellten SPNs einem SPN-Objekt für einen Active Directory-Domänencontroller (DC) entsprechen. Deshalb müssen möglicherweise mehrere SPNs für eine einzelne Analysis Services-Instanz registriert werden, um sämtliche Varianten abzudecken, wie der Hostname in einer Verbindungszeichenfolge von einem Benutzer angegeben werden kann. Beispielsweise benötigen Sie wahrscheinlich zwei SPNs, um sowohl den vollqualifizierten Domänennamen (FQDN) eines Servers als auch den kürzeren Computernamen zu unterstützen. Die richtige Registrierung des Analysis Services-SPNs ist wichtig für eine erfolgreiche Verbindung. Wenn der SPN nicht oder doppelt vorhanden ist bzw. ein falsches Format aufweist, tritt ein Verbindungsfehler auf.

Die SPN-Registrierung wird manuell vom Analysis Services-Administrator ausgeführt. Im Gegensatz zum SQL Server-Datenbankmodul wird der SPN von Analysis Services beim Dienststart nie automatisch registriert. Die manuelle Registrierung ist erforderlich, wenn Analysis Services unter dem virtuellen Standardkonto, einem Domänenbenutzerkonto oder einem integriertem Konto (einschließlich einer Pro-Dienst-SID) ausgeführt wird.

Die SPN-Registrierung ist nicht erforderlich, wenn der Dienst unter einem vordefinierten, verwalteten Dienstkonto ausgeführt wird, das von einem Domänenadministrator erstellt wird. Je nach Funktionsumfang der Domäne können für die Registrierung eines SPNs Domänenadministratorberechtigungen erforderlich sein.

TippTipp

Microsoft Kerberos-Konfigurations-Manager für SQL Server ist ein Diagnosetool zur Behebung Kerberos-bezogener Verbindungsprobleme bei SQL Server. Weitere Informationen finden Sie unter Microsoft Kerberos-Konfigurations-Manager für SQL Server.

Dieses Thema enthält folgende Abschnitte:

When SPN registration is required

SPN format for Analysis Services

SPN registration for a virtual account

SPN registration for a domain account

SPN registration for a built-in account

SPN registration for a named instance

SPN registration for an SSAS cluster

SPN registration for SSAS instances configured for HTTP access

SPN registration for SSAS instances listening on fixed ports

Wann die SPN-Registrierung erforderlich ist

Jede Clientverbindung, bei der "SSPI=Kerberos" in der Verbindungszeichenfolge angegeben ist, erfordert die SPN-Registrierung für eine Analysis Services-Instanz.

Die SPN-Registrierung ist in folgenden Situationen erforderlich. Ausführlichere Informationen finden Sie unter Konfigurieren von Analysis Services für die eingeschränkte Kerberos-Delegierung.

  • Die Identitätsdelegierung ist erforderlich, um die Benutzeridentität von der Clientanwendung oder dem Dienst der mittleren Ebene an Analysis Services zu übertragen. Die Identitätsdelegierung wird normalerweise verwendet, wenn benutzerspezifische Berechtigungen oder Filter für bestimmte Objekte definiert werden.

    Ein häufiges Szenario für die Identitätsdelegierung besteht darin, Dienste mittlerer Ebene, z. B. Excel Services oder Reporting Services, für die eingeschränkte Delegierung konfigurieren, damit beim Abrufen von Daten in Analysis Services eine Benutzeridentität angenommen werden kann. Um dieses Verhalten zu unterstützen, müssen Sie einen Analysis Services-SPN als Zieldienst bereitstellen, wenn Sie Excel Services oder Reporting Services für die eingeschränkte Delegierung konfigurieren.

  • Analysis Services delegiert eine Benutzeridentität, wenn Daten aus einer relationalen SQL Server-Datenbank mithilfe des DirectQuery-Modus für tabellarische Datenbanken abgerufen werden. Dies ist das einzige Szenario, bei dem Analysis Services die Benutzeridentität an einen anderen Dienst delegiert.

SPN-Format für Analysis Services

Verwenden Sie setspn, um einen SPN zu registrieren. Unter neueren Betriebssystemen wird setspn als Systemhilfsprogramm installiert. Weitere Informationen finden Sie unter SetSPN.

In der folgenden Tabelle werden die einzelnen Bestandteile des Analysis Services-SPNs beschrieben.

Element

Beschreibung

Dienstklasse

MSOLAPSvc.3 identifiziert den Dienst als Analysis Services-Instanz. Die " .3" ist ein Verweis auf die Version des XMLA-over-TCP/IP Protokolls, das für Analysis Services-Übertragungen verwendet wird. Die Zahl hat keinen Bezug zur Produktversion. Daher ist MSOLAPSvc.3 die richtige Dienstklasse für SQL Server 2005, 2008, 2008, 2012 R2 und jede zukünftige Version von Analysis Services, bis das Protokoll selbst überarbeitet wird.

Hostname

Identifiziert den Computer, auf dem der Dienst ausgeführt wird. Das kann ein vollqualifizierter Domänenname oder ein NetBIOS-Name sein. Sie sollten einen SPN für beide Namen registrieren.

Wenn Sie einen SPN für den NetBIOS-Namen eines Servers registrieren, sollten Sie anhand von SetupSPN –S doppelte Registrierungseinträge suchen. NetBIOS-Namen sind innerhalb einer Gesamtstruktur nicht unbedingt eindeutig, und eine doppelte SPN-Registrierung führt zu einem Verbindungsfehler.

Bei Analysis Services-Clustern mit Lastenausgleich sollte der Hostname dem virtuellen Namen entsprechen, der dem Cluster zugewiesen ist.

Ein SPN sollte nie anhand der IP-Adresse erstellt werden. Kerberos verwendet die DNS-Auflösungsfunktionen der Domäne. Das wird umgangen, indem eine IP-Adresse angegeben wird.

Portnummer

Obwohl die Portnummer Teil der SPN-Syntax ist, geben Sie bei der Registrierung eines Analysis Services-SPNs nie eine Portnummer an. Der Doppelpunkt ( : ), der in der SPN-Standardsyntax normalerweise zur Angabe einer Portnummer dient, wird von Analysis Services für den Instanznamen verwendet. Bei einer Analysis Services-Instanz wird davon ausgegangen, dass der Port dem Standardport (TCP 2383) oder einem Port entspricht, der vom SQL Server-Browserdienst (TCP 2382) zugewiesen wird.

Instanzname

Analysis Services ist ein replizierbarer Dienst, der mehrmals auf demselben Computer installiert werden kann. Jede Instanz wird über den Instanznamen identifiziert.

Dem Instanznamen wird ein Doppelpunkt ( : ) vorangestellt. Bei einem Hostcomputer mit dem Namen "SRV01" und der benannten Instanz "SSAS-Tabular" sollte der SPN beispielsweise "SRV01:SSAS-Tabular" lauten.

Beachten Sie, dass sich die Syntax zum Angeben einer benannten Analysis Services-Instanz von der Syntax unterscheidet, die von anderen SQL Server-Instanzen verwendet wird. Andere Dienste verwenden einen umgekehrten Schrägstrich (\), um den Instanznamen in einem SPN anzufügen.

Dienstkonto

Dies ist das Startkonto des Windows-Diensts MSSQLServerOLAPService. Es kann sich um ein Windows-Domänenbenutzerkonto, ein virtuelles Konto, ein verwaltetes Dienstkonto (MSA) oder ein integriertes Konto handeln, wie z. B. Pro-Dienst-SID, NetworkService oder LocalSystem. Ein Windows-Domänenbenutzerkonto kann das folgende Format aufweisen: Domäne\Benutzer oder Benutzer@Domäne.

SPN-Registrierung für ein virtuelles Konto

Virtuelle Konten sind der Standardkontotyp für SQL Server-Dienste. Das virtuelle Konto lautet NT Service\MSOLAPService für eine Standardinstanz und NT Service\MSOLAP$<Instanzname> für eine benannte Instanz.

Wie der Name bereits aussagt, sind diese Konten nicht in Active Directory enthalten. Ein virtuelles Konto ist nur auf dem lokalen Computer vorhanden. Bei der Verbindung mit externen Diensten, Anwendungen oder Geräten wird die Verbindung über das lokale Computerkonto hergestellt. Wenn der SPN also für eine Analysis Services-Instanz registriert wird, die unter einem virtuellen Konto ausgeführt wird, handelt es sich tatsächlich um eine SPN-Registrierung für das Computerkonto.

Beispielsyntax für eine Standardinstanz, die als "NT Service\MSOLAPService" ausgeführt wird

In diesem Beispiel wird die setspn-Syntax für eine Analysis Services-Standardinstanz veranschaulicht, die unter dem virtuellen Standardkonto ausgeführt wird. In diesem Beispiel lautet der Computerhostname AW-SRV01. Wie bereits erwähnt, muss für die SPN-Registrierung das Computerkonto und nicht das virtuelle Konto NT Service\MSOLAPService angegeben werden.

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01
HinweisHinweis

Denken Sie daran, zwei SPN-Registrierungen zu erstellen, eine für den NetBIOS-Hostnamen und einen zweiten für einen vollqualifizierten Domänennamen des Hosts. Unterschiedliche Clientanwendungen verwenden verschiedene Hostnamenskonventionen, wenn sie eine Verbindung mit Analysis Services herstellen. Durch die Erstellung beider SPN-Registrierungen wird sichergestellt, dass beide Versionen des Hostnamens berücksichtigt werden.

Beispielsyntax für eine benannte Instanz, die als „NT Service\MSOLAP$<instance-name>“ ausgeführt wird

In diesem Beispiel wird die setspn-Syntax für eine benannte Instanz veranschaulicht, die unter dem virtuellen Standardkonto ausgeführt wird. Der Computerhostname lautet in diesem Fall AW-SRV02 und der Instanzname AW-FINANCE. Auch hier wird für den SPN das Computerkonto angegeben und nicht das virtuelle Konto NT Service\MSOLAP$<Instanzname>.

Setspn -s MSOLAPSvc.3/AW-SRV02.AdventureWorks.com:AW-FINANCE AW-SRV02

SPN-Registrierung für ein Domänenkonto

Üblicherweise wird zum Ausführen einer Analysis Services-Instanz ein Domänenkonto verwendet.

Für Analysis Services-Instanzen, die in einem Netzwerk oder Cluster mit Hardwarelastenausgleich ausgeführt werden, ist ein Domänenkonto erforderlich, wobei jede Instanz des Clusters unter demselben Domänenkonto ausgeführt wird.

Beispielsyntax für eine Standardinstanz, die als Domänenbenutzer ausgeführt wird

In diesem Beispiel wird die setspn-Syntax für eine Analysis Services-Standardinstanz veranschaulicht, die in der Domäne AdventureWorks unter dem Domänenbenutzerkonto SSAS-Service ausgeführt wird.

Setspn –s msolapsvc.3\AW-SRV01.Adventureworks.com AdventureWorks\SSAS-Service
TippTipp

Überprüfen Sie, ob der SPN für den Analysis Services-Server erstellt wurde, indem Sie je nach SPN-Registrierung Setspn -L <domain account> oder Setspn -L <machinename> ausführen. MSOLAPSVC.3/<Hostname> sollte in der Liste angezeigt werden.

SPN-Registrierung für ein integriertes Konto

Obwohl diese Vorgehensweise nicht empfohlen wird, sind ältere Analysis Services-Installationen manchmal für die Ausführung unter integrierten Konten wie Netzwerkdienst, Lokaler Dienst oder Lokales System konfiguriert.

Beispielsyntax für eine Standardinstanz, die unter einem integrierten Konto ausgeführt wird

Die SPN-Registrierung für einen Dienst, der unter einem integrierten Konto oder einer Pro-Dienst-SID ausgeführt wird, weist die gleiche SPN-Syntax wie für das virtuelle Konto auf. Verwenden Sie anstelle des Kontonamens das Computerkonto:

Setspn -s MSOLAPSvc.3/AW-SRV01.AdventureWorks.com AW-SRV01

SPN-Registrierung für eine benannte Instanz

Für benannte Instanzen von Analysis Services werden dynamische Portzuweisungen verwendet, die vom SQL Server-Browserdienst erkannt werden. Registrieren Sie einen SPN bei Verwendung einer benannten Instanz sowohl für den SQL Server-Browserdienst als auch für die benannte Analysis Services-Instanz. Weitere Informationen finden Sie unter Ein SPN für den SQL Server-Browser-Dienst ist erforderlich, wenn Sie eine Verbindung zu einer benannten Instanz von SQL Server Analysis Services oder von SQL Server herstellen.

SPN-Beispielsyntax für den SQL-Browserdienst, der als LocalService ausgeführt wird

Der Name der Dienstklasse ist MSOLAPDisco.3. Dieser Dienst wird standardmäßig als NT AUTHORITY\LocalService ausgeführt, d. h., der SPN wurde für das Computerkonto registriert. In diesem Beispiel weist das Computerkonto den Namen AW-SRV01 auf, der dem Computernamen entspricht.

Setspn -S MSOLAPDisco.3/AW-SRV01.AdventureWorks.com AW-SRV01

SPN-Registrierung für einen SSAS-Cluster

Bei Analysis Services-Failoverclustern sollte der Hostname dem virtuellen Namen entsprechen, der dem Cluster zugewiesen ist. Dies ist der SQL Server-Netzwerkname, den Sie beim Setup von SQL Server angegeben haben, als Sie Analysis Services auf einem vorhandenen WSFC installiert haben. Sie finden diesen Namen in Active Directory. Sie finden ihn auch im Failovercluster-Manager | Rolle | Registerkarte Ressourcen. Der Servername auf der Registerkarte "Ressourcen" sollte als "virtueller Name" im SPN-Befehl verwendet werden.

SPN-Syntax für einen Analysis Services-Cluster

Setspn –s msolapsvc.3/<virtualname.FQDN > <domain user account>

Beachten Sie, dass für Knoten in einem Analysis Services-Cluster der Standardport (TCP 2383) verwendet werden muss und dass die Knoten unter demselben Domänenbenutzerkonto ausgeführt werden müssen, sodass jeder Knoten über dieselbe SID verfügt. Weitere Informationen finden Sie unter Verwenden von SQL Server Analysis Services in einem Cluster.

SPN-Registrierung für SSAS-Instanzen, die für den HTTP-Zugriff konfiguriert sind

Je nach den Anforderungen der Lösung kann es erforderlich sein, Analysis Services für den HTTP-Zugriff zu konfigurieren. Wenn die Lösung IIS als Komponente der mittleren Ebene umfasst und die Kerberos-Authentifizierung von der Lösung vorausgesetzt wird, muss ein SPN ggf. manuell für IIS registriert werden. Weitere Informationen finden Sie unter "Konfigurieren der Einstellungen auf dem Computer, auf dem IIS ausgeführt wird" in Konfigurieren von SQL Server 2008 Analysis Services und SQL Server 2005 Analysis Services, um Kerberos-Authentifizierung zu verwenden.

Bei der SPN-Registrierung für die Analysis Services-Instanz macht es keinen Unterschied, ob eine Instanz für TCP oder HTTP konfiguriert ist. Wenn von IIS mithilfe der MSMDPUMP-ISAPI-Erweiterung eine Verbindung mit Analysis Services hergestellt wird, basiert diese immer auf TCP.

Das bedeutet, dass Sie bei der SPN-Registrierung die Anweisungen der vorherigen Abschnitte für Standardinstanzen oder benannte Instanzen verwenden können. Achten Sie beim Angeben des Hostnamens darauf, den Hostnamen zu verwenden, den Sie bei der Konfiguration des Dienstes für den HTTP-Zugriff in der Datei msmdpump.ini angegeben haben.

Weitere Informationen zum HTTP-Zugriff finden Sie unter Konfigurieren von HTTP-Zugriff auf Analysis Services unter Internetinformationsdienste (IIS) 7,0.

SPN-Registrierung für SSAS-Instanzen, die an festen Ports lauschen

Bei einer SPN-Registrierung für Analysis Services kann keine Portnummer angegeben werden. Wenn Sie Analysis Services als Standardinstanz installiert und für das Lauschen an einem festen Port konfiguriert haben, müssen Sie Analysis Services jetzt für das Lauschen am Standardport (TCP 2383) konfigurieren. Bei benannten Instanzen müssen Sie den SQL Server-Browserdienst und dynamische Portzuweisungen verwenden.

Eine Analysis Services-Instanz kann nur an einem einzelnen Port lauschen. Die Verwendung mehrerer Ports wird nicht unterstützt. Weitere Informationen zur Portkonfiguration finden Sie unter Konfigurieren der Windows-Firewall, um den Zugriff auf Analysis Services zuzulassen.

Siehe auch

Verweis

Konfigurieren von Windows-Dienstkonten und -Berechtigungen

Andere Ressourcen

Microsoft BI-Authentifizierung und Identitätsdelegierung

Gegenseitige Authentifizierung mit Kerberos

Konfigurieren von SQL Server 2008 Analysis Services und SQL Server 2005 Analysis Services für die Kerberos-Authentifizierung

SetSPN-Syntax (Setspn.exe) für Dienstprinzipalnamen (Service Principal Names, SPNs)

Welchen SPN verwende ich und wie kann ich ihn ermitteln?

SetSPN

Schrittweise Anleitung für Dienstkonten

Verwenden von SPNs bei der Konfiguration von Webanwendungen, die unter Internetinformationsdiensten gehostet werden

Neues in Dienstkonten

Konfigurieren der Kerberos-Authentifizierung für SharePoint 2010-Produkte (Whitepaper)