Condividi tramite


Procedura: abilitare la sicurezza a livello di riga in Power BI per Power Pages

Proprio come Power Pages è lo strumento preferito per estendere rapidamente la distribuzione di Microsoft Dataverse al pubblico sotto forma di sito Web, Power BI è lo strumento ideale per generare eleganti visualizzazioni basate su dati. La bellezza di Power Platform sta nella capacità di unire perfettamente i due strumenti. In passato, per generare un report Power BI in una pagina Web, gli amministratori dovevano pubblicare il report sul Web e incorporarlo in un iFrame. Anche se delle autorizzazioni di Pages venivano applicate per bloccare la pagina con il report, se un individuo disponeva del collegamento utilizzato per incorporare il report, era sempre possibile accedere al report al di fuori del sito Web.

Lo scopo di pubblicare sul Web è consentire a qualsiasi individuo sul Web di utilizzare i dati e persino ricondividere il report.

Avviso

Quando si usa Pubblica sul Web, chiunque su Internet può visualizzare il report o l'oggetto visivo pubblicato. La visualizzazione non richiede l'autenticazione. Include la visualizzazione dei dati a livello di dettaglio aggregati dai report. Prima di pubblicare un report, verifica che sia opportuno condividere pubblicamente i dati e le visualizzazioni. Non pubblicare informazioni riservate o di proprietà. In caso di dubbio, prima di procedere alla pubblicazione verifica i criteri dell'organizzazione.

Con Power BI Embedded, è possibile servire contestualmente i componenti di Power BI agli utenti, passare filtri automatici usando un parametro di filtro e abilitare le funzionalità di sicurezza a livello di riga per consentire a un'organizzazione di proteggere realmente i dati visibili agli utenti e visualizzare solo ciò che gli utenti hanno il diritto di vedere.

Nota

La sicurezza a livello di riga è supportata solo per Power BI Embedded.

Prerequisiti

Scenario

Lavori per una palestra di fitness in gruppo e usi Dataverse per tenere traccia dei corsi di fitness e di chi li frequenta. Gli istruttori di fitness in gruppo non risiedono nel tuo tenant poiché sono considerati come lavoratori autonomi. Il tuo sito Web deve essere utilizzato da questi istruttori per accedere e visualizzare una cronologia dei corsi, la programmazione dei corsi e le tariffe dei partecipanti. Ogni istruttore deve vedere solo i propri corsi e non quelli degli altri istruttori.

Gli utenti sono rappresentati da record Contatto in Dataverse. Quando accedono al sito Web di Power Pages, lo fanno con il loro record Contatto. I dati che devono vedere nel sito Web provengono dalla nostra tabella Corsi personalizzata. La tabella Corsi ha una relazione N*:1 con un contatto, poiché il modulo dei corsi ha un campo di ricerca denominato Istruttore, destinato alla tabella dei contatti.

Un record di un corso in Dataverse.

Affinché la sicurezza a livello di riga funzioni per gli utenti (contatti) di Power Pages, deve esserci una relazione diretta tra il Contatto e la tabella per la quale generi il report. Di seguito è riportato un modello di dati di esempio di questo scenario:

Relazione del contatto con la tabella dei corsi.

Configurare il report o il dashboard Power BI

  1. Apri il report o il dashboard Power BI in Power BI Desktop.

    Report Power BI sugli istruttori.

  2. Dobbiamo modificare la relazione tra Contatto e la nostra tabella (Corsi in questo scenario) per utilizzare il filtro bidirezionale. A questo proposito, seleziona la scheda Modello a sinistra.

    Opzione Modello in Power BI.

  3. Seleziona la linea che collega la tabella contatto alla tabella che contiene i dati del report. Nel caso di esempio è vbd_class in quanto stiamo generando un report sui corsi.

  4. Nella finestra Modifica relazione sono presenti due elenchi a discesa. In alto, scegli la tabella vbd_class e seleziona la colonna con l'identificatore univoco del record.

  5. Nell'elenco a discesa in basso seleziona la tabella contatto e quindi la colonna Contatto.

  6. La cardinalità indica Molti-a-uno (*:1). Imposta Direzione filtro incrociato su Entrambi.

    Modifica del collegamento tra le tabelle.

  7. Seleziona OK.

  8. Poiché stiamo implementando la sicurezza a livello di riga (SLR), dobbiamo creare il nostro ruolo. Nella barra multifunzione Home superiore seleziona Gestisci ruoli.

  9. In Ruoli seleziona Crea. Assegna un nome al ruolo. Lo scenario di esempio utilizza pagesuser.

  10. Nella colonna Tabelle seleziona contatto.

  11. Popola la casella di testo a destra con l'espressione DAX:

    [User Name] = username()

    Nota

    Il campo [Username] si trova nella tabella contatto e non è un nome utente effettivo. Questo campo fa riferimento alla tabella adx_externalidentity utilizzata da Power Pages. Include il GUID che viene inviato a Power BI nella funzione username().

    Gestire ruoli in Power BI.

  12. Seleziona Salva e salva il file.

  13. Nella barra multifunzione Home seleziona Pubblica.

  14. Seleziona un'area di lavoro dell'organizzazione di cui sei proprietario e che verrà utilizzata dall'integrazione di Power Pages. Scegli Seleziona.

