Konfigurieren des Kerberos-basierten einmaligen Anmeldens (Single Sign-On, SSO) im Power BI-Dienst bei lokalen DatenquellenConfigure Kerberos-based SSO from Power BI service to on-premises data sources

Durch das Aktivieren von SSO für Power BI-Berichte und -Dashboards können Daten aus lokalen Datenquellen unter Beachtung der für diese Quellen konfigurierten Benutzerberechtigungen einfacher aktualisiert werden.Enabling SSO makes it easy for Power BI reports and dashboards to refresh data from on-premises sources while respecting user-level permissions configured on those sources. Verwenden Sie die eingeschränkte Kerberos-Delegierung, um eine nahtlose SSO-Konnektivität zu ermöglichen.Use Kerberos constrained delegation to enable seamless SSO connectivity.

VoraussetzungenPrerequisites

Damit die eingeschränkte Kerberos-Delegierung ordnungsgemäß funktioniert, müssen verschiedene Elemente konfiguriert werden, u. a. Dienstprinzipalnamen (SPN) und Delegierungseinstellungen für Dienstkonten.Several items must be configured for Kerberos constrained delegation to work properly, including Service Principal Names (SPN) and delegation settings on service accounts.

Installieren und Konfigurieren des lokalen Datengateways von MicrosoftInstall and configure the Microsoft on-premises data gateway

Dieses lokale Datengateway unterstützt das direkte Upgrade sowie die Übernahme der Einstellungen von vorhandenen Gateways.The on-premises data gateway supports an in-place upgrade, and settings takeover of existing gateways.

Ausführen des Gateway-Windows-Diensts als DomänenkontoRun the gateway Windows service as a domain account

In einer Standardinstallation wird das Gateway als Dienstkonto des lokalen Computers,NT Service\PBIEgwService, ausgeführt.In a standard installation, the gateway runs as the machine-local service account, NT Service\PBIEgwService.

Dienstkonto des lokalen Computers

Zum Aktivieren der eingeschränkten Kerberos-Delegierung muss das Gateway als Domänenkonto ausgeführt werden, es sei denn, Ihre Instanz von Azure Active Directory (Azure AD) ist bereits mit Ihrer lokalen Active Directory-Instanz synchronisiert (mittels Azure AD DirSync/Connect).To enable Kerberos constrained delegation, the gateway must run as a domain account, unless your Azure Active Directory (Azure AD) instance is already synchronized with your local Active Directory instance (by using Azure AD DirSync/Connect). Weitere Informationen zum Wechseln zu einem Domänenkonto finden Sie unter Ändern des Dienstkontos für das lokale Datengateway.To switch to a domain account, see change the gateway service account.

Hinweis

Wenn Azure AD Connect konfiguriert ist und Benutzerkonten synchronisiert werden, muss der Gatewaydienst zur Laufzeit keine lokalen Azure AD-Suchläufe ausführen.If Azure AD Connect is configured and user accounts are synchronized, the gateway service doesn't need to perform local Azure AD lookups at runtime. Stattdessen können Sie einfach die lokale Dienst-SID für den Gatewaydienst verwenden, um alle erforderlichen Konfigurationen in Azure AD vorzunehmen.Instead, you can simply use the local service SID for the gateway service to complete all required configuration in Azure AD. Die in diesem Artikel beschriebenen Schritte für die Konfiguration der eingeschränkten Kerberos-Delegierung sind identisch mit den Konfigurationsschritten im Azure AD-Kontext.The Kerberos constrained delegation configuration steps outlined in this article are the same as the configuration steps required in the Azure AD context. Sie werden auf das Computerobjekt des Gateways (entsprechend der Identifizierung anhand der Dienst-ID) in Azure AD statt auf das Domänenkonto angewendet.They are applied to the gateway's computer object (as identified by the local service SID) in Azure AD instead of the domain account.

Abrufen von Domänenadministratorrechten zum Konfigurieren von SPNs (SetSPN) und Einstellungen für die eingeschränkte Kerberos-DelegierungObtain domain admin rights to configure SPNs (SetSPN) and Kerberos constrained delegation settings

Um SPNs und Kerberos-Delegierungseinstellungen zu konfigurieren, darf der Domänenadministrator keine Rechte an einen Benutzer ohne Domänenadministrationsrechte erteilen.To configure SPNs and Kerberos delegation settings, a domain administrator should avoid granting rights to someone that doesn't have domain admin rights. Die empfohlenen Konfigurationsschritte werden im folgenden Abschnitt ausführlicher erläutert.In the following section, we cover the recommended configuration steps in more detail.

Konfigurieren der eingeschränkten Kerberos-Delegierung für das Gateway und die DatenquelleConfigure Kerberos constrained delegation for the gateway and data source

Konfigurieren Sie als Domänenadministrator bei Bedarf einen SPN für das Domänenkonto des Gatewaydiensts sowie Delegierungseinstellungen für dieses Domänenkonto.If necessary, configure an SPN for the gateway service domain account as a domain administrator and configure delegation settings on the gateway service domain account.

