Sicurezza a livello di riga in Server di report di Power BI

La configurazione della sicurezza a livello di riga con Server di report di Power BI può limitare l'accesso ai dati per gli utenti specificati. I filtri limitano l'accesso ai dati a livello di riga ed è possibile definire filtri all'interno dei ruoli. Se si usano le autorizzazioni predefinite in Server di report di Power BI, qualsiasi utente con autorizzazioni di Server di pubblicazione o Gestione contenuto per il report di Power BI può assegnare membri ai ruoli per tale report.

Configurare la sicurezza a livello di riga per i report importati in Power BI con Power BI Desktop. È anche possibile configurare la sicurezza a livello di riga nei report che usano DirectQuery, ad esempio SQL Server. Tenere presente che la sicurezza a livello di riga non viene rispettata se la connessione DirectQuery usa l'autenticazione integrata per i lettori di report. Per le connessioni dinamiche di Analysis Services, configurare la sicurezza a livello di riga nel modello locale. L'opzione di sicurezza non viene visualizzata per i set di dati di connessione dinamica.

Definire ruoli e regole in Power BI Desktop

È possibile definire ruoli e regole in Power BI Desktop. Quando si pubblica in Power BI, si pubblicano anche le definizioni di ruolo.

Per definire i ruoli di sicurezza:

  1. Importare dati nel report di Power BI Desktop o configurare una connessione DirectQuery.

    Nota

    Non è possibile definire ruoli all'interno di Power BI Desktop per le connessioni dinamiche di Analysis Services. È necessario eseguire questa operazione all'interno del modello di Analysis Services.

  2. Nella scheda Modellazione selezionare Gestisci ruoli.

    Screenshot della scheda Modellazione, evidenziando Gestisci ruoli.

  3. Nella finestra Gestisci ruoli selezionare Crea.

    Screenshot della finestra Gestisci ruoli, evidenziando Crea.

  4. In Ruoli specificare un nome per il ruolo.

    Nota

    Non è possibile definire un ruolo con una virgola, ad esempio London,ParisRole.

  5. In Tabelle selezionare la tabella a cui applicare una regola DAX (Data Analysis Expression).

  6. Nella casella Espressione DAX filtro tabella immettere le espressioni DAX. Questa espressione restituisce un valore true o false. Ad esempio: [Entity ID] = “Value”.

    Screenshot della finestra Gestisci ruoli, evidenziando un'espressione DAX di esempio.

    Nota

    È possibile usare username() all'interno di questa espressione. Tenere presente che username() ha il formato DOMAIN\username in Power BI Desktop. All'interno del servizio Power BI e Server di report di Power BI, è nel formato del nome dell'entità utente (UPN) dell'utente. In alternativa, è possibile usare userprincipalname(), che restituisce sempre l'utente nel formato del nome dell'entità utente, username@contoso.com.

  7. Dopo aver creato l'espressione DAX, selezionare il segno di spunta sopra la casella dell'espressione per convalidare l'espressione.

    Screenshot della finestra Espressione DAX del filtro tabella con il segno di spunta evidenziato.

    Nota

    In questa casella di espressione usare le virgole per separare gli argomenti della funzione DAX anche se si usano impostazioni locali che in genere usano separatori di punto e virgola ,ad esempio francese o tedesco.

  8. Seleziona Salva.

Non è possibile assegnare utenti a un ruolo in Power BI Desktop. Le si assegnano nel servizio Power BI. È possibile abilitare la sicurezza dinamica all'interno di Power BI Desktop usando le funzioni DAX username() o userprincipalname() e configurando le relazioni appropriate.

Filtro incrociato bidirezionale

Per impostazione predefinita, il filtro di sicurezza a livello di riga usa filtri a direzione singola, indipendentemente dal fatto che le relazioni siano impostate su una singola direzione o bidirezionale. È possibile abilitare manualmente il filtro incrociato bidirezionale con la sicurezza a livello di riga.

  • Selezionare la relazione e selezionare la casella di controllo Applica filtro di sicurezza in entrambe le direzioni .

    Applicare il filtro di sicurezza

Selezionare questa casella quando si implementa la sicurezza dinamica a livello di riga in base al nome utente o all'ID di accesso.

Per altre informazioni, vedere Filtro incrociato bidirezionale con DirectQuery in Power BI Desktop e il white paper tecnico Protezione del modello semantico bi tabulare.

Convalidare i ruoli in Power BI Desktop

Dopo aver creato i ruoli, testare i risultati dei ruoli in Power BI Desktop.

  1. Nella scheda Modellazione selezionare Visualizza come.

    Screenshot della scheda Modellazione, evidenziando Visualizza come.

    Viene visualizzata la finestra Visualizza come ruoli , in cui sono visualizzati i ruoli creati.

    Screenshot della finestra Visualizza come ruoli con l'opzione Nessuno selezionata.

  2. Selezionare un ruolo creato. Quindi scegliere OK per applicare il ruolo.

    Il report esegue il rendering dei dati rilevanti per tale ruolo.

  3. È anche possibile selezionare Altro utente e specificare un determinato utente.

    Screenshot della finestra Visualizza come ruoli con un utente di esempio immesso.

    È consigliabile specificare il nome dell'entità utente (UPN) perché questo è il servizio Power BI e Server di report di Power BI usare.

    In Power BI Desktop altri utenti visualizzano risultati diversi solo se si usa la sicurezza dinamica in base alle espressioni DAX. In questo caso, è necessario includere il nome utente e il ruolo.

  4. Seleziona OK.

    Il rendering del report viene eseguito in base ai filtri di sicurezza a livello di riga che consentono all'utente di visualizzare.

    Nota

    La funzionalità Visualizza come ruoli non funziona per i modelli DirectQuery con Single Sign-On (SSO) abilitato.

