Konfigurera Kerberos-baserad enkel inloggning från Power BI-tjänsten till lokala datakällor

När enkel inloggning aktiveras blir det enkelt för Power BI-rapporter och instrumentpaneler att uppdatera data från lokala källor samtidigt som behörigheter på användarnivå på dessa källor respekteras. Använd Kerberos-begränsad delegering för att aktivera sömlös anslutning med enkel inloggning.

I den här artikeln beskrivs de steg du behöver vidta för att konfigurera Kerberos-baserad enkel inloggning från Power BI-tjänst till lokala datakällor.

Förutsättningar

Flera objekt måste konfigureras för att Kerberos-begränsad delegering ska fungera korrekt, inklusive *Tjänsthuvudnamn (SPN) och delegeringsinställningar för tjänstkonton.

Anteckning

Det går inte att använda DNS-alias med enkel inloggning.

Konfigurationsdisposition

Stegen som krävs för att konfigurera enkel inloggning med gateway beskrivs nedan.

  1. Slutför alla steg i Avsnitt 1: Grundläggande konfiguration.

  2. Beroende på din Active Directory-miljö och de datakällor som används kan du behöva slutföra en del av eller hela konfigurationen som beskrivs i Avsnitt 2: Miljöspecifik konfiguration.

    Möjliga scenarier som kan kräva ytterligare konfiguration visas nedan:

    Scenario Gå till
    Din Active Directory-miljö är säkerhetshärdad. Lägga till gatewaytjänstkonto i Windows auktoriserings- och åtkomstgrupp
    Gatewaytjänstkontot och de användarkonton som gatewayen personifierar finns i separata domäner eller skogar. Lägga till gatewaytjänstkonto i Windows auktoriserings- och åtkomstgrupp
    Du har inte Azure AD Anslut konfigurerat och det UPN som används i Power BI för användare matchar inte UPN i din lokala Active Directory-miljö. Ange konfigurationsparametrar för användarmappning på gatewaydatorn
    Du planerar att använda en SAP HANA datakälla med enkel inloggning. Slutför de datakällsspecifika konfigurationsstegen
    Du planerar att använda en SAP BW-datakälla med enkel inloggning. Slutför de datakällsspecifika konfigurationsstegen
    Du planerar att använda en Teradata-datakälla med enkel inloggning. Slutför de datakällsspecifika konfigurationsstegen
  3. Verifiera konfigurationen enligt beskrivningen i avsnitt 3: Verifiera konfigurationen för att säkerställa att enkel inloggning har konfigurerats korrekt.

Avsnitt 1: Grundläggande konfiguration

Steg 1: Installera och konfigurera microsofts lokala datagateway

Den lokala datagatewayen stöder en uppgradering på plats samt inställningsövertagande för befintliga gatewayer.

Steg 2: Skaffa domänadministratörsrättigheter för att konfigurera SPN:er (SetSPN) och Kerberos-begränsade delegeringsinställningar

När det gäller att konfigurera inställningar för SPN och Kerberos-delegering bör inte domänadministratörer ge behörighet till någon som inte har administratörsbehörighet för domänen. I följande avsnitt beskriver vi de rekommenderade konfigurationsstegen i detalj.

Steg 3: Konfigurera gatewaytjänstkontot

Alternativ A nedan är den rekommenderade konfigurationen om du inte har Azure AD Anslut konfigurerat och användarkonton synkroniseras. I så fall rekommenderas alternativ B.

Alternativ A: Kör gatewayens Windows-tjänst som ett domänkonto med SPN

I en standardinstallation körs gatewayen som ett lokalt tjänstkonto, NT Service\PBIEgwService.

Machine-local service account

För att aktivera Kerberos-begränsad delegering måste gatewayen köras som ett domänkonto, såvida inte din Azure Active Directory-instans redan har synkroniserats med din lokala Active Directory-instans (med Azure AD DirSync/Connect). Information om hur du växlar till ett domänkonto finns i Ändra gatewaytjänstkontot.

Konfigurera ett SPN för gatewaytjänstkontot