Configurare l'integrazione di Power BI

Fai riferimento a Impostare l'integrazione di Power BI per abilitare il sito Web per l'integrazione di Power BI.

Incorporare un report di Power BI

  1. Passa a Power Pages. Trova il sito Web di Power Pages in cui incorporerai il report, quindi seleziona Modifica per aprire lo studio di progettazione di Power Pages.

  2. Nell'area di lavoro Pagine seleziona la pagina Web in cui desideri incorporare il report.

  3. Aggiungi una sezione al corpo della pagina Web.

  4. Scegli l'icona di Power BI quando ti viene chiesto di scegliere il componente da aggiungere all'interno della sezione.

    Aggiungere una sezione a una pagina Web.

  5. Quando il componente popola la sezione, nell'angolo in alto a sinistra seleziona Modifica Power BI.

  6. Seleziona Tipo di accesso. Le opzioni sono:

    1. Incorpora per i clienti: consente di condividere Power BI con utenti esterni senza licenza Power BI o identità Microsoft Entra.

    2. Incorpora per l'organizzazione: utilizza l'autenticazione di Microsoft Entra per condividere il report Power BI con utenti interni.

    3. Pubblica sul Web: consente a chiunque su Internet di accedere al report e ai dati.

    Attenzione

    Assicurati che non siano informazioni riservate.

    Ulteriori informazioni: Pubblicare sul Web

    Scegli Incorpora per i clienti.

  7. Seleziona l'area di lavoro che contiene il report o il dashboard, specifica il tipo come Report o Dashboard, quindi scegli il report o il dashboard dall'ultimo menu a discesa. Se si tratta di un report, devi specificare quale pagina stai incorporando.

    Seleziona report.

  8. Per vedere il codice che ha incorporato il report o il dashboard, seleziona Modifica codice nell'angolo in alto a destra dello studio.

    Modificare il codice.

  9. Quando richiesto, seleziona Apri Visual Studio Code. A sinistra, sotto PowerPages (area di lavoro) il nome del sito Web di Power Pages comporta un menu a discesa per la pagina Web. In quella sezione vengono visualizzati un file .css, un file .js e la copia HTML. Assicurati che sia evidenziato il file di copia HTML.

    VS Code.

  10. Seleziona CTRL + F e cerca {% per poter identificare rapidamente il codice che contiene il riferimento al nostro dashboard o report Power BI. {% indica l'apertura di un tag, che crea logica per il linguaggio Liquid. Liquid è il ponte tra Dataverse e ciò con cui gli utenti interagiscono nel sito Web. Quando utilizziamo l'editor dello studio per incorporare componenti, una parte di codice Liquid viene creata automaticamente nel codice sorgente della pagina Web. Per ulteriori informazioni sul tag Liquid di Power BI, vedi Tag Liquid di Dataverse e Aggiungere un report Power BI.

  11. La riga completa del codice Liquid visualizzata sarà simile a quanto segue:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Chiudi la scheda Visual Studio Code per il Web.

  13. Nello studio di progettazione di Power Pages seleziona il componente Power BI incorporato e scegli Modifica Power BI.

  14. Scorri verso il basso per impostare Applica ruoli su vero/sì.

  15. Nella casella di testo Ruoli digita il nome del ruolo creato in Power BI Desktop.

    Aggiungere ruoli al componente Power BI.

  16. Per vedere le modifiche al codice che ha incorporato il report o il dashboard, seleziona di nuovo Modifica codice nell'angolo in alto a destra dello studio.

  17. La riga completa del codice Liquid visualizzata ora sarà simile a quanto segue:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
    
  18. Chiudi la scheda Visual Studio Code per tornare allo studio di progettazione.

  19. Visualizza l'anteprima del report o del dashboard incorporato risultante nel browser selezionando Sincronizza nell'angolo in alto a destra, quindi selezionando Anteprima > Desktop.

  20. Per testare il report, senza utente connesso, puoi vedere che la sicurezza a livello di riga è stata applicata poiché nessun record viene restituito navigando al sito Web di Power Pages:

    Report vuoto.

    Ci sono dati sottostanti in questo report, poiché quando lo visualizzi da Power BI Desktop senza la sicurezza a livello di riga applicata, puoi vedere che ci sono diversi record complessivi, ma correlati a un record di contatto.

  21. Per testare ulteriormente il report, se accediamo al sito Web con un utente che ha un contatto corrispondente con dati correlati, puoi vedere solo i record relativi all'utente connesso nella pagina Web:

    Report sui corsi nella pagina Web.

Riepilogo

Hai incorporato un report o un dashboard Power BI che utilizza la sicurezza a livello di riga nel tuo sito Web Power Pages.

Il riquadro dei filtri è visualizzato per impostazione predefinita. Per nasconderlo è necessario JavaScript. I passaggi per svolgere questa operazione sono descritti in Aggiungere un report o un dashboard Power BI a una pagina Web in un portale.