Uso di OAuth per connettersi a Reporting ServicesUsing OAuth to connect to Reporting Services

Informazioni su come configurare l'ambiente per supportare l'autenticazione OAuth con le app Power BI per dispositivi mobili per connettersi a Reporting Services 2016 o versioni successive.Learn how to configure your environment to support OAuth authentication with the Power BI mobile app in order to connect to Reporting Services 2016 or later.

In passato, l'app Power BI per dispositivi mobili supportava solo l'autenticazione di base, via HTTPS, a Reporting Services per visualizzare report per dispositivi mobili o indicatori KPI.In the past, the Power BI mobile app only supported basic authentication, over HTTPS, to Reporting Services in order to display Mobile Reports or KPIs. Molte organizzazioni non consentono questo tipo di configurazione a causa di problemi di sicurezza.Many organizations do not allow this type of configuration due to security concerns. Con un aggiornamento dell'app Power BI per dispositivi mobili, è ora possibile usare OAuth per connettersi a Reporting Services.With an update to the Power BI mobile app, you can now use OAuth to connect to Reporting Services. Windows Server 2016 offre alcuni miglioramenti per il ruolo di Proxy applicazione Web per consentire questo tipo di autenticazione.Windows Server 2016 provides some improvements to the Web Application Proxy role to allow this type of authentication.

RequisitiRequirements

Windows Server 2016 è necessario per i server Proxy applicazione Web (WAP) e Active Directory Federation Services (ADFS).Windows Server 2016 is required for the Web Application Proxy (WAP) and Active Directory Federation Services (ADFS) servers. Non è necessario avere un dominio di livello funzionale di Windows 2016.You do not need to have a Windows 2016 functional level domain.

Configurazione Domain Name Services (DNS)Domain Name Services (DNS) configuration

È necessario determinare a quale URL pubblico si connetterà l'app Power BI per dispositivi mobili.You will need to determine what the public URL will be that the Power BI mobile app will connect to. Ad esempio, potrebbe essere simile a quello indicato di seguito.For example, it may look similar to the following.

https://reports.contoso.com

È necessario indirizzare il record DNS per i report all'indirizzo IP pubblico del server Proxy applicazione Web (WAP).You will need to point your DNS record for reports to the public IP address of the Web Application Proxy (WAP) server. Sarà anche necessario configurare un record DNS pubblico per il server ADFS.You will also need to configure a public DNS record for your ADFS server. Il server ADFS, ad esempio, potrebbe essere stato configurato con l'URL seguente.For example, you may have configured the ADFS server with the following URL.

https://fs.contoso.com

È necessario indirizzare il record DNS per i fs all'indirizzo IP pubblico del server Proxy applicazione Web (WAP), perché verrà pubblicato come parte dell'applicazione WAP.You will need to point your DNS record for fs to the public IP address of the Web Application Proxy (WAP) server as it will be published as part of the WAP application.

CertificatiCertificates

È necessario configurare i certificati per l'applicazione WAP e il server ADFS.You will need to configure certificates for both the WAP application and the ADFS server. Entrambi questi certificati devono essere parte di un'autorità di certificazione valida e riconosciuta dai dispositivi mobili.Both of these certificates must be part of a valid certificate authority that your mobile devices recognize.

Configurazione di Reporting ServicesReporting Services configuration

Per quanto riguarda Reporting Services, non c'è molto da configurare.There isn’t much to configure on the Reporting Services side. È sufficiente assicurarsi di avere un nome dell'entità servizio (SPN) valido per abilitare l'autenticazione Kerberos corretta e che il server di Reporting Services sia abilitato per la negoziazione dell'autenticazione.We just need to make sure that we have a valid Service Principal Name (SPN) to enable the proper Kerberos authentication to occur and that the Reporting Services server is enabled for negotiate authentication.

Nome dell'entità servizio (SPN)Service Principal Name (SPN)

Il nome dell'entità servizio (SPN) è un identificatore univoco per un servizio che usa l'autenticazione Kerberos.The SPN is a unique identifier for a service that uses Kerberos authentication. È necessario assicurarsi di avere un nome SPN HTTP corretto per il server di report.You will need to make sure you have a proper HTTP SPN present for your report server.

Per informazioni su come configurare il corretto nome dell'entità servizio (SPN) per il server di report, vedere Registrare un nome dell'entità servizio (SPN) per un server di report.For information on how to configure the proper Service Principal Name (SPN) for your report server, see Register a Service Principal Name (SPN) for a Report Server.

Abilitare la negoziazione dell'autenticazioneEnabling negotiate authentication