Konfigurieren eines SPN für das GatewaydienstkontoConfigure an SPN for the gateway service account

Ermitteln Sie zunächst, ob bereits ein SPN für das Domänenkonto erstellt wurde, das als Gatewaydienstkonto verwendet wird:First, determine whether an SPN was already created for the domain account used as the gateway service account:

  1. Starten Sie als Domänenadministrator das MMC-Snap-In (Microsoft Management Console) Active Directory-Benutzer und -Computer.As a domain administrator, launch the Active Directory Users and Computers Microsoft Management Console (MMC) snap-in.

  2. Klicken Sie im linken Bereich mit der rechten Maustaste auf den Domänennamen, wählen Sie Suchen aus, und geben Sie dann den Kontonamen des Gatewaydienstkontos ein.In the left pane, right-click the domain name, select Find, and then enter the account name of the gateway service account.

  3. Klicken Sie im Suchergebnis mit der rechten Maustaste auf das Gatewaydienstkonto, und wählen Sie Eigenschaften aus.In the search result, right-click the gateway service account and select Properties.

  4. Wenn im Dialogfeld Eigenschaften die Registerkarte Delegierung angezeigt wird, wurde bereits ein SPN erstellt, sodass Sie mit Festlegen des Typs der eingeschränkten Kerberos-Delegierung fortfahren können.If the Delegation tab is visible on the Properties dialog, then an SPN was already created and you can skip to Decide on the type of Kerberos constrained delegation to use.

  5. Wenn im Dialogfeld Eigenschaften keine Registerkarte Delegierung angezeigt wird, können Sie einen SPN für das Konto manuell erstellen, um sie zu aktivieren.If there isn't a Delegation tab on the Properties dialog box, you can manually create an SPN on the account to enable it. Verwenden Sie das in Windows enthaltene setspn-Tool. (Für die SPN-Erstellung sind Domänenadministratorrechte erforderlich.)Use the setspn tool that comes with Windows (you need domain admin rights to create the SPN).

    Angenommen, das Konto des Gatewaydiensts ist Contoso\GatewaySvc, und der Gatewaydienst wird auf einem Computer mit dem Namen MyGatewayMachine ausgeführt.For example, suppose the gateway service account is Contoso\GatewaySvc and the gateway service is running on the machine named MyGatewayMachine. Zum Festlegen des SPN für das Gatewaydienstkonto führen Sie den folgenden Befehl aus:To set the SPN for the gateway service account, run the following command:

    setspn -a gateway/MyGatewayMachine Contoso\GatewaySvc

    Sie können den SPN auch über das MMC-Snap-In Active Directory-Benutzer und -Computer festlegen.You can also set the SPN by using the Active Directory Users and Computers MMC snap-in.

Hinzufügen eines Gatewaydienstkontos zur Windows-Autorisierungs- und -Zugriffsgruppe bei BedarfAdd gateway service account to Windows Authorization and Access Group if required

In einigen Szenarien muss das Gatewaydienstkonto zur Windows-Autorisierungs- und -Zugriffsgruppe hinzugefügt werden.In certain scenarios the gateway service account must be added to the Windows Authorization and Access Group. Hierzu gehören Szenarien der Sicherheitshärtung der Active Directory-Umgebung sowie Situationen, in denen sich das Gatewaydienstkonto und die Benutzerkonten, deren Identität das Gateway annimmt, in getrennten Domänen oder Gesamtstrukturen befinden.These scenarios include security hardening of the Active Directory environment, and when the gateway service account and the user accounts that the gateway will impersonate are in separate domains or forests. Sie können das Gatewaydienstkonto auch dann zur Windows-Autorisierungs- und -Zugriffsgruppe hinzufügen, wenn für die Domäne bzw. Gesamtstruktur keine Härtung erfolgt ist, dies ist aber nicht erforderlich.You can also add the gateway service account to Windows Authorization and Access Group in situations where the domain / forest has not been hardened, but it isn't required.

Weitere Informationen finden Sie unter Windows-Autorisierungs- und -Zugriffsgruppe.For more information, see Windows Authorization and Access Group.

Um diesen Konfigurationsschritt abzuschließen, gehen Sie bei jeder Domäne mit Active Directory-Benutzern, deren Identität das Gatewaydienstkonto annehmen soll, folgendermaßen vor:To complete this configuration step, for each domain that contains Active Directory users you want the gateway service account to be able to impersonate:

  1. Melden Sie sich bei einem Computer in der Domäne an, und starten Sie das MMC-Snap-In „Active Directory-Benutzer und -Computer“.Sign in to a computer in the domain, and launch the Active Directory Users and Computers MMC snap-in.
  2. Suchen Sie die Windows-Autorisierungs- und Zugriffsgruppe. Diese befindet sich in der Regel im Container Builtin.Locate the group Windows Authorization and Access Group, which is typically found in the Builtin container.
  3. Doppelklicken Sie auf die Gruppe, und klicken Sie auf die Registerkarte Mitglieder.Double click on the group, and click on the Members tab.
  4. Klicken Sie auf Hinzufügen, und ändern Sie den Domänenstandort zu der Domäne, in der sich das Gatewaydienstkonto befindet.Click Add, and change the domain location to the domain that the gateway service account resides in.
  5. Geben Sie den Namen des Gatewaydienstkontos an, und klicken Sie auf Namen überprüfen, um zu überprüfen, ob auf das Gatewaydienstkonto zugegriffen werden kann.Type in the gateway service account name and click Check Names to verify that the gateway service account is accessible.
  6. Klicken Sie auf OK.Click OK.
  7. Klicken Sie auf Übernehmen.Click Apply.
  8. Starten Sie den Gatewaydienst neu.Restart the gateway service.

