Condividi tramite


Configurare il Single Sign-On basato su Kerberos dal servizio Power BI alle origini dati locali

L'abilitazione di SSO rende più semplice per i report e i dashboard di Power BI aggiornare i dati delle origini locali pur rispettando le autorizzazioni a livello di utente configurate per tali origini. Usare la delega vincolata Kerberos per abilitare una connettività SSO ottimale.

Questo articolo descrive i passaggi da eseguire per configurare l'accesso SSO basato su Kerberos dal servizio Power BI alle origini dati locali.

Prerequisiti

Per il corretto funzionamento della delega vincolata Kerberos è necessario configurare diversi elementi, ad esempio i *nomi delle entità servizio e le impostazioni di delega per gli account del servizio.

Nota

L'uso dell'aliasing DNS con SSO non è supportato.

Struttura della configurazione

Di seguito sono descritti i passaggi necessari per la configurazione dell'accesso Single Sign-On del gateway.

  1. Completare tutti i passaggi descritti nella Sezione 1: Configurazione di base.

  2. A seconda dell'ambiente Active Directory e delle origini dati usate, potrebbe essere necessario completare alcune o tutte le configurazioni descritte nella Sezione 2: Configurazione specifica dell'ambiente.

    Di seguito sono elencati gli scenari possibili che potrebbero richiedere una configurazione aggiuntiva:

    Scenario Vai a
    L'ambiente Active Directory è protetto. Aggiungere l'account del servizio gateway al Gruppo di accesso e autorizzazioni Windows
    L'account del servizio gateway e gli account utente rappresentati dal gateway si trovano in domini o foreste separati. Aggiungere l'account del servizio gateway al Gruppo di accesso e autorizzazioni Windows
    Non è configurato Microsoft Entra Connect con la sincronizzazione dell'account utente e l'UPN usato in Power BI per gli utenti non corrisponde all'UPN nell'ambiente Active Directory locale. Impostare i parametri di configurazione del mapping utente nel computer gateway
    Si prevede di usare un'origine dati SAP HANA con SSO. Completare i passaggi di configurazione specifici dell'origine dati
    Si prevede di usare un'origine dati SAP BW con SSO. Completare i passaggi di configurazione specifici dell'origine dati
    Si prevede di usare un'origine dati Teradata con SSO. Completare i passaggi di configurazione specifici dell'origine dati
  3. Convalidare la configurazione come descritto nella Sezione 3: Convalidare la configurazione per assicurarsi che l'accesso Single Sign-On sia configurato correttamente.

Sezione 1: Configurazione di base

Passaggio 1: installare e configurare il gateway dati locale Microsoft

Il gateway dati locale supporta un aggiornamento sul posto nonché l'acquisizione della proprietà delle impostazioni dei gateway esistenti.

Passaggio 2: ottenere i diritti di amministratore di dominio per configurare i nomi delle entità servizio (SetSPN) e le impostazioni di delega vincolata Kerberos

Per configurare i nomi delle entità servizio e le impostazioni di delega Kerberos, un amministratore di dominio deve evitare di concedere diritti a un utente che non ha i diritti di amministratore di dominio. Nella sezione seguente viene illustrata in modo più dettagliato la procedura di configurazione consigliata.

Passaggio 3: Configurare l'account del servizio gateway

L'opzione A seguente è la configurazione necessaria a meno che non siano stati configurati sia Microsoft Entra Connect che gli account utente vengono sincronizzati. In tal caso, è consigliata l'opzione B.

Opzione A: eseguire il servizio di Windows gateway come account di dominio con SPN

In un'installazione standard, il gateway viene eseguito come account del servizio locale del computer, ovvero NT Service\PBIEgwService.

Account del servizio locale del computer

Per abilitare la delega vincolata Kerberos, il gateway deve essere eseguito come account di dominio, a meno che l'istanza di Microsoft Entra non sia già sincronizzata con l'istanza di Active Directory locale tramite Microsoft Entra DirSync/Connect. Per passare a un account di dominio, vedere Modificare l'account del servizio gateway.

