Uso di OAuth per connettersi a Server di report di Power BI e SSRS

È possibile usare OAuth per connettersi a Server di report di Power BI e Reporting Services per visualizzare report per dispositivi mobili o indicatori KPI. Informazioni su come configurare l'ambiente per supportare l'autenticazione OAuth con l'app Power BI per dispositivi mobili per connettersi a Server di report di Power BI e SQL Server Reporting Services 2016 o versione successiva.

Nota

La visualizzazione dei report di Power BI ospitati in Server di report di Power BI l'uso di WAP per l'autenticazione è ora supportata per le app iOS e Android.

Requisiti

Windows Server 2016 è necessario per i server Web Application Proxy (WAP) e Active Directory Federation Services (ADFS). Non è necessario avere un dominio a livello di funzionalità di Windows 2016.

Per consentire agli utenti di aggiungere una connessione al server di report all'app Power BI per dispositivi mobili, è necessario concedere loro l'accesso alla home cartella del server di report.

Configurazione di Domain Name Services (DNS)

L'URL pubblico sarà che l'app Power BI per dispositivi mobili si connetterà. Ad esempio, può essere simile al seguente.

https://reports.contoso.com

Il record DNS per i report all'indirizzo IP pubblico del server Proxy applicazione Web (WAP). È anche necessario configurare un record DNS pubblico per il server ADFS. Ad esempio, è possibile che il server ADFS sia stato configurato con l'URL seguente.

https://fs.contoso.com

Il record DNS per fs all'indirizzo IP pubblico del server Proxy applicazione Web (WAP) come verrà pubblicato come parte dell'applicazione WAP.

Certificati

È necessario configurare i certificati sia per l'applicazione WAP che per il server ADFS. Entrambi questi certificati devono far parte di un'autorità di certificazione valida riconosciuta dai dispositivi mobili.

Configurazione di Reporting Services

Non c'è molto da configurare sul lato Reporting Services. È sufficiente assicurarsi che:

  • Esiste un nome dell'entità servizio (SPN) valido per consentire la corretta esecuzione dell'autenticazione Kerberos.
  • Il server Reporting Services è abilitato per negoziare l'autenticazione.
  • Gli utenti hanno accesso alla home folder del server di report.

Nome dell'entità servizio (SPN)

Il nome SPN è un identificatore univoco per un servizio che usa l'autenticazione Kerberos. È necessario assicurarsi di disporre di un nome SPN HTTP appropriato per il server di report.

Per informazioni su come configurare il nome dell'entità servizio (SPN) appropriato per il server di report, vedere Registrare un nome dell'entità servizio (SPN) per un server di report.

Abilitazione dell'autenticazione negoziata

Per consentire a un server di report di usare l'autenticazione Kerberos, è necessario configurare il tipo di autenticazione del server di report in modo che sia RSWindowsNegotiate. Questa operazione viene eseguita nel file rsreportserver.config.

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

Per altre informazioni, vedere Modificare un file di configurazione di Reporting Services e Configurare l'autenticazione di Windows in un server di report.

Configurazione di Active Directory Federation Services (ADFS)

È necessario configurare ADFS in un server Windows 2016 all'interno dell'ambiente. La configurazione può essere eseguita tramite Server Manager e selezionando Aggiungi ruoli e funzionalità in Gestisci. Per altre informazioni, vedere Active Directory Federation Services.

Creare un gruppo di applicazioni

Nella schermata Gestione AD FS si vuole creare un gruppo di applicazioni per Reporting Services, che includerà informazioni per le app Power BI per dispositivi mobili.

È possibile creare il gruppo di applicazioni seguendo questa procedura.

  1. Nell'app Gestione AD FS fare clic con il pulsante destro del mouse su Gruppi di applicazioni e scegliere Aggiungi gruppo di applicazioni...

    ADFS Add Application

  2. Nella Procedura guidata Aggiungi gruppo di applicazioni specificare un nome per il gruppo di applicazioni e selezionare Applicazione nativa che accede a un'API Web.

    ADFS Application Group Wizard 01

  3. Seleziona Avanti.

  4. Specificare un nome per l'applicazione da aggiungere.

  5. Mentre l'ID client verrà generato automaticamente per l'utente, immettere in 484d54fc-b481-4eee-9505-0258a1913020 sia per iOS che per Android.

  6. Si vogliono aggiungere gli URL di reindirizzamento seguenti:

    Voci per Power BI per dispositivi mobili - 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

    Per le app Android sono necessari solo i passaggi seguenti:
    urn:ietf:wg:oauth:2.0:oob

    ADFS Application Group Wizard 02

  7. Seleziona Avanti.

  8. Specificare l'URL per il server di report. L'URL è l'URL esterno che raggiungerà il proxy applicazione Web. Deve essere nel formato seguente.

    Nota

    Questo URL fa distinzione tra maiuscole e minuscole.

    https://<report server url>/reports

    ADFS Application Group Wizard 03

  9. Seleziona Avanti.

  10. Scegliere i criteri di Controllo di accesso adatti alle esigenze dell'organizzazione.

    ADFS Application Group Wizard 04

  11. Seleziona Avanti.

  12. Selezionare Avanti.

  13. Seleziona Avanti.

  14. Selezionare Chiudi.