Festlegen des Typs der eingeschränkten Kerberos-DelegierungDecide on the type of Kerberos constrained delegation to use

Sie können Delegierungseinstellungen entweder für die standardmäßige eingeschränkte Kerberos-Delegierung oder die ressourcenbasierte eingeschränkte Kerberos-Delegierung konfigurieren.You can configure delegation settings for either standard Kerberos constrained delegation or resource-based Kerberos constrained delegation. Verwenden Sie die ressourcenbasierte Delegierung (Windows Server 2012 oder höher erforderlich), wenn Ihre Datenquelle zu einer anderen Domäne als Ihr Gateway gehört.Use resource-based delegation (requires Windows Server 2012 or later) if your data source belongs to a different domain than your gateway. Weitere Informationen zu den Unterschieden zwischen den beiden Delegierungsansätzen finden Sie auf der Übersichtsseite zur eingeschränkten Kerberos-Delegierung.For more information on the differences between the two approaches to delegation, see Kerberos constrained delegation overview.

Je nachdem, welchen Ansatz Sie verwenden möchten, fahren Sie mit einem der folgenden Abschnitte fort.Depending on which approach you want to use, proceed to one of the following sections. Führen Sie nicht beide Abschnitte aus:Don't complete both sections:

Konfigurieren des Gatewaydienstkontos für die standardmäßige eingeschränkte Kerberos-DelegierungConfigure the gateway service account for standard Kerberos constrained delegation

Hinweis

Führen Sie die Schritte in diesem Abschnitt aus, wenn Sie die standardmäßige eingeschränkte Kerberos-Delegierung aktivieren möchten.Complete the steps in this section if you want to enable standard Kerberos constrained delegation. Wenn Sie die ressourcenbasierte eingeschränkte Kerberos-Delegierung aktivieren möchten, führen Sie andernfalls die Schritte in Konfigurieren des Gatewaydienstkontos für die ressourcenbasierte eingeschränkte Kerberos-Delegierung aus.Otherwise, if you want to enable resource-based Kerberos constrained delegation, complete the steps in Configure the gateway service account for resource-based Kerberos constrained delegation.

Wir legen nun die Delegierungseinstellungen für das Gatewaydienstkonto fest.We'll now set the delegation settings for the gateway service account. Es gibt verschiedene Tools, mit denen Sie diese Schritte ausführen können.There are multiple tools you can use to perform these steps. Hier verwenden wir das MMC-Snap-In Active Directory-Benutzer und -Computer zur Verwaltung und Veröffentlichung von Informationen im Verzeichnis.Here, we'll use the Active Directory Users and Computers MMC snap-in to administer and publish information in the directory. Es steht auf Domänencontrollern standardmäßig zur Verfügung, doch Sie können es auch über die Konfiguration von Windows-Features auf anderen Computern aktivieren.It's available on domain controllers by default; on other machines, you can enable it through Windows feature configuration.

Wir müssen die eingeschränkte Kerberos-Delegierung mit Protokollübertragung konfigurieren.We need to configure Kerberos constrained delegation with protocol transiting. Bei der eingeschränkten Delegierung müssen Sie explizit angeben, für welche Dienste Sie dem Gateway erlauben möchten, delegierte Anmeldeinformationen vorzulegen.With constrained delegation, you must be explicit about which services you allow the gateway to present delegated credentials to. Delegierungsaufrufe des Gatewaydienstkontos werden beispielsweise nur von SQL Server oder Ihrem SAP HANA-Server akzeptiert.For example, only SQL Server or your SAP HANA server accepts delegation calls from the gateway service account.

In diesem Abschnitt wird davon ausgegangen, dass Sie bereits SPNs für die zugrunde liegenden Datenquellen (wie SQL Server, SAP HANA, SAP BW, Teradata oder Spark) konfiguriert haben.This section assumes you have already configured SPNs for your underlying data sources (such as SQL Server, SAP HANA, SAP BW, Teradata, or Spark). Um zu erfahren, wie Sie diese SPNs des Datenquellenservers konfigurieren können, lesen Sie die technische Dokumentation des jeweiligen Datenbankservers und außerdem Sie den Abschnitt What SPN does your app require? (Welcher SPN ist für Ihre App erforderlich?) im Blogbeitrag My Kerberos Checklist (Meine Kerberos-Checkliste).To learn how to configure those data source server SPNs, refer to the technical documentation for the respective database server and see the section What SPN does your app require? in the My Kerberos Checklist blog post.