Per abilitare l'uso dell'autenticazione Kerberos in un server di report è necessario configurare il tipo di autenticazione del server di report come RSWindowsNegotiate.To enable a report server to use Kerberos authentication, you will need to configure the Authentication Type of the report server to be RSWindowsNegotiate. Questa operazione viene eseguita all'interno del file rsreportserver.config.This is done within the rsreportserver.config file.

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

Per altre informazioni, vedere Modificare un file di configurazione di Reporting Services e Configurare l'autenticazione di Windows nel server di report.For more information, see Modify a Reporting Services Configuration File and Configure Windows Authentication on a Report Server.

Configurazione di Active Directory Federation Services (ADFS)Active Directory Federation Services (ADFS) Configuration

È necessario configurare ADFS in un server Windows 2016 all'interno dell'ambiente.You will need to configure ADFS on a Windows 2016 server within your environment. Questa operazione può essere eseguita usando Server Manager e selezionando Aggiungi ruoli e funzionalità in Gestione.This can be done through the Server Manager and selecting Add Roles and Features under Manage. Per altre informazioni, vedere Active Directory Federation Services.For more information, see Active Directory Federation Services.

Creare un gruppo di applicazioniCreate an application group

All'interno della schermata di gestione di ADFS, è consigliabile creare un gruppo di applicazioni per Reporting Services, che includerà informazioni per le app Power BI per dispositivi mobili.Within the AD FS Management screen, you will want to create an application group for Reporting Services which will include information for the Power BI Mobile apps.

È possibile creare il gruppo di applicazioni con i passaggi seguenti.You can create the application group with the following steps.

  1. All'interno dell'app di gestione di ADFS, fare clic con il pulsante destro del mouse su Gruppi di applicazioni e selezionare Aggiungi gruppo di applicazioni…Within the AD FS Management app, right click Application Groups and select Add Application Group…

  2. Nell'aggiunta guidata del gruppo di applicazioni, fornire un nome per il gruppo di applicazioni e selezionare Applicazione nativa che accede a un'API Web.Within the Add Application Group Wizard, provide a name for the application group and select Native application accessing a web API.

  3. Fare clic su Avanti.Select Next.
  4. Fornire un nome per l'applicazione che si sta aggiungendo.Provide a name for the application you are adding.
  5. Mentre il ID client verrà generato automaticamente, immettere 484d54fc-b481-4eee-9505-0258a1913020 per iOS e Android.While the Client ID will be auto generated for your, enter in 484d54fc-b481-4eee-9505-0258a1913020 for both iOS and Android.
  6. È consigliabile aggiungere i seguenti gli URL di reindirizzamento:You will want to add the following Redirect URLs:

    Voci per Power BI per dispositivi mobili - iOS:Entries for Power BI Mobile – iOS:
    msauth://code/mspbi-adal://com.microsoft.powerbimobilemsauth://code/mspbi-adal://com.microsoft.powerbimobile
    msauth://code/mspbi-adalms://com.microsoft.powerbimobilemsmsauth://code/mspbi-adalms://com.microsoft.powerbimobilems
    mspbi-adal://com.microsoft.powerbimobilemspbi-adal://com.microsoft.powerbimobile
    mspbi-adalms://com.microsoft.powerbimobilemsmspbi-adalms://com.microsoft.powerbimobilems

    Le app Android necessitano solo degli elementi seguenti:Android Apps only need the following:
    urn:ietf:wg:oauth:2.0:ooburn:ietf:wg:oauth:2.0:oob

  7. Fare clic su Avanti.Select Next.
  8. Fornire l'URL del server di report.Supply the URL for your Report Server. Questo è l'URL esterno che raggiungerà il Proxy di applicazione Web.This is the external URL that will hit your Web Application Proxy. Deve essere nel formato seguente.It should be in the following format.

    Nota

    L'URL rispetta la distinzione tra maiuscole e minuscole.This URL is case sensitive!

    https:///reportshttps:///reports

  9. Fare clic su Avanti.Select Next.
  10. Scegliere i Criteri di controllo di accesso idonei alle esigenze della propria organizzazione.Choose the Access Control Policy that fits your organization’s needs.

  11. Fare clic su Avanti.Select Next.
  12. Fare clic su Avanti.Select Next.
  13. Fare clic su Avanti.Select Next.
  14. Selezionare Chiudi.Select Close.

Al termine, le proprietà del gruppo di applicazioni avranno un aspetto simile al seguente.When completed, you should see the properties of your application group look similar to the following.

Configurazione del Proxy applicazione Web (WAP)Web Application Proxy (WAP) Configuration

È consigliabile abilitare il ruolo di Proxy applicazione Web Windows in un server nell'ambiente in uso.You will want to enable the Web Application Proxy (Role) Windows role on a server in your environment. Deve essere in un server Windows 2016.This must be on a Windows 2016 server. Per altre informazioni, vedere Proxy di applicazione Web in Windows Server 2016 e Pubblicazione di applicazioni con la preautenticazione di ADFS.For more information, see Web Application Proxy in Windows Server 2016 and Publishing Applications using AD FS Preauthentication.

Configurazione della delega vincolataConstrained delegation configuration

Per passare dall'autenticazione OAuth all'autenticazione di Windows, è necessario usare la delega vincolata con transizione del protocollo.In order to transition from OAuth authentication to Windows authentication, we need to use constrained delegation with protocol transitioning. Fa parte della configurazione di Kerberos.This is part of the Kerberos configuration. È già stato definito il nome SPN di Reporting Services all'interno della configurazione di Reporting Services.We already defined the Reporting Services SPN within the Reporting Services configuration.

È necessario configurare la delega vincolata nell'account del computer Server WAP all'interno di Active Directory.We need to configure constrained delegation on the WAP Server machine account within Active Directory. Potrebbe essere necessario collaborare con un amministratore di dominio se non si hanno i diritti per Active Directory.You may need to work with a domain administrator if you don’t have rights to Active Directory.

Per configurare la delega vincolata, si dovranno eseguire le operazioni seguenti.To configure constrained delegation, you will want to do the following.

  1. Sul computer in cui sono installati gli strumenti di Active Directory, avviare Utenti e computer di Active Directory.On a machine that has the Active Directory tools installed, launch Active Directory Users and Computers.
  2. Trovare l'account del computer per il server WAP.Find the machine account for your WAP server. Per impostazione predefinita, si troverà nel contenitore computer.By default, this will be in the computers container.
  3. Fare clic con il pulsante destro sul server WAP e passare a Proprietà.Right click the WAP server and go to Properties.
  4. Selezionare la scheda Delega.Select the Delegation tab.
  5. Selezionare Computer attendibile per la delega solo ai servizi specificati e quindi Utilizza un qualsiasi protocollo di autenticazione.Select Trust this computer for delegation to specified services only and then Use any authentication protocol.

    Consente di impostare una delega vincolata per l'account di computer Server WAP.This sets up constrained delegation for this WAP Server machine account. È quindi necessario specificare i servizi che questo computer è autorizzato a delegare.We then need to specify the services that this machine is allowed to delegate to.

  6. Selezionare Aggiungi…Select Add… nella casella Servizi.under the services box.

  7. Selezionare Utenti o computer…Select Users or Computers…
  8. Immettere l'account del servizio che si sta usando per Reporting Services.Enter the service account that you are using for Reporting Services. Si tratta dell'account a cui è stato aggiunto il nome SPN all'interno della configurazione di Reporting Services.This is the account you added the SPN to within the Reporting Services configuration.
  9. Selezionare il nome SPN per Reporting Services e quindi OK.Select the SPN for Reporting Services and then select OK.

    Nota

    Potrebbe essere visualizzato solo il nome SPN di NetBIOS.You may only see the NetBIOS SPN. Se esistono entrambi, verranno effettivamente selezionati i nomi SPN di NetBIOS e FQDN.It will actually select both the NetBIOS and FQDN SPNs if they both exist.

  10. Il risultato dovrebbe essere simile al seguente quando la casella di controllo Espansa è selezionata.The result should look similar to the following when the Expanded checkbox is checked.

  11. Selezionare OK.Select OK.

Aggiungere applicazione WAPAdd WAP Application

Mentre è possibile pubblicare applicazioni nella console di gestione di accesso ai report, è consigliabile creare l'applicazione con PowerShell.While you can publish applications within the Report Access Management Console, we will want to create the application via PowerShell. Ecco il comando per aggiungere l'applicazione.Here is the command to add the application.

Add-WebApplicationProxyApplication -Name "Contoso Reports" -ExternalPreauthentication ADFS -ExternalUrl https://reports.contoso.com/reports/ -ExternalCertificateThumbprint "0ff79c75a725e6f67e3e2db55bdb103efc9acb12" -BackendServerUrl http://ContosoSSRS/reports/ -ADFSRelyingPartyName "Reporting Services - Web API" -BackendServerAuthenticationSPN "http/ContosoSSRS.contoso.com" -UseOAuthAuthentication
ParametroParameter CommentiComments
ADFSRelyingPartyNameADFSRelyingPartyName Questo è il nome dell'API Web che è stato creato come parte del gruppo di applicazioni all'interno di ADFS.This is the Web API name that you created as part of the Application Group within ADFS.
ExternalCertificateThumbprintExternalCertificateThumbprint Questo è il certificato da usare per gli utenti esterni.This is the certificate to use for the external users. È importante che il certificato sia valido per i dispositivi mobili e provenga da un'autorità di certificazione attendibile.It is important that this certificate be valid on mobile devices and come from a trusted certificate authority.
BackendServerUrlBackendServerUrl Si tratta dell'URL per il server di report dal server WAP.This is the URL to the Report Server from the WAP server. Se il server WAP è in una rete perimetrale, è necessario usare un nome di dominio completo.If the WAP server is in a DMZ, you may need to use a fully qualified domain name. Assicurarsi che sia possibile raggiungere l'URL dal browser Web nel server WAP.Make sure you can hit this URL from the web browser on the WAP server.
BackendServerAuthenticationSPNBackendServerAuthenticationSPN Questo è il nome SPN che è stato creato come parte della configurazione di Reporting Services.This is the SPN you created as part of the Reporting Services configuration.

Impostazione dell'autenticazione integrata per l'applicazione WAPSetting Integrated Authentication for the WAP Application

Dopo aver aggiunto l'applicazione WAP, è necessario impostare BackendServerAuthenticationMode in modo da usare IntegratedWindowsAuthentication.After you add the WAP Application, you will need to set the BackendServerAuthenticationMode to use IntegratedWindowsAuthentication. A tale scopo, è necessario l'ID dell'applicazione WAP.In order to set this, you need the ID from the WAP Application.

Get-WebApplicationProxyApplication “Contoso Reports” | fl

Eseguire il comando seguente per impostare il nome BackendServerAuthenticationMode usando l'ID dell'applicazione WAP.Run the following command to set the BackendServerAuthenticationMode using the ID of the WAP Application.

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

Connessione con l'app Power BI per dispositivi mobiliConnecting with the Power BI Mobile App

All'interno dell'app Power BI per dispositivi mobili è consigliabile connettersi all'istanza di Reporting Services.Within the Power BI mobile app, you will want to connect to your Reporting Services instance. A tale scopo, specificare l'URL esterno per l'applicazione WAP.To do that, supply the External URL for your WAP Application.

Quando si seleziona Connect, si verrà indirizzati alla pagina di accesso di ADFS.When you select Connect, you will be directed to your ADFS login page. Immettere le credenziali valide per il dominio.Enter valid credentials for your domain.

Dopo aver selezionato Accedi, verranno visualizzati gli elementi dal server di Reporting Services.After you select Sign in, you will see the elements from your Reporting Services server.

Multi-Factor AuthenticationMulti-factor authentication

È possibile abilitare Multi-Factor Authentication per applicare una protezione aggiuntiva per l'ambiente.You can enable multi-factor authentication to enable additional security for your environment. Per altre informazioni, vedere Configurare AD FS 2016 e Azure MFA.To learn more, see Configure AD FS 2016 and Azure MFA.

Risoluzione dei problemiTroubleshooting

Viene visualizzato l'errore Non è stato possibile connettersi al server SSRS. Verificare la configurazione server.You receive the error Failed to login to SSRS server. Please verify server configuration.

È possibile impostare Fiddler in modo che funga da proxy per i dispositivi mobili e visualizzi l'avanzamento della richiesta.You can set up Fiddler to act as a proxy for your mobile devices to see how far the request made it. Per abilitare un proxy di Fiddler per il dispositivo telefonico, è necessario configurare CertMaker per iOS e Android nel computer che esegue Fiddler.To enable a Fiddler proxy for your phone device, you will need to setup the CertMaker for iOS and Android on the machine running Fiddler. Si tratta di un componente aggiuntivo da Telerik per Fiddler.This is an add-on from Telerik for Fiddler.

Se l'accesso funziona correttamente quando si usa Fiddler, potrebbe essere un problema di certificato con l'applicazione WAP o il server ADFS.If the sign in works successfully when using Fiddler, you may have a certificate issue with either the WAP application or the ADFS server. È possibile usare uno strumento come Microsoft Message Analyzer per verificare che i certificati siano validi.You can use a tool such as Microsoft Message Analyzer to verify if the certificates are valid.

Passaggi successiviNext steps

Registrare un nome dell'entità servizio (SPN) per un server di reportRegister a Service Principal Name (SPN) for a Report Server
Modificare un file di configurazione di Reporting ServicesModify a Reporting Services Configuration File
Configurare l'autenticazione di Windows in un server di reportConfigure Windows Authentication on a Report Server
Active Directory Federation ServicesActive Directory Federation Services
Proxy applicazione Web in Windows Server 2016Web Application Proxy in Windows Server 2016
Pubblicazione di applicazioni usando la preautenticazione di ADFSPublishing Applications using AD FS Preauthentication
Configurare AD FS 2016 e Azure MFAConfigure AD FS 2016 and Azure MFA
Altre domande?More questions? Provare la community di Power BITry the Power BI Community