Al termine, le proprietà del gruppo di applicazioni dovrebbero essere simili alle seguenti.

ADFS Application Group Wizard

Configurazione del proxy applicazione Web (WAP)

Si vuole abilitare il ruolo Windows proxy applicazione Web (ruolo) in un server nell'ambiente. Deve trovarsi in un server Windows 2016. Per altre informazioni, vedere Proxy applicazione Web in Windows Server 2016 e Pubblicazione di applicazioni con la preautenticazione di AD FS.

Configurazione della delega vincolata

Per passare dall'autenticazione OAuth alla autenticazione di Windows, è necessario usare la delega vincolata con la transizione del protocollo. Questa è parte della configurazione Kerberos. È già stato definito il nome SPN di Reporting Services all'interno della configurazione di Reporting Services.

È necessario configurare la delega vincolata nell'account computer del server WAP all'interno di Active Directory. Potrebbe essere necessario collaborare con un amministratore di dominio se non si dispone dei diritti per Active Directory.

Per configurare la delega vincolata, seguire questa procedura.

  1. In un computer in cui sono installati gli strumenti di Active Directory avviare Utenti e computer di Active Directory.

  2. Trovare l'account del computer per il server WAP. Per impostazione predefinita, si troverà nel contenitore computer.

  3. Fare clic con il pulsante destro del mouse sul server WAP e passare a Proprietà.

  4. Selezionare la scheda Delega .

  5. Selezionare Considera attendibile il computer per la delega solo ai servizi specificati e quindi Usa qualsiasi protocollo di autenticazione.

    WAP Constrained

    In questo modo viene impostata la delega vincolata per questo account computer del server WAP. È quindi necessario specificare i servizi a cui il computer è autorizzato a delegare.

  6. Selezionare Aggiungi... nella casella servizi.

    WAP Constrained 02

  7. Selezionare Utenti o computer...

  8. Immettere l'account del servizio usato per Reporting Services. Questo account è l'account a cui è stato aggiunto il nome SPN all'interno della configurazione di Reporting Services.

  9. Selezionare il nome SPN per Reporting Services e quindi selezionare OK.

    Nota

    È possibile che venga visualizzato solo il nome SPN NetBIOS. In realtà selezionerà sia i nomi SPN NetBIOS che FQDN, se presenti entrambi.

    WAP Constrained 03

  10. Il risultato dovrebbe essere simile al seguente quando la casella di controllo Espansa è selezionata.

    WAP Constrained 04

  11. Seleziona OK.

Aggiungere un'applicazione WAP

Anche se è possibile pubblicare applicazioni all'interno della Console di gestione degli accessi report, è consigliabile creare l'applicazione tramite PowerShell. Ecco il comando per aggiungere l'applicazione.

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
Parametro Commenti
ADFSRelyingPartyName Nome dell'API Web creato come parte del gruppo di applicazioni all'interno di ADFS.
ExternalCertificateThumbprint Certificato da usare per gli utenti esterni. È importante che il certificato sia valido nei dispositivi mobili e provengano da un'autorità di certificazione attendibile.
BackendServerUrl URL del server di report dal server WAP. Se il server WAP si trova in una rete perimetrale, potrebbe essere necessario usare un nome di dominio completo. Assicurarsi di poter raggiungere questo URL dal Web browser nel server WAP.
BackendServerAuthenticationSPN Nome SPN creato come parte della configurazione di Reporting Services.

Impostazione dell'autenticazione integrata per l'applicazione WAP

Dopo aver aggiunto l'applicazione WAP, è necessario impostare BackendServerAuthenticationMode per usare IntegratedWindowsAuthentication. Per impostarlo, è necessario l'ID dell'applicazione WAP.

Get-WebApplicationProxyApplication "Contoso Reports" | fl

Add Application Group

Eseguire il comando seguente per impostare BackendServerAuthenticationMode usando l'ID dell'applicazione WAP.

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

Add Application Group wizard

Connessione con l'app Power BI per dispositivi mobili

All'interno dell'app Power BI per dispositivi mobili si vuole connettersi all'istanza di Reporting Services. A tale scopo, specificare l'URL esterno per l'applicazione WAP.

Type the server address

Quando si seleziona Connessione, si verrà indirizzati alla pagina di accesso ad ADFS. Immettere le credenziali valide per il dominio.

Sign-in to ADFS

Dopo aver selezionato Accedi, vengono visualizzati gli elementi del server Reporting Services.

Autenticazione a più fattori

È possibile abilitare l'autenticazione a più fattori per abilitare la sicurezza aggiuntiva per l'ambiente in uso. Per altre informazioni, vedere Configurare Azure MFA come provider di autenticazione con AD FS.

Risoluzione dei problemi

Viene visualizzato l'errore "Non è stato possibile accedere al server SSRS"

È possibile configurare Fiddler in modo da fungere da proxy per i dispositivi mobili per vedere quanto è stata effettuata la richiesta. Per abilitare un proxy Fiddler per il dispositivo telefonico, è necessario configurare CertMaker per iOS e Android nel computer che esegue Fiddler. Il componente aggiuntivo proviene da Telerik per Fiddler.

Se l'accesso funziona correttamente quando si usa Fiddler, è possibile che si verifichi un problema di certificato con l'applicazione WAP o il server ADFS.