In den folgenden Schritten wird davon ausgegangen, dass Sie über eine lokale Umgebung mit zwei Computern in derselben Domäne verfügen: einem Gatewaycomputer und einem Datenbankserver mit SQL Server, die bereits mit auf Kerberos basierendem SSO konfiguriert sind.In the following steps, we assume an on-premises environment with two machines in the same domain: a gateway machine and a database server running SQL Server that has already been configured for Kerberos-based SSO. Die Schritte können für eine der anderen unterstützten Datenquellen übernommen werden, sofern die Datenquelle bereits für Kerberos-basiertes SSO konfiguriert wurde.The steps can be adopted for one of the other supported data sources, so long as the data source has already been configured for Kerberos-based single sign-on. In diesem Beispiel geben wir die folgenden Einstellungen:For this example, we'll use the following settings:

  • Active Directory-Domäne (NetBIOS): ContosoActive Directory Domain (Netbios): Contoso
  • Name des Gatewaycomputers: MyGatewayMachineGateway machine name: MyGatewayMachine
  • Gatewaydienstkonto: Contoso\GatewaySvcGateway service account: Contoso\GatewaySvc
  • Computername der SQL Server-Datenquelle: TestSQLServerSQL Server data source machine name: TestSQLServer
  • Dienstkonto der SQL Server-Datenquelle: Contoso\SQLServiceSQL Server data source service account: Contoso\SQLService

Konfigurieren Sie die Delegierungseinstellungen wie folgt:Here's how to configure the delegation settings:

  1. Öffnen Sie das MMC-Snap-In Active Directory-Benutzer und -Computer mit Domänenadministratorrechten.With domain administrator rights, open the Active Directory Users and Computers MMC snap-in.

  2. Klicken Sie mit der rechten Maustaste auf das Gatewaydienstkonto (Contoso\GatewaySvc), und wählen Sie Eigenschaften aus.Right-click the gateway service account (Contoso\GatewaySvc), and select Properties.

  3. Wählen Sie die Registerkarte Delegierung aus.Select the Delegation tab.

  4. Wählen Sie Computer nur bei Delegierungen angegebener Dienste vertrauen > Beliebiges Authentifizierungsprotokoll verwenden aus.Select Trust this computer for delegation to specified services only > Use any authentication protocol.

  5. Wählen Sie unter Dienste, für die dieses Konto delegierte Anmeldeinformationen verwenden kann die Option Hinzufügen aus.Under Services to which this account can present delegated credentials, select Add.

  6. Wählen Sie im Dialogfeld „Neu“ Benutzer oder Computer aus.In the new dialog box, select Users or Computers.

  7. Geben Sie das Dienstkonto für die Datenquelle ein, und wählen Sie dann OK aus.Enter the service account for the data source, and then select OK.

    Beispielsweise kann eine SQL Server-Datenquelle ein Dienstkonto wie Contoso\SQLService haben.For example, a SQL Server data source can have a service account like Contoso\SQLService. Auf diesem Konto sollte bereits ein entsprechender Dienstprinzipalname für die Datenquelle festgelegt sein.An appropriate SPN for the data source should have already been set on this account.

  8. Wählen Sie den SPN aus, den Sie für den Datenbankserver erstellt haben.Select the SPN that you created for the database server.

    In unserem Beispiel beginnt der SPN mit MSSQLSvc.In our example, the SPN begins with MSSQLSvc. Wenn Sie sowohl den FQDN als auch den NetBIOS-SPN für den Datenbankdienst hinzugefügt haben, wählen Sie beide aus.If you added both the FQDN and the NetBIOS SPN for your database service, select both. Möglicherweise wird nur einer angezeigt.You might see only one.

  9. Wählen Sie OK aus.Select OK.

    Der Dienstprinzipalname sollte nun in der Liste der Dienste aufgeführt werden, für die das Gatewaydienstkonto delegierte Anmeldeinformationen verwenden kann.You should now see the SPN in the list of services to which the gateway service account can present delegated credentials.

    Dialogfeld „Eigenschaften von Gatewayconnector“

  10. Um das Setup fortzusetzen, fahren Sie als Nächstes mit Erteilen von lokalen Richtlinienrechten auf dem Gatewaycomputer für das Gatewaydienstkonto fort.To continue the setup process, proceed to Grant the gateway service account local policy rights on the gateway machine.

Konfigurieren des Gatewaydienstkontos für die ressourcenbasierte eingeschränkte Kerberos-DelegierungConfigure the gateway service account for resource-based Kerberos constrained delegation

Hinweis

