Share via


Använda OAuth för att ansluta till Power BI-rapportserver och SSRS

Du kan använda OAuth för att ansluta till Power BI-rapportserver och Reporting Services för att visa mobila rapporter eller KPI:er. Lär dig hur du konfigurerar din miljö för OAuth-autentisering med Power BI-mobilappen för att ansluta till Power BI-rapportserver och SQL Server Reporting Services 2016 eller senare.

Kommentar

Visning av Power BI-rapporter som finns i Power BI-rapportserver med WAP för att autentisera stöds nu för iOS- och Android-appar.

Behov

Windows Server 2016 krävs för servrarna Web Programproxy (WAP) och Active Directory Federation Services (AD FS) (ADFS). Du behöver inte ha en windows 2016-domän på funktionsnivå.

För att användarna ska kunna lägga till en rapportserveranslutning till sin Power BI-mobilapp måste du ge dem åtkomst till rapportserverns hemmapp.

DNS-konfiguration (Domain Name Services)

Den offentliga URL:en är den som Power BI-mobilappen ansluter till. Det kan till exempel se ut ungefär så här.

https://reports.contoso.com

Din DNS-post för rapporter till den offentliga IP-adressen för servern Web Programproxy (WAP). Du måste också konfigurera en offentlig DNS-post för ADFS-servern. Du kan till exempel ha konfigurerat ADFS-servern med följande URL.

https://fs.contoso.com

Din DNS-post för fs till den offentliga IP-adressen för wap-servern (Web Programproxy) eftersom den publiceras som en del av WAP-programmet.

Certifikat

Du måste konfigurera certifikat för både WAP-programmet och ADFS-servern. Båda dessa certifikat måste ingå i en giltig certifikatutfärdare som dina mobila enheter känner igen.

Reporting Services-konfiguration

Det finns inte mycket att konfigurera på Reporting Services-sidan. Du behöver bara se till att:

Tjänstens huvudnamn (SPN)

SPN är en unik identifierare för en tjänst som använder Kerberos-autentisering. Du måste se till att du har ett korrekt HTTP SPN för rapportservern.

Information om hur du konfigurerar rätt tjänsthuvudnamn (SPN) för rapportservern finns i Registrera ett tjänsthuvudnamn (SPN) för en rapportserver.

Aktivera förhandlingsautentisering

Om du vill att en rapportserver ska kunna använda Kerberos-autentisering måste du konfigurera rapportserverns autentiseringstyp till RSWindowsNegotiate. Du gör det i filen rsreportserver.config.

<AuthenticationTypes>  
    <RSWindowsNegotiate />  
    <RSWindowsKerberos />  
    <RSWindowsNTLM />  
</AuthenticationTypes>

Mer information finns i Ändra en Reporting Services-konfigurationsfil och Konfigurera Windows-autentisering på en rapportserver.

konfiguration av Active Directory Federation Services (AD FS) (ADFS)

Du måste konfigurera ADFS på en Windows 2016-server i din miljö. Konfigurationen kan göras via Serverhanteraren och välja Lägg till roller och funktioner under Hantera. Mer information finns i Active Directory Federation Services (AD FS).

Skapa en programgrupp

På skärmen AD FS-hantering vill du skapa en programgrupp för Reporting Services, som innehåller information för Power BI Mobile-apparna.

Du kan skapa programgruppen med följande steg.

  1. Högerklicka på Programgrupper i AD FS-hanteringsappen och välj Lägg till programgrupp...

    ADFS Add Application

  2. I guiden Lägg till programgrupp anger du ett namn för programgruppen och väljer Internt program som har åtkomst till ett webb-API.

    ADFS Application Group Wizard 01

  3. Välj Nästa.

  4. Ange ett namn för programmet som du lägger till.

  5. Klient-ID genereras automatiskt för din, men ange i 484d54fc-b481-4eee-9505-0258a1913020 för både iOS och Android.

  6. Du vill lägga till följande omdirigerings-URL:er:

    Poster för Power BI Mobile – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilems

    Android Apps behöver bara följande steg:
    urn:ietf:wg:oauth:2.0:oob

    ADFS Application Group Wizard 02

  7. Välj Nästa.

  8. Ange URL:en för rapportservern. URL:en är den externa URL:en som kommer att träffa din webb-Programproxy. Det bör vara i följande format.

    Kommentar

    Den här URL:en är skiftlägeskänslig!

    https://<report server url>/reports

    ADFS Application Group Wizard 03

  9. Välj Nästa.

  10. Välj den åtkomstkontrollprincip som passar organisationens behov.

    ADFS Application Group Wizard 04

  11. Välj Nästa.

  12. Välj Nästa.

  13. Välj Nästa.

  14. Välj Stäng.

När du är klar bör du se att egenskaperna för din programgrupp ser ut ungefär så här.

ADFS Application Group Wizard

Wap-konfiguration (Web Programproxy)