Aggiungere membri ai ruoli

Dopo aver salvato il report in Server di report di Power BI, è possibile gestire la sicurezza e aggiungere o rimuovere membri nel server. Solo gli utenti con autorizzazioni publisher o Content Manager per il report hanno l'opzione di sicurezza a livello di riga disponibile e non disattivata.

Se il report non ha i ruoli necessari, è necessario aprirlo in Power BI Desktop, aggiungere o modificare ruoli, quindi salvarlo di nuovo in Server di report di Power BI.

  1. In Power BI Desktop salvare il report in Server di report di Power BI. È necessario usare la versione di Power BI Desktop per Server di report di Power BI.

  2. Nel servizio report di Power BI selezionare i puntini di sospensione (...) accanto al report.

  3. Selezionare Gestisci>sicurezza a livello di riga.

    Gestire la sicurezza a livello di riga

    Nella pagina Sicurezza a livello di riga aggiungere membri a un ruolo creato in Power BI Desktop.

  4. Per aggiungere un membro, selezionare Aggiungi membro.

  5. Immettere l'utente o il gruppo nella casella di testo nel formato Nome utente (DOMINIO\utente) e selezionare i ruoli da assegnare. Il membro deve trovarsi all'interno dell'organizzazione.

    Aggiungere un membro a un ruolo

    A seconda della configurazione di Active Directory, immettere anche il nome dell'entità utente qui. In tal caso, il server di report mostra il nome utente corrispondente nell'elenco.

  6. Fare clic su OK per applicare.

  7. Per rimuovere i membri, selezionare la casella accanto ai relativi nomi e selezionare Elimina. È possibile eliminare più membri alla volta.

    Eliminare i membri

username() e userprincipalname()

È possibile sfruttare le funzioni DAX username() o userprincipalname() all'interno del set di dati. È possibile usarle all'interno di espressioni in Power BI Desktop. Quando si pubblica il modello, Server di report di Power BI li usa.

In Power BI Desktop username() restituisce un utente nel formato DOMAIN\User e userprincipalname() restituisce un utente nel formato .user@contoso.com

All'interno di Server di report di Power BI, username() e userprincipalname() restituiscono entrambi il nome dell'entità utente (UPN) dell'utente, che è simile a un indirizzo di posta elettronica.

Se si usa l'autenticazione personalizzata in Server di report di Power BI, restituisce il formato del nome utente configurato per gli utenti.

Considerazioni e limitazioni

Ecco le limitazioni correnti per la sicurezza a livello di riga nei modelli di Power BI.

Gli utenti che avevano report che usano la funzione DAX username() noteranno ora un nuovo comportamento in cui viene restituito l'UPN (User Principal Name) quando si usa DirectQuery con sicurezza integrata. Poiché la sicurezza a livello di riga non viene rispettata in questo scenario, il comportamento in tale scenario rimane invariato.

È possibile definire la sicurezza a livello di riga solo nei set di dati creati con Power BI Desktop. Per abilitare la sicurezza a livello di riga per i set di dati creati con Excel, è prima necessario convertire i file in file di Power BI Desktop (PBIX). Altre informazioni sulla conversione dei file di Excel.

Sono supportate solo le connessioni Extract, Transform, Load (ETL) e DirectQuery con credenziali archiviate. Le connessioni dinamiche ad Analysis Services e alle connessioni DirectQuery che usano l'autenticazione integrata vengono gestite nell'origine dati sottostante.

Se si usa la sicurezza integrata con DirectQuery, gli utenti possono notare:

  • La sicurezza a livello di riga è disabilitata e vengono restituiti tutti i dati.
  • Gli utenti non possono aggiornare le assegnazioni di ruolo e ricevere un errore nella pagina Gestione della sicurezza a livello di riga.
  • Per la funzione nome utente DAX, si continua a ricevere il nome utente come DOMAIN\U edizione Standard R.

Gli autori di report non hanno accesso per visualizzare i dati del report in Server di report di Power BI fino a quando non sono stati assegnati di conseguenza i ruoli dopo il caricamento del report.

Le assegnazioni di ruolo tramite appartenenze ai gruppi sono supportate solo quando la Server di report di Power BI è configurata per l'esecuzione con l'autenticazione NTLM o Kerberos. I server in esecuzione con autenticazione personalizzata o Windows Basic devono essere assegnati in modo esplicito ai ruoli.

Domande frequenti

È possibile creare questi ruoli per le origini dati di Analysis Services?

È possibile importare i dati in Power BI Desktop. Se si usa una connessione dinamica, non è possibile configurare la sicurezza a livello di riga all'interno del servizio Power BI. La sicurezza a livello di riga viene definita all'interno del modello di Analysis Services in locale.

È possibile usare la sicurezza a livello di riga per limitare le colonne o le misure accessibili dagli utenti?

No. Se un utente ha accesso a una determinata riga di dati, può visualizzare tutte le colonne di dati per tale riga.

La sicurezza a livello di riga consente di nascondere i dati dettagliati, ma di concedere l'accesso ai dati riepilogati negli oggetti visivi?

No, è possibile proteggere singole righe di dati, ma gli utenti possono sempre visualizzare i dettagli o i dati riepilogati.

È possibile aggiungere nuovi ruoli in Power BI Desktop se sono già stati assegnati ruoli e membri esistenti?

Sì, se nella Server di report di Power BI sono già stati definiti ruoli e membri esistenti, è possibile ripubblicare il report senza alcun effetto sulle assegnazioni correnti.

Altre domande? Contattare la community di Power BI