Configurare un nome dell'entità servizio per l'account del servizio gateway

Determinare prima se è già stato creato un nome dell'entità servizio per l'account di dominio usato come account del servizio gateway:

  1. Come amministratore di dominio avviare lo snap-in Microsoft Management Console (MMC) Utenti e computer di Active Directory.

  2. Nel riquadro sinistro fare clic con il pulsante destro del mouse sul nome del dominio, scegliere Trova e quindi immettere il nome dell'account del servizio gateway.

  3. Nei risultati della ricerca fare clic con il pulsante destro del mouse sull'account del servizio gateway e scegliere Proprietà.

  4. Se la scheda Delega è visibile nella finestra di dialogo Proprietà, un nome dell'entità servizio è già stato creato ed è possibile passare a Configurare la delega vincolata Kerberos.

  5. Se la scheda Delega non è presente nella finestra di dialogo Proprietà, è possibile creare manualmente un nome dell'entità servizio nell'account per abilitarla. Usare lo strumento setspn incluso in Windows. Per creare il nome SPN sono necessari diritti di amministratore di dominio.

    Si supponga, ad esempio, che l'account del servizio gateway sia Contoso\GatewaySvc e che il servizio gateway sia in esecuzione in un computer denominato MyGatewayMachine. Per impostare il nome dell'entità servizio per l'account del servizio gateway, eseguire il comando seguente:

    setspn -S gateway/MyGatewayMachine Contoso\GatewaySvc

    Per impostare il nome dell'entità servizio, è anche possibile usare lo snap-in MMC Utenti e computer di Active Directory.

Opzione B: Configurare il computer per Microsoft Entra Connect

Se Microsoft Entra Connect è configurato e gli account utente sono sincronizzati, il servizio gateway non dovrà eseguire ricerche locali in Microsoft Entra in fase di esecuzione. Per completare la configurazione necessaria in Microsoft Entra ID, è invece possibile usare semplicemente l'ID di sicurezza (SID) del servizio locale per il servizio gateway. La procedura di configurazione della delega vincolata Kerberos descritta in questo articolo è uguale a quella necessaria nel contesto di Microsoft Entra. Viene applicata all'oggetto computer del gateway, identificato dall'ID di sicurezza (SID) del servizio locale, in Microsoft Entra ID anziché all'account di dominio. Il SID del servizio locale per NT SERVICE/PBIEgwService è il seguente:

S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079

Per creare il nome SPN per questo SID nel computer Power BI Gateway, è necessario eseguire il comando seguente da un prompt dei comandi amministrativo (sostituire <COMPUTERNAME> con il nome del computer Power BI Gateway):

SetSPN -s HTTP/S-1-5-80-1835761534-3291552707-3889884660-1303793167-3990676079 <COMPUTERNAME>

Nota

A seconda delle impostazioni di sicurezza locali, potrebbe essere necessario aggiungere l'account del servizio gateway NT SERVICE\PBIEgwService al gruppo Administrators locale nel computer gateway e quindi riavviare il servizio gateway nell'app gateway. Questa opzione non è supportata per gli scenari con più gateway, perché Active Directory applica SPN univoci in un'intera foresta. Per questi scenari, usare invece l'opzione A.

Passaggio 4: Configurare la delega vincolata Kerberos

È possibile configurare le impostazioni di delega per la delega vincolata Kerberos standard o per la delega vincolata Kerberos basata sulle risorse. Per altre informazioni sulle differenze tra i due approcci alla delega, vedere Panoramica della delega vincolata Kerberos.

Sono necessari gli account di servizio seguenti:

  • Account del servizio gateway: utente del servizio che rappresenta il gateway in Active Directory, con un nome SPN configurato nel passaggio 3.
  • Account del servizio origine dati: utente del servizio che rappresenta l'origine dati in Active Directory, con un nome SPN mappato all'origine dati.

Nota

Gli account del gateway e del servizio origine dati devono essere separati. Lo stesso account del servizio non può essere usato per rappresentare sia il gateway che l'origine dati.

A seconda dell'approccio che si vuole usare, passare a una delle sezioni seguenti. Non completare entrambe le sezioni:

Opzione A: delega vincolata Kerberos standard

Verranno ora configurate le impostazioni di delega per l'account del servizio gateway. Per eseguire questi passaggi sono disponibili vari strumenti. Qui si userà lo snap-in MMC Utenti e computer di Active Directory per amministrare e pubblicare le informazioni nella directory. Nei controller di dominio è disponibile per impostazione predefinita. In altri computer è possibile abilitarlo tramite la configurazione delle funzionalità di Windows.

È necessario configurare la delega vincolata Kerberos con protocollo in transito. Con la delega vincolata è necessario dichiarare esplicitamente a quali servizi il gateway potrà presentare credenziali delegate. Ad esempio, solo SQL Server o il server SAP HANA accettano le chiamate di delega dall'account del servizio gateway.

Questa sezione presuppone che i nomi delle entità servizio per le origini dati sottostanti, ad esempio SQL Server, SAP HANA, SAP BW, Teradata o Spark, siano già stati configurati. Per informazioni su come configurare i nomi dell'entità servizio del server dell'origine dati, fare riferimento alla documentazione tecnica per il rispettivo server di database e vedere la sezione What SPN does your app require? (Quale nome dell'entità servizio è richiesto per l'app?) nel post di blog My Kerberos Checklist (Elenco di controllo per Kerberos).

Nei passaggi seguenti si presuppone un ambiente locale con due computer nello stesso dominio: un computer gateway e un server di database con SQL Server che è già stato configurato per SSO basato su Kerberos. È possibile adottare i passaggi per una delle altre origini dati supportate, a condizione che questa sia già stata configurata per il Single Sign-On basato su Kerberos. Per questo esempio, verranno usate le impostazioni seguenti:

  • Dominio di Active Directory (Netbios): Contoso
  • Nome computer gateway: MyGatewayMachine
  • Account del servizio gateway: Contoso\GatewaySvc
  • Nome computer dell'origine dati SQL Server: TestSQLServer
  • Account del servizio origine dati di SQL Server: Contoso\SQLService

Ecco come configurare le impostazioni di delega:

  1. Aprire lo snap-in MMC Utenti e computer di Active Directory con diritti di amministratore di dominio.

  2. Fare clic con il pulsante destro del mouse sull'account del servizio gateway (Contoso\GatewaySvc) e selezionare Proprietà.

  3. Selezionare la scheda Delega.

  4. Selezionare Computer attendibile per la delega solo ai servizi specificati>Usa un qualsiasi protocollo di autenticazione.

  5. In Servizi ai quali l'account può presentare credenziali delegate selezionare Aggiungi.

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

  7. Immettere l'account del servizio per l'origine dati e quindi selezionare OK.

    Ad esempio, un'origine dati di SQL Server può avere un account del servizio come Contoso\SQLService. Un nome SPN appropriato per l'origine dati deve essere già stato impostato per l'account.

  8. Selezionare il nome dell'entità servizio creato per il server di database.

    In questo esempio il nome SPN inizia con MSSQLSvc. Se sono stati aggiunti sia il nome di dominio completo sia il nome dell'entità servizio NetBIOS, verranno selezionati entrambi, ma potrebbe esserne visibile solo uno.

  9. Seleziona OK.

    A questo punto il nome SPN verrà visualizzato nell'elenco dei servizi a cui l'account del servizio gateway può presentare le credenziali delegate.

    Finestra di dialogo delle proprietà del connettore gateway

  10. Per continuare il processo di configurazione, passare a Concedere all'account del servizio gateway diritti di criteri locali nel computer gateway.

Opzione B: delega vincolata Kerberos basata sulle risorse

Usare la delega vincolata Kerberos basata sulle risorse per abilitare la connettività Single Sign-On per Windows Server 2012 e versioni successive. Questo tipo di delega consente l'appartenenza a domini diversi per i servizi front-end e back-end. Per il corretto funzionamento, il dominio del servizio back-end deve considerare attendibile il dominio del servizio front-end.

Nei passaggi seguenti si presuppone un ambiente locale con due computer in domini diversi: un computer gateway e un server di database con SQL Server che è già stato configurato per il Single Sign-On basato su Kerberos. È possibile adottare questi passaggi per una delle altre origini dati supportate, a condizione che questa sia già stata configurata per l'accesso Single Sign-On basato su Kerberos. Per questo esempio, verranno usate le impostazioni seguenti:

  • Dominio front-end di Active Directory (Netbios): ContosoFrontEnd
  • Dominio back-end di Active Directory (Netbios): ContosoBackEnd
  • Nome computer gateway: MyGatewayMachine
  • Account del servizio gateway: ContosoFrontEnd\GatewaySvc
  • Nome computer dell'origine dati SQL Server: TestSQLServer
  • Account del servizio origine dati di SQL Server: ContosoBackEnd\SQLService

Completare la procedura di configurazione seguente:

  1. Usare lo snap-MMC Utenti e computer di Active Directory nel controller di dominio per il dominio ContosoFrontEnd e verificare che non siano state applicate impostazioni di delega per l'account del servizio gateway.

    Proprietà del connettore gateway

  2. Usare Utenti e computer di Active Directory nel controller di dominio per il dominio ContosoBackEnd e verificare che per l'account del servizio back-end non siano applicate impostazioni di delega.

    Proprietà del servizio SQL

  3. Nella scheda Editor attributi delle proprietà dell'account verificare che l'attributo msDS-AllowedToActOnBehalfOfOtherIdentity non sia impostato.

    Attributi del servizio SQL

  4. In Utenti e computer di Active Directory creare un gruppo nel controller di dominio per il dominio ContosoBackEnd. Aggiungere l'account del servizio gateway GatewaySvc al gruppo ResourceDelGroup.

    Per aggiungere utenti da un dominio attendibile, questo gruppo deve avere un ambito di Dominio locale. Proprietà del gruppo

  5. Aprire un prompt dei comandi ed eseguire i comandi seguenti nel controller di dominio per il dominio ContosoBackEnd per aggiornare l'attributo msDS-AllowedToActOnBehalfOfOtherIdentity dell'account del servizio back-end:

    $c = Get-ADGroup ResourceDelGroup
    Set-ADUser SQLService -PrincipalsAllowedToDelegateToAccount $c
    
  6. In Utenti e computer di Active Directory verificare che l'aggiornamento sia rispecchiato nella scheda Editor attributi nelle proprietà per l'account del servizio back-end.

Passaggio 5: Abilitare la crittografia AES per gli account del servizio

Applicare le impostazioni seguenti all'account del servizio gateway e a ogni account del servizio origine dati a cui il gateway può delegare:

Nota

Se sono presenti tipi di enctype definiti negli account del servizio, rivolgersi all'amministratore di Active Directory, perché seguendo questa procedura sovrascriveranno i valori di enctype esistenti e potrebbero interrompere i client.

  1. Aprire lo snap-in MMC Utenti e computer di Active Directory con diritti di amministratore di dominio.

  2. Fare clic con il pulsante destro del mouse sull'account del servizio gateway/origine dati e scegliere Proprietà.

  3. Fare clic sulla scheda Account.

  4. In Opzioni account abilitare almeno una o entrambe le opzioni seguenti. Si noti che è necessario abilitare le stesse opzioni per tutti gli account di servizio.

    • Questo account supporta la crittografia AES 128 bit Kerberos
    • Questo account supporta la crittografia AES 256 bit Kerberos

Nota

Se non si è certi dello schema di crittografia da usare, rivolgersi all'amministratore di Active Directory.

Passaggio 6: concedere all'account del servizio gateway diritti di criteri locali nel computer gateway

Infine, nel computer in cui è in esecuzione il servizio gateway, MyGatewayMachine in questo esempio, concedere all'account del servizio gateway i criteri locali Rappresenta un client dopo l'autenticazione e Agire come parte del sistema operativo (SeTcbPrivilege). Eseguire questa configurazione con l'Editor Criteri di gruppo locali (gpedit.msc).

  1. Nel computer gateway eseguire gpedit.msc.

  2. Passare a Criteri del computer locale>Configurazione computer>Impostazioni di Windows>Impostazioni di sicurezza>Criteri locali>Assegnazione diritti utente.

    Struttura di cartelle di Criteri del computer locale

  3. Nell'elenco di criteri in Assegnazione diritti utente selezionare Rappresenta un client dopo l'autenticazione.

    Criterio Rappresenta un client

  4. Fare clic con il pulsante destro del mouse sul criterio, scegliere Proprietà e quindi visualizzare l'elenco degli account.

    L'elenco deve includere l'account del servizio gateway (Contoso\GatewaySvc o ContosoFrontEnd\GatewaySvc a seconda del tipo di delega vincolata).

  5. In Diritti assegnazione utente selezionare Agire come parte del sistema operativo (SeTcbPrivilege) nell'elenco dei criteri. Accertarsi che l'account del servizio gateway sia incluso nell'elenco degli account.

  6. Riavviare il processo del servizio Gateway dati locale.

Passaggio 7: l'account Di Windows può accedere al computer gateway

SSO usa l'autenticazione di Windows, quindi assicurarsi che l'account di Windows possa accedere al computer gateway. Se non si è certi, aggiungere NT-AUTHORITY\Authenticated Users (S-1-5-11) al gruppo "Utenti" del computer locale.

Sezione 2: Configurazione specifica dell'ambiente

Aggiungere l'account del servizio gateway al Gruppo di accesso e autorizzazioni Windows

Completare questa sezione se si applica una qualsiasi delle situazioni seguenti:

  • L'ambiente Active Directory è protetto.
  • Quando l'account del servizio gateway e gli account utente rappresentati dal gateway si trovano in domini o foreste separati.

È anche possibile aggiungere l'account del servizio gateway al Gruppo di accesso e autorizzazioni Windows in situazioni in cui la finalizzazione di dominio o foresta non sia stata eseguita, ma non sia necessaria.

Per altre informazioni, vedere Gruppo di accesso e autorizzazioni Windows.

Per completare questo passaggio di configurazione, per ogni dominio contenente utenti Active Directory è necessario che l'account del servizio gateway possa eseguire una rappresentazione:

  1. Accedere a un computer nel dominio e avviare lo snap-in MMC Utenti e computer di Active Directory.
  2. Individuare il Gruppo di accesso e autorizzazioni Windows che in genere si trova nel contenitore Builtin.
  3. Fare doppio clic sul gruppo e fare clic sulla scheda Membri.
  4. Fare clic su Aggiungi e modificare il percorso del dominio nel dominio in cui si trova l'account del servizio gateway.
  5. Digitare il nome dell'account del servizio gateway e fare clic su Controlla nomi per verificare che l'account del servizio gateway sia accessibile.
  6. Fare clic su OK.
  7. Fare clic su Applica.
  8. Riavviare il servizio gateway.

Impostare i parametri di configurazione del mapping utente nel computer gateway

Completare questa sezione se:

  • Non si dispone di Microsoft Entra Connect con la sincronizzazione dell'account utente configurata AND
  • L'UPN usato in Power BI per gli utenti non corrisponde all'UPN nell'ambiente Active Directory locale.

Ogni utente Active Directory mappato in questo modo deve avere le autorizzazioni SSO necessarie per l'origine dati.

  1. Aprire il file di configurazione principale del gateway, Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll. Per impostazione predefinita, questo file viene archiviato in C:\Program Files\On-premises data gateway.

  2. Impostare ADUserNameLookupProperty su un attributo Active Directory non usato. Nei passaggi successivi verrà usato msDS-cloudExtensionAttribute1. Questo attributo è disponibile solo in Windows Server 2012 e versioni successive.

  3. Impostare ADUserNameReplacementProperty su SAMAccountName e quindi salvare il file di configurazione.

    Nota

    Negli scenari multi-dominio potrebbe essere necessario impostare ADUserNameReplacementProperty su userPrincipalName per mantenere le informazioni di dominio dell'utente.

  4. Nella scheda Servizi di Gestione attività fare clic con il pulsante destro del mouse sul servizio gateway e selezionare Riavvia.

    Screenshot della scheda Servizi di Gestione attività

  5. Per ogni utente del servizio Power BI per il quale si vuole abilitare l'accesso Single Sign-On Kerberos, impostare la proprietà msDS-cloudExtensionAttribute1 di un utente Active Directory locale (con autorizzazione SSO per l'origine dati) sul nome utente completo (UPN) dell'utente del servizio Power BI. Ad esempio, se si accede al servizio Power BI come test@contoso.com e si vuole mappare questo utente a un utente di Active Directory locale con autorizzazioni SSO, quale ad esempio test@LOCALDOMAIN.COM, impostare l'attributo msDS-cloudExtensionAttribute1 dell'utente su test@contoso.com.

    È possibile impostare la proprietà msDS-cloudExtensionAttribute1 con lo snap-in MMC Utenti e computer di Active Directory:

    1. Come amministratore di dominio, avviare Utenti e computer di Active Directory.

    2. Fare clic con il pulsante destro del mouse sul nome del dominio, scegliere Trova e quindi immettere il nome dell'account dell'utente di Active Directory locale da mappare.

    3. Selezionare la scheda Editor attributi.

      Individuare la proprietà msDS-cloudExtensionAttribute1 e fare doppio clic su di essa. Impostare il valore sul nome utente completo (UPN) dell'utente usato per accedere al servizio Power BI.

    4. Seleziona OK.

      Finestra Editor attributo stringa

    5. Selezionare Applica. Verificare che sia stato impostato il valore corretto nella colonna Valore.

Completare i passaggi di configurazione specifici dell'origine dati

Per le origini dati SAP HANA, SAP BW e Teradata, è necessaria una configurazione aggiuntiva da usare con l'accesso SSO del gateway:

Nota

Sebbene per l'accesso SSO a BW possano essere usate anche altre librerie SNC, non sono ufficialmente supportate da Microsoft.

Sezione 3: Convalidare la configurazione

Passaggio 1: Configurare le origini dati in Power BI

Dopo aver completato tutti i passaggi di configurazione, usare la pagina Gestisci gateway in Power BI per configurare l'origine dati da usare per SSO. In presenza di più gateway, assicurarsi di selezionare il gateway configurato per il Single Sign-On Kerberos. In Impostazioni per l'origine dati verificare quindi che l'opzione Usa SSO tramite Kerberos per le query DirectQuery o Usa SSO tramite Kerberos per le query DirectQuery e di importazione sia selezionata per i report basati su DirectQuery e che Usa SSO tramite Kerberos per le query DirectQuery e di importazione sia selezionata per i report basati sull'importazione.

Screenshot dell'aggiunta di impostazioni per l'accesso Single Sign-On.

Le impostazioni Usa SSO tramite Kerberos per le query DirectQuery e Usa SSO tramite Kerberos per le query DirectQuery e Import offrono un comportamento diverso per i report basati su DirectQuery e su Import.

Usa SSO tramite Kerberos per le query DirectQuery:

  • Per il report basato su DirectQuery, vengono usate le credenziali SSO dell'utente.
  • Per il report basato sull'importazione, le credenziali SSO non vengono usate, ma vengono usate le credenziali immesse nella pagina dell'origine dati.

Utilizza SSO tramite Kerberos per query di importazione e DirectQuery:

  • Per il report basato su DirectQuery, vengono usate le credenziali SSO dell'utente.
  • Per il report basato sull'importazione, vengono usate le credenziali SSO del proprietario del modello semantico, indipendentemente dall'utente che attiva l'importazione.

Passaggio 2: Testare l'accesso Single Sign-On

Passare a Test della configurazione dell'accesso Single Sign-On (SSO) per verificare rapidamente che la configurazione sia impostata correttamente e risolvere i problemi comuni.

Passaggio 3: Eseguire un report di Power BI

Quando si esegue la pubblicazione, selezionare il gateway configurato per SSO se sono presenti più gateway.

Per altre informazioni sul gateway dati locale e su DirectQuery, vedere le risorse seguenti: