Configurare Kerberos per l'uso dei report di Power BI

Informazioni su come configurare il server di report per l'autenticazione Kerberos in origini dati usate nei report di Power BI per un ambiente distribuito.

Nota

Questo video potrebbe usare versioni precedenti di Server di report di Power BI.

Server di report di Power BI include la possibilità di ospitare report di Power BI. Molte origini dati sono supportate dal server di report. Anche se questo articolo è incentrato in modo specifico su SQL Server Analysis Services, è possibile usare i concetti e applicarli ad altre origini dati, ad esempio SQL Server.

È possibile installare Server di report di Power BI, SQL Server e Analysis Services in un singolo computer e tutto deve funzionare senza configurazione aggiuntiva. Questa soluzione è ideale per un ambiente di test. È possibile che si verifichino errori se questi servizi sono installati in computer separati denominati ambiente distribuito. In questo ambiente è necessario usare l'autenticazione Kerberos. È necessaria la configurazione per implementare questa operazione.

In particolare, sarà necessario configurare la delega vincolata. È possibile che sia stato configurato Kerberos nell'ambiente, ma potrebbe non essere configurato per la delega vincolata.

Errore durante l'esecuzione del report

Se il server di report non è configurato correttamente, potrebbe essere visualizzato l'errore seguente.

Something went wrong.

We couldn't run the report because we couldn't connect to its data source. The report or data source might not be configured correctly. 

In Dettagli tecnici verrà visualizzato il messaggio seguente.

We couldn't connect to the Analysis Services server. The server forcibly closed the connection. To connect as the user viewing the report, your organization must have configured Kerberos constrained delegation.

Screenshot of Power B I Reports showing error message related to issues connecting with Analysis Services server.

Configurazione della delega vincolata Kerberos

Per consentire il funzionamento della delega vincolata Kerberos, è necessario configurare diversi elementi. Sono inclusi i nomi delle entità servizio (SPN) e le impostazioni di delega per gli account del servizio.

Nota

Per configurare i nomi SPN e le impostazioni di delega, è necessario essere un amministratore di dominio.

Sarà necessario configurare o convalidare quanto segue.

  1. Tipo di autenticazione all'interno della configurazione del server di report.
  2. SPN per l'account del servizio del server di report.
  3. SPN per il servizio Analysis Services.
  4. SPN per il servizio SQL Browser nel computer Analysis Services. Questo vale solo per le istanze denominate.
  5. Impostazioni di delega nell'account del servizio del server di report.

Tipo di autenticazione all'interno della configurazione del server di report

È necessario configurare il tipo di autenticazione per il server di report per consentire la delega vincolata Kerberos. Questa operazione viene eseguita all'interno del file rsreportserver.config . Il percorso predefinito per questo file è C:\Program Files\Microsoft Power BI Report Server\PBIRS\ReportServer.

All'interno del file rsreportserver.config è necessario specificare la sezione Authentication/AuthenticationTypes .

Si vuole assicurarsi che RSWindowsNegotiate sia elencato e il primo nell'elenco dei tipi di autenticazione. L'aspetto sarà simile a quanto segue.

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

Se è necessario modificare il file di configurazione, è necessario arrestare e avviare il server di report per assicurarsi che le modifiche siano effettive.

Per altre informazioni, vedere Configurare l'autenticazione di Windows nel server di report.

SPN per l'account del servizio del server di report

Successivamente, è necessario assicurarsi che il server di report abbia nomi SPN validi disponibili. Si basa sull'account del servizio configurato per il server di report.

Account servizio virtuale o servizio di rete

Se il server di report è configurato per l'account del servizio virtuale o l'account del servizio di rete, non è necessario eseguire alcuna operazione. Questi sono nel contesto dell'account del computer. Per impostazione predefinita, l'account del computer avrà nomi SPN HOST. Verranno trattati il servizio HTTP e verranno usati dal server di report.

Se si usa un nome di server virtuale, uno non uguale all'account del computer, le voci HOST non copriranno l'utente e sarà necessario aggiungere manualmente i nomi SPN per il nome host del server virtuale.

Account utente di dominio

Se il server di report è configurato per l'uso di un account utente di dominio, sarà necessario creare manualmente nomi SPN HTTP in tale account. Questa operazione può essere eseguita usando lo strumento setspn fornito con Windows.

Nota

Per creare il nome SPN, sono necessari diritti di amministratore di dominio.

È consigliabile creare due NOMI SPN. Uno con il nome NetBIOS e l'altro con il nome di dominio completo (FQDN). Il nome SPN sarà nel formato seguente.

<Service>/<Host>:<port>

Server di report di Power BI userà un servizio HTTP. Per i nomi SPN HTTP non verrà elencata una porta. Il servizio a cui si è interessati è HTTP. L'host del nome SPN sarà il nome usato in un URL. In genere, si tratta del nome del computer. Se si è dietro un servizio di bilanciamento del carico, potrebbe trattarsi di un nome virtuale.

Nota

È possibile verificare l'URL esaminando ciò che si immette nella barra degli indirizzi del browser oppure nella scheda URL del portale Web.

Se il nome del computer è ContosoRS, i nomi SPN saranno i seguenti.

Tipo SPN SPN
Nome di dominio completo HTTP/ContosoRS.contoso.com
NetBIOS HTTP/ContosoRS

Posizione del nome SPN

Allora, dove si inserisce il NOME SPN? Il nome SPN verrà inserito in qualsiasi elemento usato per l'account del servizio. Se si usa l'account del servizio virtuale o il servizio di rete, questo sarà l'account del computer. Anche se prima è necessario eseguire questa operazione solo per un URL virtuale. Se si usa un utente di dominio per l'account del servizio del server di report, il nome SPN verrà inserito nell'account utente di dominio.

Ad esempio, se si usa l'account del servizio di rete e il nome del computer è ContosoRS, si inserisce il nome SPN in ContosoRS.

Se si usa un account utente di dominio di RSService, si inserisce il nome SPN in RSService.

Uso di SetSPN per aggiungere il nome SPN

È possibile usare lo strumento SetSPN per aggiungere il nome SPN. Si seguirà lo stesso esempio riportato in precedenza con l'account computer e l'account utente di dominio.

L'inserimento del nome SPN in un account computer, sia per il nome FQDN che per il nome SPN NetBIOS, sarà simile al seguente se si usasse un URL virtuale di contosoreport.

Setspn -a HTTP/contosoreports.contoso.com ContosoRS
Setspn -a HTTP/contosoreports ContosoRS

L'inserimento del nome SPN in un account utente di dominio, sia per il nome FQDN che per il nome SPN NetBIOS, sarà simile al seguente se si usasse il nome del computer per l'host del nome SPN.

Setspn -S HTTP/ContosoRS.contoso.com RSService
Setspn -S HTTP/ContosoRS RSService

SPN per il servizio Analysis Services

I nomi SPN per Analysis Services sono simili a quanto fatto con Server di report di Power BI. Il formato del nome SPN è leggermente diverso se si dispone di un'istanza denominata.

Per Analysis Services viene usato un servizio MSOL piattaforma di strumenti analitici vc.3. Verrà specificato il nome dell'istanza per il percorso della porta nel nome SPN. La parte host del nome SPN sarà il nome del computer o il nome virtuale del cluster.

Un esempio di SPN di Analysis Services sarà simile al seguente.

Type Formato
Istanza predefinita MSOL piattaforma di strumenti analitici vc.3/ContosoAS.contoso.com
MSOL piattaforma di strumenti analitici vc.3/ContosoAS
Istanza denominata MSOL piattaforma di strumenti analitici vc.3/ContosoAS.contoso.com:INSTANCENAME
MSOL piattaforma di strumenti analitici vc.3/ContosoAS:INSTANCENAME

Anche il posizionamento del nome SPN è simile a quello menzionato con Server di report di Power BI. Si basa sull'account del servizio. Se si usa il sistema locale o il servizio di rete, si sarà nel contesto dell'account del computer. Se si usa un account utente di dominio per l'istanza di Analysis Services, il nome SPN verrà inserito nell'account utente di dominio.

Uso di SetSPN per aggiungere il nome SPN

È possibile usare lo strumento SetSPN per aggiungere il nome SPN. Per questo esempio, il nome del computer sarà ContosoAS.

L'inserimento del nome SPN in un account computer, sia per il nome FQDN che per il nome SPN NetBIOS, sarà simile al seguente.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPSvc.3/ContosoAS ContosoAS

L'inserimento del nome SPN in un account utente di dominio, sia per il nome FQDN che per il nome SPN NetBIOS, sarà simile al seguente.

Setspn -S MSOLAPSvc.3/ContosoAS.contoso.com OLAPService
Setspn -S MSOLAPSvc.3/ContosoAS OLAPService

SPN per il servizio SQL Browser

Se si dispone di un'istanza denominata di Analysis Services, è anche necessario assicurarsi di disporre di un nome SPN per il servizio browser. Questo è univoco per Analysis Services.

I nomi SPN per SQL Browser sono simili a quanto fatto con Server di report di Power BI.

Per SQL Browser viene usato un servizio di MSOLAPDisco.3. Verrà specificato il nome dell'istanza per il percorso della porta nel nome SPN. La parte host del nome SPN sarà il nome del computer o il nome virtuale del cluster. Non è necessario specificare nulla per il nome o la porta dell'istanza.

Un esempio di SPN di Analysis Services sarà simile al seguente.

MSOLAPDisco.3/ContosoAS.contoso.com
MSOLAPDisco.3/ContosoAS

Anche il posizionamento del nome SPN è simile a quello menzionato con Server di report di Power BI. La differenza è che SQL Browser viene sempre eseguito con l'account di sistema locale. Ciò significa che i nomi SPN verranno sempre attivati nell'account del computer.

Uso di SetSPN per aggiungere il nome SPN

È possibile usare lo strumento SetSPN per aggiungere il nome SPN. Per questo esempio, il nome del computer sarà ContosoAS.

L'inserimento del nome SPN nell'account del computer, sia per il nome FQDN che per il nome SPN NetBIOS, sarà simile al seguente.

Setspn -S MSOLAPDisco.3/ContosoAS.contoso.com ContosoAS
Setspn -S MSOLAPDisco.3/ContosoAS ContosoAS

Per altre informazioni, vedere È necessario un nome SPN per il servizio SQL Server Browser.

Impostazioni di delega nell'account del servizio del server di report

L'ultima parte che è necessario configurare sono le impostazioni di delega nell'account del servizio del server di report. Esistono diversi strumenti che è possibile usare per eseguire questi passaggi. Ai fini di questo documento, resteremo in Utenti e computer di Active Directory.

È necessario iniziare passando alle proprietà dell'account del servizio del server di report all'interno di Utenti e computer di Active Directory. Questo sarà l'account del computer, se è stato usato l'account del servizio virtuale o il servizio di rete oppure sarà un account utente di dominio.

Si vuole configurare la delega vincolata con il transito del protocollo. Con la delega vincolata, è necessario essere espliciti con i servizi a cui si vuole delegare. Verrà aggiunto sia il nome SPN del servizio Analysis Services che il nome SPN di SQL Browser all'elenco a cui Server di report di Power BI possibile delegare.

  1. Fare clic con il pulsante destro del mouse sull'account del servizio del server di report e scegliere Proprietà.

  2. Selezionare la scheda Delega .

  3. Selezionare Computer attendibile per la delega solo ai servizi specificati.

  4. Selezionare Usa qualsiasi protocollo di autenticazione.

  5. In Servizi a cui questo account può presentare credenziali delegate: selezionare Aggiungi.

  6. Nella nuova finestra di dialogo selezionare Utenti o computer.

  7. Immettere l'account del servizio per il servizio Analysis Services e selezionare OK.

  8. Selezionare il nome SPN creato. Inizierà con MSOLAPSvc.3. Se sono stati aggiunti sia il nome di dominio completo che il nome SPN NetBIOS, verranno selezionati entrambi. È possibile che ne venga visualizzata una sola.

  9. Seleziona OK. Il nome SPN dovrebbe essere visualizzato nell'elenco.

  10. Facoltativamente, è possibile selezionare Espanso per visualizzare sia il nome di dominio completo che il nome SPN NetBIOS nell'elenco.

  11. Selezionare nuovamente Aggiungi. Ora si aggiungerà il nome SPN di SQL Browser.

  12. Nella nuova finestra di dialogo selezionare Utenti o computer.

  13. Immettere il nome del computer in cui si trova il servizio SQL Browser e selezionare OK.

  14. Selezionare il nome SPN creato. Inizierà con MSOLAPDisco.3. Se sono stati aggiunti sia il nome di dominio completo che il nome SPN NetBIOS, verranno selezionati entrambi. È possibile che ne venga visualizzata una sola.

  15. Selezionare OK. Se è stata selezionata l'opzione Espansa, la finestra di dialogo dovrebbe essere simile alla seguente.

    Screenshot of Power B I Reports showing Delegation tab of Properties window.

  16. Selezionare OK.

  17. Riavviare il Server di report di Power BI.

Esecuzione di un report di Power BI

Dopo che è stata eseguita tutta la configurazione precedente, il report dovrebbe essere visualizzato correttamente.

Screenshot of Power B I Reports showing sample Dashboard view.

Anche se questa configurazione dovrebbe funzionare nella maggior parte dei casi, con Kerberos può essere presente una configurazione diversa a seconda dell'ambiente in uso. Se il report non verrà ancora caricato, contattare l'amministratore di dominio per esaminare ulteriormente o contattare il supporto tecnico.

Altre domande? Contattare la community di Power BI