Führen Sie die Schritte in diesem Abschnitt aus, wenn Sie die ressourcenbasierte eingeschränkte Kerberos-Delegierung aktivieren möchten.Complete the steps in this section if you want to enable resource-based Kerberos constrained delegation. Wenn Sie die standardmäßige eingeschränkte Kerberos-Delegierung aktivieren möchten, führen Sie andernfalls die Schritte in Konfigurieren des Gatewaydienstkontos für die standardmäßige eingeschränkte Kerberos-Delegierung aus.Otherwise, if you want to enable standard Kerberos constrained delegation, complete the steps in Configure the gateway service account for standard Kerberos constrained delegation.

Verwenden Sie die ressourcenbasierte eingeschränkte Kerberos-Delegierung, um SSO-Konnektivität für Windows Server 2012 und höhere Versionen zu ermöglichen.You use resource-based Kerberos constrained delegation to enable single sign-on connectivity for Windows Server 2012 and later versions. Dieser Delegierungstyp lässt zu, dass sich Front-End- und Back-End-Dienste in unterschiedlichen Domänen befinden.This type of delegation permits front-end and back-end services to be in different domains. Damit dies funktioniert, muss die Domäne des Back-End-Diensts der Domäne des Front-End-Diensts vertrauen.For it to work, the back-end service domain needs to trust the front-end service domain.

In den folgenden Schritten wird davon ausgegangen, dass Sie eine lokale Umgebung mit zwei Computern in unterschiedlichen Domänen haben: einem Gatewaycomputer und einem Datenbankserver mit SQL Server, die bereits mit Kerberos-basiertem SSO konfiguriert sind.In the following steps, we assume an on-premises environment with two machines in different domains: a gateway machine and a database server running SQL Server that has already been configured for Kerberos-based SSO. Die Schritte können für eine der anderen unterstützten Datenquellen übernommen werden, sofern die Datenquelle bereits für Kerberos-basiertes SSO konfiguriert wurde.These steps can be adopted for one of the other supported data sources, so long as the data source has already been configured for Kerberos-based single sign-on. In diesem Beispiel geben wir die folgenden Einstellungen:For this example, we'll use the following settings:

  • Active Directory-Front-End-Domäne (NetBIOS): ContosoFrontEndActive Directory frontend Domain (Netbios): ContosoFrontEnd
  • Active Directory-Back-End-Domäne (NetBIOS): ContosoBackEndActive Directory backend Domain (Netbios): ContosoBackEnd
  • Name des Gatewaycomputers: MyGatewayMachineGateway machine name: MyGatewayMachine
  • Gatewaydienstkonto: ContosoFrontEnd\GatewaySvcGateway service account: ContosoFrontEnd\GatewaySvc
  • Computername der SQL Server-Datenquelle: TestSQLServerSQL Server data source machine name: TestSQLServer
  • Dienstkonto der SQL Server-Datenquelle: ContosoBackEnd\SQLServiceSQL Server data source service account: ContosoBackEnd\SQLService

Führen Sie die folgenden Konfigurationsschritte aus:Complete the following configuration steps:

  1. Stellen Sie mithilfe des MMC-Snap-Ins Active Directory-Benutzer und -Computer auf dem Domänencontroller für die Domäne ContosoFrontEnd sicher, dass für das Gatewaydienstkonto keine Delegierungseinstellungen angewendet wurden.Use the Active Directory Users and Computers MMC snap-in on the domain controller for the ContosoFrontEnd domain and verify no delegation settings are applied for the gateway service account.

    Gatewayconnectoreigenschaften

  2. Stellen Sie mithilfe von Active Directory-Benutzer und -Computer auf dem Domänencontroller für die Domäne ContosoBackEnd sicher, dass für das Back-End-Dienstkonto keine Delegierungseinstellungen gelten.Use Active Directory Users and Computers on the domain controller for the ContosoBackEnd domain and verify no delegation settings are applied for the back-end service account.

    SQL-Diensteigenschaften

  3. Überprüfen Sie auf der Registerkarte Attribut-Editor der Kontoeigenschaften, dass das Attribut msDS-AllowedToActOnBehalfOfOtherIdentity nicht festgelegt ist.In the Attribute Editor tab of the account properties, verify that the msDS-AllowedToActOnBehalfOfOtherIdentity attribute isn't set.

    SQL-Dienstattribute

  4. Erstellen Sie in Active Directory-Benutzer und -Computer auf dem Domänencontroller für die Domäne ContosoBackEnd eine Gruppe.In Active Directory Users and Computers, create a group on the domain controller for the ContosoBackEnd domain. Fügen Sie das Gatewaydienstkonto GatewaySvc zur Gruppe ResourceDelGroup hinzu.Add the GatewaySvc gateway service account to the ResourceDelGroup group.

    Gruppeneigenschaften

  5. Öffnen Sie die Eingabeaufforderung, und führen Sie auf dem Domänencontroller für die Domäne ContosoBackEnd die folgenden Befehle aus, um das Attribut msDS-AllowedToActOnBehalfOfOtherIdentity des Back-End-Dienstkontos zu aktualisieren:Open a command prompt and run the following commands in the domain controller for the ContosoBackEnd domain to update the msDS-AllowedToActOnBehalfOfOtherIdentity attribute of the back-end service account:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. In Active Directory-Benutzer und -Computer können Sie überprüfen, ob das Update auf der Registerkarte Attribut-Editor in den Eigenschaften für das Back-End-Dienstkonto angezeigt wird.In Active Directory Users and Computers, verify that the update is reflected in the Attribute Editor tab in the properties for the back-end service account.

Erteilen der lokalen Richtlinienrechte auf dem Gatewaycomputer für das GatewaydienstkontoGrant the gateway service account local policy rights on the gateway machine

Abschließend müssen dem Gatewaydienstkonto auf dem Computer, auf dem der Gatewaydienst (in diesem Beispiel MyGatewayMachine) ausgeführt wird, die lokalen Richtlinien Annehmen der Clientidentität nach Authentifizierung und Einsetzen als Teil des Betriebssystems (SeTcbPrivilege) erteilt werden.Finally, on the machine running the gateway service (MyGatewayMachine in our example), grant the gateway service account the local policies Impersonate a client after authentication and Act as part of the operating system (SeTcbPrivilege). Führen Sie diese Konfiguration mit den lokalen Gruppenrichtlinien-Editor (gpedit.msc) aus.Perform this configuration with the Local Group Policy Editor (gpedit.msc).

  1. Führen Sie auf dem Gatewaycomputer gpedit.msc aus.On the gateway machine, run gpedit.msc.

  2. Navigieren Sie zu Richtlinie für „Lokaler Computer“ > Computerkonfiguration > Windows-Einstellungen > Sicherheitseinstellungen > Lokale Richtlinien > Zuweisen von Benutzerrechten.Go to Local Computer Policy > Computer Configuration > Windows Settings > Security Settings > Local Policies > User Rights Assignment.

    Ordnerstruktur der Richtlinie für den lokalen Computer

  3. Wählen Sie unter Zuweisen von Benutzerrechten in der Richtlinienliste den Eintrag Annehmen der Clientidentität nach Authentifizierung aus.Under User Rights Assignment, from the list of policies, select Impersonate a client after authentication.

    Identität einer Clientrichtlinie annehmen

  4. Klicken Sie mit der rechten Maustaste auf die Richtlinie, öffnen Sie Eigenschaften, und zeigen Sie dann die Liste der Konten an.Right-click the policy, open Properties, and then view the list of accounts.

    Die Liste muss das Gatewaydienstkonto enthalten (je nach Typ der eingeschränkten Delegierung Contoso\GatewaySvc oder ContosoFrontEnd\GatewaySvc).The list must include the gateway service account (Contoso\GatewaySvc or ContosoFrontEnd\GatewaySvc depending on the type of constrained delegation).

  5. Wählen Sie in der Liste der Richtlinien unter Zuweisen von Benutzerrechten den Eintrag Als Teil des Betriebssystems fungieren (SeTcbPrivilege) aus.Under User Rights Assignment, select Act as part of the operating system (SeTcbPrivilege) from the list of policies. Vergewissern Sie sich, dass das Gatewaydienstkonto in der Liste der Konten aufgeführt wird.Ensure that the gateway service account is included in the list of accounts.

  6. Starten Sie den Dienstprozess Lokales Datengateway neu.Restart the On-premises data gateway service process.

Festlegen von Konfigurationsparametern für die Benutzerzuordnung auf dem Gatewaycomputer (falls erforderlich)Set user-mapping configuration parameters on the gateway machine (if necessary)

Wenn Azure AD Connect nicht konfiguriert ist, führen Sie die folgenden Schritte aus, um einen Power BI-Dienstbenutzer einem lokalen Active Directory-Benutzer zuzuordnen.If you don't have Azure AD Connect configured, follow these steps to map a Power BI service user to a local Active Directory user. Jeder Active Directory Benutzer, der auf diese Weise zugeordnet wird, muss über SSO-Berechtigungen für Ihre Datenquelle verfügen.Each Active Directory user mapped in this way needs to have SSO permissions for your data source. Weitere Informationen finden Sie in diesem Guy in a Cube-Video.For more information, see Guy in a Cube video.

  1. Öffnen Sie die Hauptdatei für die Gatewaykonfiguration, „Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll“.Open the main gateway configuration file, Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll. Standardmäßig befindet sich diese Datei unter C:\Programme\Lokales Datengateway.By default, this file is stored at C:\Program Files\On-premises data gateway.

  2. Legen Sie ADUserNameLookupProperty auf ein nicht verwendetes Active Directory-Attribut fest.Set ADUserNameLookupProperty to an unused Active Directory attribute. In den folgenden Schritten verwenden wir msDS-cloudExtensionAttribute1.We'll use msDS-cloudExtensionAttribute1 in the steps that follow. Dieses Attribut ist nur in Windows Server 2012 und höher verfügbar.This attribute is available only in Windows Server 2012 and later.

  3. Legen Sie ADUserNameReplacementProperty auf SAMAccountName fest, und speichern Sie dann die Konfigurationsdatei.Set ADUserNameReplacementProperty to SAMAccountName and then save the configuration file.

  4. Klicken Sie auf der Registerkarte Dienste des Task-Managers mit der rechten Maustaste auf den Gatewaydienst, und wählen Sie Neu starten aus.From the Services tab of Task Manager, right-click the gateway service and select Restart.

    Screenshot: Registerkarte „Dienste“ des Task-Managers

  5. Legen Sie für jeden Power BI-Dienstbenutzer, für den Sie Kerberos SSO aktivieren möchten, die Eigenschaft msDS-cloudExtensionAttribute1 eines lokalen Active Directory-Benutzers (mit SSO-Berechtigung für Ihre Datenquelle) auf den vollständigen Benutzernamen (UPN) des Power BI-Dienstbenutzers fest.For each Power BI service user you want to enable Kerberos SSO for, set the msDS-cloudExtensionAttribute1 property of a local Active Directory user (with SSO permission to your data source) to the full username (UPN) of the Power BI service user. Wenn Sie sich beispielsweise als test@contoso.com beim Power BI-Dienst anmelden und diesen Benutzer einem lokalen Active Directory-Benutzer mit SSO-Berechtigungen, beispielsweise test@LOCALDOMAIN.COM, zuordnen möchten, legen Sie das Attribut msDS-cloudExtensionAttribute1 des Benutzers auf test@contoso.com fest.For example, if you sign in to Power BI service as test@contoso.com and you want to map this user to a local Active Directory user with SSO permissions, say, test@LOCALDOMAIN.COM, set this user's msDS-cloudExtensionAttribute1 attribute to test@contoso.com.

    Die Eigenschaft msDS-cloudExtensionAttribute1 kann unter anderem über das MMC-Snap-In „Active Directory-Benutzer und -Computer“ festgelegt werden:You can set the msDS-cloudExtensionAttribute1 property with the Active Directory Users and Computers MMC snap-in:

    1. Starten Sie Active Directory-Benutzer und -Computer als Domänenadministrator.As a domain administrator, launch Active Directory Users and Computers.

    2. Klicken Sie mit der rechten Maustaste auf den Domänennamen, wählen Sie Suchen aus, und geben Sie den Kontonamen des lokalen Active Directory-Benutzers ein, zu dem die Zuordnung erfolgen soll.Right-click the domain name, select Find, and then enter the account name of the local Active Directory user to map.

    3. Wählen Sie die Registerkarte Attribute Editor (Attribut-Editor) aus.Select the Attribute Editor tab.

      Suchen Sie nach der Eigenschaft msDS-cloudExtensionAttribute1, und doppelklicken Sie darauf.Locate the msDS-cloudExtensionAttribute1 property, and double-click it. Legen Sie den Wert auf den vollständigen Benutzernamen (UPN) fest, den Sie für die Anmeldung beim Power BI-Dienst verwenden.Set the value to the full username (UPN) of the user you use to sign in to the Power BI service.

    4. Wählen Sie OK aus.Select OK.

      Fenster „Attribut-Editor für Zeichenfolgen“

    5. Klicken Sie auf Übernehmen.Select Apply. Vergewissern Sie sich in der Spalte Value (Wert), dass der korrekte Wert festgelegt wurde.Verify that the correct value has been set in the Value column.

Vervollständigen von datenquellenspezifischen KonfigurationsschrittenComplete data source-specific configuration steps

Für SAP HANA und SAP BW gelten zusätzliche datenquellenspezifische Konfigurationsanforderungen und Voraussetzungen, die erfüllt sein müssen, bevor Sie mit diesen Datenquellen eine SSO-Verbindung über das Gateway herstellen können.SAP HANA and SAP BW have additional data-source specific configuration requirements and prerequisites that you need to meet before you can establish an SSO connection through the gateway to these data sources. Weitere Informationen finden Sie unter SAP HANA-Konfiguration und auf der Konfigurationsseite für SAP BW – CommonCryptoLib (sapcrypto.dll).For more information, see SAP HANA configuration and the SAP BW - CommonCryptoLib (sapcrypto.dll) configuration page. Es ist auch möglich, SAP BW für die Verwendung mit der SNC-Bibliothek „gx64krb5“ zu konfigurieren, aber diese Bibliothek wird nicht empfohlen, da sie von SAP nicht mehr unterstützt wird.Although it's possible to configure SAP BW for use with the gx64krb5 SNC library, this library isn't recommended because it's no longer supported by SAP. Sie sollten CommonCryptoLib oder gx64krb5 als Ihre SNC-Bibliothek verwenden.You should use CommonCryptoLib or gx64krb5 as your SNC library. Führen Sie nicht die Konfigurationsschritte für beide Bibliotheken aus.Don't complete the configuration steps for both libraries.

Hinweis

Andere SNC-Bibliotheken funktionieren möglicherweise auch für einmaliges Anmelden bei SAP BW, werden aber von Microsoft nicht offiziell unterstützt.Although other SNC libraries might also work for BW SSO, they aren't officially supported by Microsoft.

Ausführen eines Power BI-BerichtsRun a Power BI report

Nach Abschluss aller Konfigurationsschritte können Sie in Power BI auf der Seite Gateway verwalten die von Ihnen verwendete Datenquelle für SSO konfigurieren.After you complete all the configuration steps, use the Manage Gateway page in Power BI to configure the data source to use for SSO. Wenn Sie über mehrere Gateways verfügen, stellen Sie sicher, dass Sie das Gateway auswählen, das Sie für Kerberos SSO konfiguriert haben.If you have multiple gateways, ensure that you select the gateway you've configured for Kerberos SSO. Sorgen Sie dann dafür, dass unter Erweiterte Einstellungen für die Datenquelle die Option SSO über Kerberos für DirectQuery-Abfragen verwenden oder SSO über Kerberos für DirectQuery- und Importabfragen verwenden für auf DirectQuery basierende Berichte und die Option SSO über Kerberos für DirectQuery- und Importabfragen verwenden für auf Aktualisierungen basierende Berichte aktiviert ist.Then, under Advanced Settings for the data source, ensure Use SSO via Kerberos for DirectQuery queries or Use SSO via Kerberos for DirectQuery And Import queries is checked for DirectQuery based Reports and Use SSO via Kerberos for DirectQuery And Import queries is checked for Refresh based Reports.

Erweiterte Einstellungsoptionen

Wenn Sie einen auf DirectQuery basierenden Bericht in Power BI Desktop veröffentlichen und ihn einer Datenquelle zuordnen, für die die Option SSO über Kerberos für DirectQuery-Abfragen verwenden oder SSO über Kerberos für DirectQuery- und Importabfragen verwenden aktiviert ist, würde dieser Bericht Daten verwenden, auf die der Benutzer zugreifen kann, der dem (Azure) Active Directory-Benutzer entspricht, der sich beim Power BI-Dienst anmeldet.If you publish a DirectQuery-based report from Power BI Desktop and map it to a data source having the Use SSO via Kerberos for DirectQuery queries or the Use SSO via Kerberos for DirectQuery And Import queries checked, this report would use data that is accessible to the user that's mapped to the (Azure) Active Directory user that signs in to the Power BI service.

Ähnlich verhält es sich, wenn Sie einen auf Aktualisierungen basierenden Bericht in Power BI Desktop veröffentlichen und ihn einer Datenquelle zuordnen, für die die Option SSO über Kerberos für DirectQuery- und Importabfragen verwenden aktiviert ist, und Sie müssen keine Anmeldeinformationen angeben.Similarly if you publish a Refresh-based report from Power BI desktop and map it to a data source having the Use SSO via Kerberos for DirectQuery And Import queries checked, you do not need to provide any credentials. Die Aktualisierung wird im Kontext des aktiven Verzeichnisses des Besitzers des Datasets ausgeführt.The refresh is executed under the the dataset owner's active directory context.

Wenn Sie den Bericht allerdings einer Datenquelle zuordnen, für die SSO über Kerberos für DirectQuery- und Importabfragen verwenden nicht aktiviert ist, verwendet die Aktualisierung die Anmeldeinformationen, die Sie in den Feldern Benutzername und Kennwort beim Erstellen der Datenquelle eingegeben haben.If however, you map it to a data source where Use SSO via Kerberos for DirectQuery And Import queries isn't checked, the refresh uses the credentials that you entered in the Username and Password fields when you created the data source. Das bedeutet, dass Kerberos-SSO nicht verwendet wird.In other words, Kerberos SSO is not used.

Wählen Sie beim Veröffentlichen das Gateway aus, das Sie für SSO konfiguriert haben, sofern Sie über mehrere Gateways verfügen.When you publish, select the gateway you've configured for SSO if you have multiple gateways.

Diese Konfiguration funktioniert in den meisten Fällen.This configuration works in most cases. Bei Kerberos können jedoch je nach Umgebung unterschiedliche Konfigurationen vorhanden sein.However, with Kerberos there can be different configurations depending on your environment. Sollte der Bericht nicht geladen werden, wenden Sie sich zur weiteren Untersuchung an Ihren Domänenadministrator.If the report won't load, contact your domain administrator to investigate further. Wenn SAP BW Ihre Datenquelle ist, können Sie, je nachdem, welche SNC-Bibliothek Sie ausgewählt haben, die Abschnitte zur Problembehandlung auf den datenquellenspezifischen Konfigurationsseiten für CommonCryptoLib und gx64krb5/gsskrb5 lesen.If your data source is SAP BW, refer to the troubleshooting sections of the data source-specific configuration pages for CommonCryptoLib and gx64krb5/gsskrb5, depending on which SNC library you've chosen.

Nächste SchritteNext steps

Weitere Informationen zum lokalen Datengateway und zu DirectQuery finden Sie in den folgenden Ressourcen:For more information about the on-premises data gateway and DirectQuery, see the following resources: