Konfigurieren von Analysis Services für die eingeschränkte Kerberos-Delegierung
Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Wenn Sie Analysis Services für die Kerberos-Authentifizierung konfigurieren, verfolgen Sie damit wahrscheinlich eines oder beide der folgenden Ziele: Analysis Services soll bei der Abfrage von Daten eine Benutzeridentität annehmen, oder eine Benutzeridentität soll von Analysis Services an einen untergeordneten Dienst delegiert werden. Für die Szenarien gelten leicht abweichende Konfigurationsanforderungen. Bei beiden Szenarien muss überprüft werden, ob die Konfiguration ordnungsgemäß ausgeführt wurde.
Tipp
Microsoft Kerberos Configuration Manager for SQL Server ist ein Diagnosetool zur Behebung Kerberos-bezogener Probleme mit der Verbindung mit SQL Server. Weitere Informationen finden Sie unter Microsoft Kerberos-Konfigurations-Manager für SQL Server.
Dieses Thema enthält folgende Abschnitte:
Zulassen, dass Analysis Services eine Benutzeridentität annimmt
Konfigurieren von Analysis Services für die vertrauenswürdige Delegierung
Hinweis
Die Delegierung ist nicht erforderlich, wenn die Verbindung mit Analysis Services eine Single-Hop-Verbindung ist oder wenn die Lösung gespeicherte Anmeldeinformationen verwendet, die von SharePoint "Einmaliges Anmelden" oder Reporting Services bereitgestellt werden. Wenn alle Verbindungen direkte Verbindungen von Excel mit einer Analysis Services-Datenbank sind oder auf gespeicherten Anmeldeinformationen basieren, können Sie Kerberos (oder NTLM) verwenden, ohne eine eingeschränkte Delegierung konfigurieren zu müssen.
Die eingeschränkte Kerberos-Delegierung ist erforderlich, wenn die Benutzeridentität über mehrere Computerverbindungen fließen muss (als "Double-Hop" bezeichnet). Wenn der Analysis Services-Datenzugriff von der Benutzeridentität abhängig ist und die Verbindungsanforderung von einem delegierenden Dienst stammt, verwenden Sie die Checkliste im nächsten Abschnitt, um sicherzustellen, dass Analysis Services die Identität des ursprünglichen Aufrufers annehmen kann. Weitere Informationen zu Analysis Services-Authentifizierungsabläufen finden Sie unter Microsoft BI-Authentifizierung und Identitätsdelegierung.
Als bewährte Sicherheitsmethode empfiehlt Microsoft immer eher die eingeschränkte als die uneingeschränkte Delegierung. Die uneingeschränkte Delegierung ist ein großes Sicherheitsrisiko, da sie der Dienstidentität ermöglicht, die Identität eines anderen Benutzers auf beliebigen Downstreamcomputern, -diensten oder -anwendungen zu übernehmen (im Gegensatz zu nur den Diensten, die über eine eingeschränkte Delegierung ausdrücklich definiert werden).
Zulassen, dass Analysis Services eine Benutzeridentität annimmt
Um übergeordneten Diensten wie Reporting Services, IIS oder SharePoint zu ermöglichen, eine Benutzeridentität für Analysis Services anzunehmen, müssen Sie die eingeschränkte Kerberos-Delegierung für diese Dienste konfigurieren. In diesem Szenario nimmt Analysis Services die Identität des aktuellen Benutzers an, indem die vom delegierenden Dienst bereitgestellte Identität angenommen wird. Die daraufhin zurückgegebenen Ergebnisse basieren auf der Rollenmitgliedschaft dieser Benutzeridentität.
Aufgabe | Beschreibung |
---|---|
Schritt 1: Überprüfen, ob die Konten für die Delegierung geeignet sind | Stellen Sie sicher, dass die Konten, unter denen Sie die Dienste ausführen, über die entsprechenden Eigenschaften in Active Directory verfügen. Dienstkonten in Active Directory dürfen nicht als vertrauliche Konten gekennzeichnet oder ausdrücklich aus Delegierungsszenarien ausgeschlossen werden. Weitere Informationen finden Sie unter Grundlegendes zu Benutzerkonten. Hinweis: Im Allgemeinen müssen alle Konten und Server derselben Active Directory-Domäne oder vertrauenswürdigen Domänen in derselben Gesamtstruktur angehören. Da Windows Server 2012 jedoch die Delegierung über Domänengrenzen hinweg unterstützt, können Sie eingeschränkte Kerberos-Delegierung über eine Domänengrenze hinweg konfigurieren, wenn die Domänenfunktionsebene Windows Server 2012 ist. Eine andere Möglichkeit besteht darin, Analysis Services für den HTTP-Zugriff zu konfigurieren und IIS-Authentifizierungsmethoden für die Clientverbindung zu verwenden. Weitere Informationen finden Sie unter Konfigurieren des HTTP-Zugriffs auf Analysis Services unter Internetinformationsdienste (IIS) 8.0. |
Schritt 2: Registrieren des SPN | Vor dem Einrichten der eingeschränkten Delegierung müssen Sie einen Dienstprinzipalnamen (Service Principal Name, SPN) für die Analysis Services-instance registrieren. Sie benötigen den Analysis Services-SPN, wenn Sie die eingeschränkte Kerberos-Delegierung für Dienste der mittleren Ebene konfigurieren. Anweisungen dazu finden Sie unter SPN registration for an Analysis Services instance . Ein Dienstprinzipalname (Service Principal Name, SPN) gibt die eindeutige Identität eines Diensts in einer Domäne an, die für die Kerberos-Authentifizierung konfiguriert ist. Clientverbindungen mit integrierter Sicherheit erfordern im Rahmen der SSPI-Authentifizierung häufig einen SPN. Die Anforderung wird an einen Active Directory-Domänencontroller (DC) weitergeleitet. Dabei stellt KDC ein Ticket bereit, wenn für den vom Client angegebenen SPN in Active Directory eine entsprechende SPN-Registrierung vorhanden ist. |
Schritt 3: Konfigurieren der eingeschränkten Delegierung | Nachdem Sie die zu verwendenden Konten überprüft und SPNs dafür registriert haben, konfigurieren Sie im nächsten Schritt übergeordnete Dienste wie IIS, Reporting Services oder SharePoint-Webdienste für die eingeschränkte Delegierung, und geben Sie dabei die Analysis Services-SPN als spezifischen Dienst an, für den die Delegierung erlaubt ist. Unter SharePoint ausgeführte Dienste wie Excel Services oder Reporting Services im SharePoint-Modus hosten häufig Arbeitsmappen und Berichte, die mehrdimensionale oder tabellarische Analysis Services-Daten nutzen. Die Konfiguration der eingeschränkten Delegierung für diese Dienste ist eine allgemeine Konfigurationsaufgabe, die ausgeführt werden muss, damit die Datenaktualisierung von Excel Services unterstützt wird. Über die folgenden Links erhalten Sie Anweisungen für SharePoint Services und andere Dienste, die Downstream-Verbindungsanforderungen für Analysis Services-Daten ausgeben können: Identitätsdelegierung für Excel Services (SharePoint Server 2010) oder Konfigurieren von Excel Services in SharePoint Server 2010 für Kerberos-Authentifizierung Identitätsdelegierung für PerformancePoint-Dienste (SharePoint Server 2010) Identitätsdelegierung für SQL Server Reporting Services (SharePoint Server 2010) Informationen zu IIS 7.0 finden Sie unter Konfigurieren der Windows-Authentifizierung (IIS 7.0) oder Konfigurieren von SQL Server 2008 Analysis Services und SQL Server 2005 Analysis Services, um Kerberos-Authentifizierung zu verwenden. |
Schritt 4: Testen von Verbindungen | Stellen Sie beim Testen Verbindungen von Remotecomputern unter verschiedenen Identitäten her, und fragen Sie Analysis Services mit den gleichen Anwendungen ab, die von Benutzern im geschäftlichen Bereich verwendet werden. Mithilfe von SQL Server Profiler können Sie die Verbindung überwachen. Die Benutzeridentität für die Anforderung sollte angezeigt werden. Weitere Informationen finden Sie unter Prüfen, ob eine Identität angenommen oder delegiert wurde in diesem Abschnitt. |
Konfigurieren von Analysis Services für die vertrauenswürdige Delegierung
Indem Sie Analysis Services für die eingeschränkte Kerberos-Delegierung konfigurieren, ermöglichen Sie dem Dienst, eine Clientidentität für einen untergeordneten Dienst, z.B. die relationale Datenbank-Engine, anzunehmen. Daraufhin können die Daten so abgefragt werden, als wäre der Client direkt verbunden.
Delegierungsszenarien für Analysis Services sind auf tabellarische Modelle beschränkt, die für den DirectQuery -Modus konfiguriert sind. Dies ist das einzige Szenario, bei dem Analysis Services delegierte Anmeldeinformationen an einen anderen Dienst übergeben kann. In allen anderen Szenarien wie den im vorherigen Abschnitt erwähnten SharePoint-Szenarien ist Analysis Services am empfangenden Ende der Delegierungskette. Weitere Informationen zu DirectQuery finden Sie unter DirectQuery-Modus.
Hinweis
Ein typisches Missverständnis ist, dass ROLAP-Speicher, -Verarbeitungsvorgänge oder -Zugriff auf Remotepartitionen auf irgendeine Weise eine eingeschränkte Delegierung erforderlich machen. Das ist nicht der Fall. Alle diese Vorgänge werden direkt vom Dienstkonto (das auch als Verarbeitungskonto bezeichnet wird) im eigenen Namen ausgeführt. Die Delegierung ist für diese Vorgänge in Analysis Services nicht erforderlich, da die Berechtigungen für solche Vorgänge direkt dem Dienstkonto gewährt werden (beispielsweise das Gewähren der db_datareader-Berechtigungen für die relationale Datenbank, damit der Dienst Daten verarbeiten kann). Weitere Informationen zu Servervorgängen und -berechtigungen finden Sie unter Konfigurieren von Dienstkonten (Analysis Services).
In diesem Abschnitt wird erläutert, wie Sie Analysis Services für die vertrauenswürdige Delegierung einrichten. Nachdem Sie diese Aufgabe abgeschlossen haben, kann Analysis Services delegierte Anmeldeinformationen zur Unterstützung des in tabellarischen Lösungen verwendeten DirectQuery-Modus an SQL Server übergeben.
Vorbereitungen:
Überprüfen Sie, ob Analysis Services gestartet wurde.
Überprüfen Sie, ob der für Analysis Services registrierte SPN gültig ist. Anweisungen finden Sie unter SPN registration for an Analysis Services instance.
Wenn beide Voraussetzungen erfüllt sind, fahren Sie mit den folgenden Schritten fort. Beachten Sie, dass Sie Domänenadministrator sein müssen, um die eingeschränkte Delegierung einzurichten.
Suchen Sie unter Active Directory-Benutzer und -Computer das Dienstkonto, unter dem Analysis Services ausgeführt wird. Klicken Sie mit der rechten Maustaste auf das Dienstkonto, und wählen Sie Eigenschaftenaus.
Zur Veranschaulichung werden in den folgenden Screenshots "OlapSvc" und "SQLSvc" verwendet, um Analysis Services und SQL Server darzustellen.
"OlapSvc" ist das Konto, das für die eingeschränkte Delegierung an "SQLSvc" konfiguriert wird. Nachdem Sie diese Aufgabe abgeschlossen haben, ist "OlapSvc" berechtigt, delegierte Anmeldeinformationen für ein Dienstticket an "SQLSvc" zu übergeben. Dadurch wird beim Anfordern von Daten die Identität des ursprünglichen Aufrufers angenommen.
Wählen Sie auf der Registerkarte Delegierung die Option Benutzer bei Delegierungen angegebener Dienste vertrauenund dann Nur Kerberos verwendenaus. Klicken Sie auf Hinzufügen , um anzugeben, an welchen Dienst Anmeldeinformationen von Analysis Services delegiert werden dürfen.
Die Registerkarte Delegierung wird nur angezeigt, wenn das Dienstkonto (OlapSvc) einem Dienst (Analysis Services) zugewiesen ist und für den Dienst ein SPN registriert wurde. Die SPN-Registrierung setzt voraus, dass der Dienst ausgeführt wird.
Klicken Sie auf der Seite Dienste hinzufügen auf Benutzer oder Computer.
Geben Sie auf der Seite zum Auswählen von Benutzern oder Computern das Konto ein, das zur Ausführung der SQL Server-Instanz verwendet wird, die Daten für tabellarische Analysis Services-Modelldatenbanken bereitstellt. Klicken Sie auf OK , um das Dienstkonto zu übernehmen.
Wenn Sie das gewünschte Konto nicht auswählen können, überprüfen Sie, ob SQL Server ausgeführt wird und ob ein SPN für das Konto registriert wurde. Weitere Informationen zu SPNs für die Datenbank-Engine finden Sie unter Register a Service Principal Name for Kerberos Connections.
Die SQL Server-Instanz sollte jetzt in Dienste hinzufügen angezeigt werden. Darüber hinaus wird jeder Dienst, der dieses Konto verwendet, in der Liste angezeigt. Wählen Sie die SQL Server-Instanz aus, die Sie verwenden möchten. Klicken Sie auf OK , um die Instanz zu übernehmen.
Die Eigenschaftenseite des Analysis Services-Dienstkontos sollte jetzt dem folgenden Screenshot entsprechen. Klicken Sie auf OK , um die Änderungen zu speichern.
Überprüfen Sie, ob die Delegierung erfolgreich war, indem Sie vom Remoteclientcomputer unter einer anderen Identität eine Verbindung herstellen und eine Abfrage an das tabellarische Modell senden. Die Benutzeridentität für die Anforderung sollte im SQL Server Profiler angezeigt werden.
Prüfen, ob eine Identität angenommen oder delegiert wurde
Überwachen Sie mit SQL Server Profiler die Identität des Benutzers, der die Daten abfragt.
Starten Sie erst SQL Server Profiler für die Analysis Services-Instanz und dann eine neue Ablaufverfolgung.
Überprüfen Sie in der Ereignisauswahl, ob Audit Login und Audit Logout im Abschnitt Sicherheitsüberwachung aktiviert sind.
Stellen Sie von einem Remoteclientcomputer über einen Anwendungsdienst (z. B. SharePoint oder Reporting Services) eine Verbindung mit Analysis Services her. Das Audit Login-Ereignis zeigt die Identität des Benutzers an, der eine Verbindung mit Analysis Services herstellt.
Gründliche Tests erfordern den Einsatz von Netzwerküberwachungstools, die Kerberos-Anforderungen und -Antworten im Netzwerk erfassen können. Für diese Aufgabe kann das Netzwerkmonitor-Hilfsprogramm (netmon.exe) mit Kerberos-Filter verwendet werden. Weitere Informationen zur Verwendung von Netmon 3.4 und anderen Tools zum Testen der Kerberos-Authentifizierung finden Sie unter Konfigurieren der Kerberos-Authentifizierung: Kernkonfiguration (SharePoint Server 2010).
Weitere Informationen
Microsoft-BI-Authentifizierung und Identitätsdelegierung
Gegenseitige Authentifizierung mithilfe von Kerberos
SPN-Registrierung für eine Analysis Services-Instanz
Verbindungszeichenfolgen-Eigenschaften (Analysis Services)