Du vill aktivera Windows-rollen Web Programproxy (roll) på en server i din miljö. Den måste finnas på en Windows 2016-server. Mer information finns i Web Programproxy in Windows Server 2016 and Publishing Applications using AD FS Preauthentication (Webb Programproxy i Windows Server 2016 och Publiceringsprogram med AD FS-förautentisering).

Konfiguration av begränsad delegering

För att kunna övergå från OAuth-autentisering till Windows-autentisering måste vi använda begränsad delegering med protokollövergång. Detta är en del av Kerberos-konfigurationen. Vi har redan definierat Reporting Services SPN i Reporting Services-konfigurationen.

Vi måste konfigurera begränsad delegering på WAP Server-datorkontot i Active Directory. Du kan behöva arbeta med en domänadministratör om du inte har behörighet till Active Directory.

Om du vill konfigurera begränsad delegering vill du utföra följande steg.

  1. Starta Active Directory - användare och datorer på en dator där Active Directory-verktygen är installerade.

  2. Leta reda på datorkontot för WAP-servern. Som standard finns den i datorcontainern.

  3. Högerklicka på WAP-servern och gå till Egenskaper.

  4. Välj fliken Delegering .

  5. Välj Lita på den här datorn för delegering till angivna tjänster och sedan Använd alla autentiseringsprotokoll.

    WAP Constrained

    Detta konfigurerar begränsad delegering för det här WAP Server-datorkontot. Sedan måste vi ange vilka tjänster som den här datorn får delegera till.

  6. Välj Lägg till... under rutan Tjänster.

    WAP Constrained 02

  7. Välj Användare eller datorer...

  8. Ange det tjänstkonto som du använder för Reporting Services. Det här kontot är det konto som du lade till SPN i i Reporting Services-konfigurationen.

  9. Välj SPN för Reporting Services och välj sedan OK.

    Kommentar

    Du kanske bara ser NetBIOS SPN. Den väljer faktiskt både NetBIOS- och FQDN-SPN om båda finns.

    WAP Constrained 03

  10. Resultatet bör se ut ungefär så här när kryssrutan Expanderad är markerad .

    WAP Constrained 04

  11. Välj OK.

Lägg till WAP-program

Du kan publicera program i hanteringskonsolen för rapportåtkomst, men vi vill skapa programmet via PowerShell. Här är kommandot för att lägga till programmet.

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl https://ContosoSSRS/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
Parameter Kommentarer
ADFSRelyingPartyName Webb-API-namnet som du skapade som en del av programgruppen i ADFS.
ExternalCertificateThumbprint Certifikatet som ska användas för externa användare. Det är viktigt att certifikatet är giltigt på mobila enheter och kommer från en betrodd certifikatutfärdare.
BackendServerUrl URL:en till rapportservern från WAP-servern. Om WAP-servern finns i en DMZ kan du behöva använda ett fullständigt domännamn. Kontrollera att du kan nå den här URL:en från webbläsaren på WAP-servern.
BackendServerAuthenticationSPN DET SPN som du skapade som en del av Reporting Services-konfigurationen.

Ange integrerad autentisering för WAP-programmet

När du har lagt till WAP-programmet måste du ange att BackendServerAuthenticationMode ska använda IntegratedWindowsAuthentication. Du behöver ID:t från WAP-programmet för att kunna ange det.

Get-WebApplicationProxyApplication "Contoso Reports" | fl

Add Application Group

Kör följande kommando för att ange BackendServerAuthenticationMode med hjälp av ID:t för WAP-programmet.

Set-WebApplicationProxyApplication -id 30198C7F-DDE4-0D82-E654-D369A47B1EE5 -BackendServerAuthenticationMode IntegratedWindowsAuthentication

Add Application Group wizard

Anslut med Power BI-mobilappen

I Power BI-mobilappen vill du ansluta till din Reporting Services-instans. Det gör du genom att ange den externa URL:en för ditt WAP-program.

Type the server address

När du väljer Anslut dirigeras du till inloggningssidan för ADFS. Ange giltiga autentiseringsuppgifter för din domän.

Sign-in to ADFS

När du har valt Logga in visas elementen från Reporting Services-servern.

Multifaktorautentisering

Du kan aktivera multifaktorautentisering för att aktivera ytterligare säkerhet för din miljö. Mer information finns i Konfigurera Azure MFA som autentiseringsprovider med AD FS.

Felsökning

Du får felet "Det gick inte att logga in på SSRS-servern"

Du kan konfigurera Fiddler att fungera som proxy för dina mobila enheter för att se hur långt begäran har gjorts. Om du vill aktivera en Fiddler-proxy för din telefonenhet måste du konfigurera CertMaker för iOS och Android på datorn som kör Fiddler. Tillägget kommer från Telerik för Fiddler.

Om inloggningen fungerar när du använder Fiddler kan du ha ett certifikatproblem med wap-programmet eller ADFS-servern.