Börja med att kontrollera om ett SPN redan har skapats för det domänkonto som används som gatewayens tjänstkonto:

  1. Starta MMC-snapin-modulen Active Directory - användare och datorer som domänadministratör.

  2. Högerklicka på domännamnet i den vänstra rutan, välj Sök och ange gatewaytjänstens kontonamn.

  3. Högerklicka på gatewaytjänstens konto i sökresultatet och välj Egenskaper.

  4. Om fliken Delegering visas i dialogrutan Egenskaper har ett SPN redan skapats och du kan gå vidare till Konfigurera Kerberos-begränsad delegering.

  5. Om du inte ser fliken Delegering i dialogrutan Egenskaper kan du skapa ett SPN för kontot manuellt för att aktivera det. Använd setspn-verktyget som medföljer Windows (du måste ha domänadministratörsbehörighet för att kunna skapa ett SPN).

    Anta till exempel att gatewaytjänstkontot är Contoso\GatewaySvc och att gatewaytjänsten körs på datorn MyGatewayMachine. Då skulle du ange SPN för gatewaytjänstkontot med följande kommando:

    setspn -S gateway/MyGatewayMachine Contoso\GatewaySvc

    Ett sätt att ange SPN är med MMC-snapin-modulen Active Directory - användare och datorer.

Alternativ B: Konfigurera datorn för Azure AD Anslut

Om Azure AD Connect har konfigurerats och användarkonton har synkroniserats behöver inte gatewaytjänsten utföra några lokala Azure AD-sökningar vid körningen. I stället kan du helt enkelt använda lokalt tjänst-SID för gatewaytjänsten till att slutföra all nödvändig konfiguration i Azure AD. De konfigurationssteg för Kerberos-begränsad delegering som beskrivs i den här artikeln motsvarar de konfigurationssteg som krävs i Azure AD-kontexten. De tillämpas på gatewayens datorobjekt (enligt identifiering av lokalt tjänst-SID) i Azure AD, i stället för på domänkontot. Det lokala tjänst-SID:et för NT SERVICE/PBIEgwService är följande:

S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079

Om du vill skapa SPN för detta SID mot den Power BI Gateway datorn måste du köra följande kommando från en administrativ kommandotolk (ersätt <COMPUTERNAME> med namnet på den Power BI Gateway datorn):

SetSPN -s HTTP/S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079 <COMPUTERNAME>

Steg 4: Konfigurera Kerberos-begränsad delegering

Du kan konfigurera delegeringsinställningar för antingen standardmässig eller resursbaserad Kerberos-begränsad delegering. Mer information om skillnaderna mellan de två delegeringsmetoderna finns i artikeln Översikt över Kerberos-begränsad delegering.

Fortsätt till något av följande avsnitt beroende på vilken metod du vill använda. Slutför inte båda avsnitten:

Alternativ A: Standard Kerberos-begränsad delegering

Nu anger vi delegeringsinställningarna för gatewaytjänstkontot. Det finns flera olika verktyg som du kan använda för att utföra dessa steg. Här använder vi MMC-snapin-modulen Active Directory - användare och datorer till att administrera och publicera information i katalogen. Den här modulen är tillgänglig som standard i domänkontrollanter, men du kan även aktivera den via konfiguration av Windows-funktionen på andra datorer.

Vi behöver konfigurera Kerberos-begränsad delegering med protokollövergång. Med begränsad delegering måste du uttryckligen ange vilka tjänster du vill tillåta att gatewayen presenterar delegerade autentiseringsuppgifter för. Till exempel accepterar endast SQL Server eller SAP HANA-servern delegeringsanrop från gatewayens tjänstkonto.

Det här avsnittet förutsätter att du redan har konfigurerat SPN:er för dina underliggande datakällor (till exempel SQL Server, SAP HANA, SAP BW, Teradata eller Spark). Du kan läsa om att konfigurera datakällservrarnas SPN i den tekniska dokumentationen för respektive databasserver och i avsnittet Vilket SPN behöver din app? i blogginlägget Min checklista för Kerberos.

I följande steg förutsätter vi att det finns en lokal miljö med två datorer i samma domän: en gatewaydator och en databasserver som kör SQL Server som redan har konfigurerats för Kerberos-baserad enkel inloggning. Stegen kan användas för en av de andra datakällorna som stöds, förutsatt att datakällan redan har konfigurerats för Kerberos-baserad enkel inloggning. I det här exemplet använder vi följande inställningar:

  • Active Directory-domän (Netbios): Contoso
  • Namn på gatewaydator: MyGatewayMachine
  • Gateway-tjänstkonto: Contoso\GatewaySvc
  • SQL Server datornamn för datakälla: TestSQLServer
  • SQL Server tjänstkonto för datakälla: Contoso\SQLService

Så här konfigurerar du delegeringsinställningarna:

  1. Öppna MMC-snapin-modulen Active Directory - användare och datorer med behörighet som domänadministratör.

  2. Högerklicka på gatewaytjänstkontot (Contoso\GatewaySvc) och välj Egenskaper.

  3. Välj fliken delegering.

  4. Välj Lita på den här datorn för delegering till angivna tjänster Använd endast>valfritt autentiseringsprotokoll.

  5. Under Tjänster som det här kontot kan ge delegerade autentiseringsuppgifter till väljer du Lägg till.

  6. I den nya dialogrutan väljer du Användare eller datorer.

  7. Ange tjänstkontot för datakällan och välj sedan OK.

    En SQL Server datakälla kan till exempel ha ett tjänstkonto som Contoso\SQLService. Ett lämpligt SPN för datakällan bör redan ha angetts för det här kontot.

  8. Välj det SPN som du skapade för databasservern.

    I vårt exempel börjar SPN:et med MSSQLSvc. Om du har lagt till både FQDN- och NetBIOS-SPN:et för din databastjänst, väljer du båda. Du kanske bara ser ett av dem.

  9. Välj OK.

    Du bör nu se SPN i listan över tjänster som gatewaytjänstkontot kan ge delegerade autentiseringsuppgifter till.

    Gateway Connector Properties dialog box

  10. Fortsätt med installationen genom att gå vidare till Bevilja gatewaytjänstkontot lokala principrättigheter på gatewaydatorn.

Alternativ B: Resursbaserad Kerberos-begränsad delegering

Du använder resursbaserad Kerberos-begränsad delegering till att aktivera anslutning med enkel inloggning för Windows Server 2012 och senare. Med den här typen av delegering kan tjänster i klientdelen och serverdelen ligga i olika domäner. För att det ska fungera så måste domänen med serverdelens tjänster lita på domänen med klientdelens tjänster.

I följande steg förutsätter vi att det finns en lokal miljö med två datorer i olika domäner: en gatewaydator och en databasserver som kör SQL Server som redan har konfigurerats för Kerberos-baserad enkel inloggning. Stegen kan användas för en av de andra datakällorna som stöds, förutsatt att datakällan redan har konfigurerats för Kerberos-baserad enkel inloggning. I det här exemplet använder vi följande inställningar:

  • Active Directory-klientdelsdomän (Netbios): ContosoFrontEnd
  • Active Directory-serverdelsdomän (Netbios): ContosoBackEnd
  • Namn på gatewaydator: MyGatewayMachine
  • Gateway-tjänstkonto: ContosoFrontEnd\GatewaySvc
  • SQL Server datornamn för datakälla: TestSQLServer
  • SQL Server tjänstkonto för datakälla: ContosoBackEnd\SQLService

Utför följande konfigurationssteg:

  1. Använd MMC-snapin-modulen Active Directory - användare och datorer i domänkontrollanten för domänen ContosoFrontEnd och se till att inga delegeringsinställningar tillämpas för gatewaytjänstkontot.

    Gateway connector properties

  2. Använd Active Directory - användare och datorer i domänkontrollanten för domänen ContosoBackEnd och se till att inga delegeringsinställningar tillämpas för kontot för serverdelens tjänster.

    SQL service properties

  3. Öppna fliken Redigera attribut i kontoegenskaperna och kontrollera att attributet msDS-AllowedToActOnBehalfOfOtherIdentity inte är angivet.

    SQL service attributes

  4. Skapa en grupp i Active Directory - användare och datorer i domänkontrollanten för domänen ContosoBackEnd. Lägg till gatewaytjänstkontot GatewaySvc i gruppen ResourceDelGroup.

    Group properties

  5. Öppna en kommandotolk och kör följande kommandon i domänkontrollanten för domänen ContosoBackEnd för att uppdatera attributet msDS-AllowedToActOnBehalfOfOtherIdentity för serverdelstjänstkontot:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. Öppna Active Directory - användare och datorer och kontrollera att uppdateringen återges på fliken Redigera attribut i egenskaperna för serverdelstjänstkontot.

Steg 6: Bevilja gatewaytjänstkontot lokala principrättigheter på gatewaydatorn

På den dator som kör gatewaytjänsten (MyGatewayMachine i vårt exempel) ska du slutligen bevilja det lokala gatewaytjänstkontot den lokala principen Personifiera en klient efter autentisering samt Agera som en del av operativsystemet (SeTcbPrivilege). Utför den här konfigurationen med Redigeraren för lokala grupprinciper (gpedit.msc).

  1. Kör gpedit.msc på gatewaydatorn.

  2. Gå tillDatorkonfiguration> för lokal datorprincip>Windows Inställningar>Säkerhet Inställningar>Tilldelning av lokala principer>för användarrättigheter.

    Local Computer Policy folder structure

  3. I principlistan under Tilldelning av användarrättigheter väljer du Personifiera en klient efter autentisering.

    Impersonate a client policy

  4. Högerklicka på principen, öppna Egenskaper och visa listan med konton.

    Listan måste innehålla gatewaytjänstkontot (Contoso\GatewaySvc eller ContosoFrontEnd\GatewaySvc, beroende på typen av begränsad delegering).

  5. Under Tilldelning av användarrättigheter i listan med principer väljer du Agera som del av operativsystemet (SeTcbPrivilege). Se till att gatewaytjänstkontot även finns med i listan med konton.

  6. Starta om den lokala datagatewaytjänsten .

Steg 7: Windows konto kan komma åt gatewaydatorn

Enkel inloggning använder Windows-autentisering, så se till att Windows-kontot kan komma åt gatewaydatorn. Om du inte är säker lägger du till NT-AUTHORITY\Autentiserade användare (S-1-5-11) i den lokala datorns gruppen "Användare".

Avsnitt 2: Miljöspecifik konfiguration

Lägga till gatewaytjänstkonto i Windows auktoriserings- och åtkomstgrupp

Slutför det här avsnittet om någon av följande situationer gäller:

  • Din Active Directory-miljö är säkerhetshärdad.
  • När gatewaytjänstkontot och de användarkonton som gatewayen personifierar finns i separata domäner eller skogar.

Du kan också lägga till gatewaytjänstkontot i auktoriserings- och åtkomstgruppen för Windows i situationer då domänen/skogen inte har härdats, men detta är inte obligatoriskt.

Mer information finns i auktoriserings- och åtkomstgruppen för Windows.

För att slutföra det här konfigurationssteget för varje domän som innehåller Active Directory-användare som du vill att gatewaytjänstkontot ska kunna personifiera:

  1. Logga in på en dator i domänen och starta MMC-snapin-modulen Active Directory-användare och -datorer.
  2. Leta upp gruppen auktoriserings- och åtkomstgruppen för Windows som vanligtvis finns i containern Builtin.
  3. Dubbelklicka på gruppen och klicka på fliken Medlemmar.
  4. Klicka på Lägg tilloch ändra domänplatsen till den domän där gatewaytjänstkontot finns.
  5. Ange kontonamnet för gatewaytjänsten och klicka på Kontrollera namn för att kontrollera att gatewaytjänstkontot är tillgängligt.
  6. Klicka på OK.
  7. Klicka på Applicera.
  8. Starta om gateway-tjänsten.

Ange konfigurationsparametrar för användarmappning på gatewaydatorn

Slutför det här avsnittet om:

  • Du har inte Azure AD Anslut konfigurerat AND
  • UPN som används i Power BI för användare matchar inte UPN i din lokala Active Directory-miljö.

Varje Active Directory-användare som mappas på det här sättet måste ha behörigheter för enkel inloggning för din datakälla.

  1. Öppna konfigurationsfilen för huvudgatewayen, Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll. Som standard lagras den här filen på C:\Program Files\On-premises data gateway.

  2. Sätt ADUserNameLookupProperty till ett oanvänt Active Directory-attribut. Vi använder msDS-cloudExtensionAttribute1 i följande steg. Det här attributet är bara tillgängligt i Windows Server 2012 och senare.

  3. Sätt ADUserNameReplacementProperty till SAMAccountName och spara sedan konfigurationsfilen.

    Anteckning

    Ange ADUserNameReplacementProperty till userPrincipalName att alltid använda Power BI UPN.

  4. På fliken Tjänster i Aktivitetshanteraren högerklickar du på gatewaytjänsten och väljer Starta om.

    Screenshot of Task Manager Services tab

  5. För varje Power BI-tjänstanvändare du vill aktivera enkel inloggning med Kerberos för sätter du egenskapen msDS-cloudExtensionAttribute1 för den lokala Active Directory-användaren (med behörighet för enkel inloggning till din datakälla) till det fullständiga användarnamnet för Power BI-tjänstanvändaren. Om du till exempel loggar in på Power BI-tjänsten som test@contoso.com och vill mappa den här användaren till en lokal Active Directory-användare med behörighet för enkel inloggning, till exempel test@LOCALDOMAIN.COM, sätter du attributet msDS-cloudExtensionAttribute1 för den här användaren till test@contoso.com.

    Du kan ställa in egenskapen msDS-cloudExtensionAttribute1 med MMC-snapin-modulen Active Directory - användare och datorer:

    1. Starta Active Directory - användare och datorer som domänadministratör.

    2. Högerklicka på domännamnet, välj Sök och ange sedan kontonamnet för den lokala Active Directory-användare du vill mappa.

    3. Välj fliken Redigera attribut.

      Leta upp msDS-cloudExtensionAttribute1-egenskapen och dubbelklicka på den. Sätt värdet till det fullständiga användarnamnet (UPN) för den användare du använder för att logga in i Power BI-tjänsten.

    4. Välj OK.

      String Attribute Editor window

    5. Välj Använd. Kontrollera att rätt värde har angetts i kolumnen Värde .

Slutför de datakällsspecifika konfigurationsstegen

För datakällorna SAP HANA, SAP BW och Teradata krävs ytterligare konfiguration för användning med gateway-enkel inloggning:

Anteckning

Även om andra SNC-bibliotek också kan fungera för BW SSO så stöds de inte officiellt av Microsoft.

Avsnitt 3: Verifiera konfigurationen

Steg 1: Konfigurera datakällor i Power BI

När du har slutfört alla konfigurationssteg kan du använda sidan Hantera gateway i Power BI till att konfigurera datakällan för SSO-användning. Om du har flera gatewayer ska du välja den gateway som du har konfigurerat för enkel inloggning med Kerberos. Under Inställningar för datakällan kontrollerar du sedan att Använd enkel inloggning via Kerberos för DirectQuery-frågor eller Använd enkel inloggning via Kerberos för DirectQuery- och importfrågor kontrolleras för DirectQuery-baserade rapporter och Använd SSO via Kerberos för DirectQuery- och importfrågor kontrolleras för importbaserade rapporter.

 Screenshot of adding settings for single-sign on.

Inställningarna Använd enkel inloggning via Kerberos för DirectQuery-frågor och Använd enkel inloggning via Kerberos för DirectQuery- och importfrågor ger ett annat beteende för DirectQuery-baserade rapporter och importbaserade rapporter.

Använd enkel inloggning via Kerberos för DirectQuery-frågor:

  • För DirectQuery-baserad rapport används användarens autentiseringsuppgifter för enkel inloggning.
  • För importbaserade rapporter används inte autentiseringsuppgifter för enkel inloggning, men de autentiseringsuppgifter som anges på datakällans sida används.

Använd enkel inloggning via Kerberos för DirectQuery- och importfrågor:

  • För DirectQuery-baserad rapport används användarens autentiseringsuppgifter för enkel inloggning.
  • För importbaserad rapport används autentiseringsuppgifterna för enkel inloggning för datauppsättningens ägare, oavsett vilken användare som utlöser importen.

Steg 2: Testa enkel inloggning

Gå till Testa konfiguration av enkel inloggning (SSO) för att snabbt kontrollera att konfigurationen är korrekt konfigurerad och felsöka vanliga problem.

Steg 3: Kör en Power BI rapport

När du publicerar ska du välja den gateway du har konfigurerat för enkel inloggning om du har flera gatewayer.

Nästa steg

Du kan läsa mer om den lokala datagatewayen och DirectQuery i de här resurserna: