Bruke OAuth til å koble til rapportserver for Power BI og SSRS

Du kan bruke OAuth til å koble til rapportserver for Power BI og Reporting Services for å vise mobilrapporter eller KPI-er. Lær hvordan du konfigurerer miljøet til å støtte OAuth-godkjenning med Power BI-mobilappen for å koble til rapportserver for Power BI og SQL Server Reporting Services 2016 eller nyere.

Merk

Visning av Power BI-rapporter som driftes i rapportserver for Power BI å bruke WAP til å godkjenne, støttes nå for iOS- og Android-apper.

Forutsetninger

Windows Server 2016 kreves for serverne Web Programproxy (WAP) og Active Directory Federation Services (ADFS). Du trenger ikke å ha et funksjonsnivådomene for Windows 2016.

For at brukere skal kunne legge til en rapportservertilkobling i Power BI-mobilappen, må du gi dem tilgang til rapportserverens hjemmemappe.

Dns-konfigurasjon (Domain Name Services)

Den offentlige nettadressen vil være som Power BI-mobilappen kobler til. Det kan for eksempel se omtrent slik ut.

https://reports.contoso.com

DNS-posten for rapporter til den offentlige IP-adressen til Web Programproxy-serveren (WAP). Du må også konfigurere en offentlig DNS-post for ADFS-serveren. Du kan for eksempel ha konfigurert ADFS-serveren med følgende URL-adresse.

https://fs.contoso.com

DNS-posten for fs til den offentlige IP-adressen til Web Programproxy (WAP)-serveren slik den vil bli publisert som en del av WAP-programmet.

Sertifikater

Du må konfigurere sertifikater for både WAP-programmet og ADFS-serveren. Begge disse sertifikatene må være en del av en gyldig sertifiseringsinstans som mobilenhetene gjenkjenner.

Reporting Services-konfigurasjon

Det er ikke mye å konfigurere på Reporting Services-siden. Du må bare sørge for at:

Tjenestekontohavernavn (SPN)

SPN er en unik identifikator for en tjeneste som bruker Kerberos-godkjenning. Du må sørge for at du har en skikkelig HTTP SPN til stede for rapportserveren.

Hvis du vil ha informasjon om hvordan du konfigurerer riktig tjenestekontohavernavn (SPN) for rapportserveren, kan du se Registrere et tjenestekontohavernavn (SPN) for en rapportserver.

Aktivering av forhandlegodkjenning

Hvis du vil at en rapportserver skal kunne bruke Kerberos-godkjenning, må du konfigurere godkjenningstypen for rapportserveren til å være RSWindowsNegotiate. Du gjør det i filen rsreportserver.config.

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

Hvis du vil ha mer informasjon, kan du se Endre en reporting services-konfigurasjonsfil og konfigurere Windows-godkjenning på en rapportserver.

Konfigurasjon av Active Directory Federation Services (ADFS)

Du må konfigurere ADFS på en Windows 2016-server i miljøet. Konfigurasjonen kan gjøres via Serverbehandling og velge Legg til roller og funksjoner under Administrer. Hvis du vil ha mer informasjon, kan du se Active Directory Federation Services.

Opprette en programgruppe

I skjermbildet AD FS Management vil du opprette en programgruppe for Reporting Services, som inneholder informasjon for Power BI for mobilenheter-appene.

Du kan opprette programgruppen med følgende fremgangsmåte.

  1. Høyreklikk programgrupper i AD FS Management-appen, og velg Legg til programgruppe...

    ADFS Add Application

  2. Angi et navn for programgruppen i veiviseren legg til programgruppe, og velg Opprinnelig program som har tilgang til en web-API.

    ADFS Application Group Wizard 01

  3. Velg Neste.

  4. Angi et navn for programmet du legger til.

  5. Mens klient-ID-en genereres automatisk for deg, skriver du inn i 484d54fc-b481-4eee-9505-0258a1913020 for både iOS og Android.

  6. Du vil legge til følgende url-adresser for omadressering:

    Oppføringer for Power BI for mobilenheter – 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-apper trenger bare følgende trinn:
    urn:ietf:wg:oauth:2.0:oob

    ADFS Application Group Wizard 02

  7. Velg Neste.

  8. Angi URL-adressen for rapportserveren. URL-adressen er den eksterne URL-adressen som treffer web-Programproxy. Det bør være i følgende format.

    Merk

    Denne URL-adressen skiller mellom store og små bokstaver!

    https://<report server url>/reports

    ADFS Application Group Wizard 03

  9. Velg Neste.

  10. Velg tilgangskontrollpolicyen som passer til organisasjonens behov.

    ADFS Application Group Wizard 04

  11. Velg Neste.

  12. Velg Neste.

  13. Velg Neste.

  14. Velg Lukk.

Når du er ferdig, skal du se at egenskapene for programgruppen ser ut som følgende.

ADFS Application Group Wizard

Web Programproxy (WAP)-konfigurasjon

Du vil aktivere rollen Web Programproxy (Rolle) Windows på en server i miljøet. Det må være på en Windows 2016-server. Hvis du vil ha mer informasjon, kan du se Web Programproxy i Windows Server 2016 og Publiseringsprogrammer ved hjelp av AD FS Preauthentication.

Konfigurert avgrenset delegering

For å gå over fra OAuth-godkjenning til Windows-godkjenning, må vi bruke avgrenset delegering med protokollovergang. Dette er en del av Kerberos-konfigurasjonen. Vi har allerede definert Reporting Services SPN i Reporting Services-konfigurasjonen.

Vi må konfigurere avgrenset delegering på WAP Server-maskinkontoen i Active Directory. Du må kanskje samarbeide med en domeneadministrator hvis du ikke har rettigheter til Active Directory.

Hvis du vil konfigurere avgrenset delegering, vil du gjøre følgende trinn.

  1. Start Active Directory-brukere og -datamaskiner på en maskin der Active Directory-verktøyene er installert.

  2. Finn maskinkontoen for WAP-serveren. Som standard vil den være i datamaskinbeholderen.

  3. Høyreklikk WAP-serveren, og gå til Egenskaper.

  4. Velg Delegering-fanen.

  5. Velg Klarer denne datamaskinen for delegering bare til angitte tjenester , og bruk deretter en hvilken som helst godkjenningsprotokoll.

    WAP Constrained

    Dette konfigurerer avgrenset delegering for denne WAP Server-maskinkontoen. Vi må da angi tjenestene som denne maskinen har tillatelse til å delegere til.

  6. Velg Legg til... under tjenesteboksen.

    WAP Constrained 02

  7. Velg brukere eller datamaskiner...

  8. Angi tjenestekontoen du bruker for Reporting Services. Denne kontoen er kontoen du har lagt spn til i Reporting Services-konfigurasjonen.

  9. Velg SPN for Reporting Services, og velg deretter OK.

    Merk

    Du kan bare se NetBIOS SPN. Det vil faktisk velge både NetBIOS og FQDN SPN-er hvis begge eksisterer.

    WAP Constrained 03

  10. Resultatet skal se omtrent slik ut når det er merket av for Utvidet .

    WAP Constrained 04

  11. Velg OK.

Legg til WAP-program

Selv om du kan publisere programmer i administrasjonskonsollen for rapporttilgang, ønsker vi å opprette programmet via PowerShell. Her er kommandoen for å legge til 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 Web-API-navnet du opprettet som en del av programgruppen i ADFS.
ExternalCertificateThumbprint Sertifikatet som skal brukes for de eksterne brukerne. Det er viktig at sertifikatet er gyldig på mobile enheter og kommer fra en klarert sertifiseringsinstans.
BackendServerUrl URL-adressen til rapportserveren fra WAP-serveren. Hvis WAP-serveren er i en DMZ, må du kanskje bruke et fullstendig domenenavn. Kontroller at du kan trykke på denne nettadressen fra nettleseren på WAP-serveren.
BackendServerAuthenticationSPN SPN-en du opprettet som en del av Reporting Services-konfigurasjonen.

Angi integrert godkjenning for WAP-programmet

Når du har lagt til WAP-programmet, må du angi BackendServerAuthenticationMode til å bruke IntegratedWindowsAuthentication. Du trenger ID-en fra WAP-programmet for å kunne angi den.

Get-WebApplicationProxyApplication "Contoso Reports" | fl

Add Application Group

Kjør følgende kommando for å angi BackendServerAuthenticationMode ved hjelp av ID-en for WAP-programmet.

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

Add Application Group wizard

Koble til med Power BI for mobilenheter-appen

I Power BI-mobilappen vil du koble til Reporting Services-forekomsten. Dette gjør du ved å oppgi den eksterne URL-adressen for WAP-programmet.

Type the server address

Når du velger Koble til, blir du omdirigert til påloggingssiden for ADFS. Angi gyldig legitimasjon for domenet.

Sign-in to ADFS

Når du har valgt Logg på, ser du elementene fra Reporting Services-serveren.

Flerfaktorautentisering

Du kan aktivere godkjenning med flere faktorer for å aktivere ekstra sikkerhet for miljøet. Hvis du vil ha mer informasjon, kan du se Konfigurere Azure MFA som godkjenningsleverandør med AD FS.

Feilsøking

Du får feilmeldingen «Kan ikke logge på SSRS-server»

Du kan konfigurere Fiddler til å fungere som en proxy for mobile enheter for å se hvor langt forespørselen kom. Hvis du vil aktivere en Fiddler-proxy for telefonenheten, må du konfigurere CertMaker for iOS og Android på maskinen som kjører Fiddler. Tillegget er fra Telerik for Fiddler.

Hvis påloggingen fungerer når du bruker Fiddler, kan det hende du har et sertifikatproblem med wap-programmet eller ADFS-serveren.