Partajați prin


Instrucțiuni: Activarea securității la nivel de rând în Power BI, în Power Pages

Așa cum Power Pages este instrumentul de alegere pentru a extinde rapid implementarea Microsoft Dataverse către public sub forma unui site web, Power BI este instrumentul de alegere pentru a reda vizualizări elegante bazate pe date. Frumusețea Power Platform constă în capacitatea sa de a le îmbina perfect pe cele două. În trecut, pentru a reda un raport Power BI într-o pagină web, administratorii trebuiau să publice raportul pe web și să-l încorporeze într-un iFrame. Chiar dacă cineva a aplicat permisiuni pentru Pagini pentru a bloca pagina cu raportul, dacă o persoană ar fi folosit linkul pentru a încorpora raportul, oricine ar fi putut accesa raportul în afara site-ului web.

Scopul publicării pe web este acela de a permite oricărei persoane de pe web să utilizeze datele și chiar să redistribuie raportul.

Avertisment

Când utilizați opțiunea Publicare pe web, oricine de pe internet vă poate vizualiza raportul vizual sau publicat. Vizualizarea nu necesită autentificare. Include vizualizarea datelor la nivel de detaliu pe care le adună rapoartele dvs. Înainte de a publica un raport, asigurați-vă că este bine pentru dvs. să partajați datele și vizualizările în mod public. Nu publicați informații confidențiale sau protejate. Dacă aveți îndoieli, consultați politicile organizației dvs. înainte de publicare.

Cu Power BI embedded, se pot oferi contextual componentele Power BI utilizatorilor, puteți transmite filtre automate folosind un parametru de filtru și puteți activa capabilități de securitate la nivel de rând pentru a permite unei organizații să securizeze cu adevărat datele vizibile pentru utilizatori și să afișeze numai ceea ce le este permis să vadă.

Notă

Securitatea la nivel de rând este acceptată numai pentru Power BI embedded.

Cerințe preliminare

Scenariu

Lucrezi pentru un studio de fitness de grup și folosești Dataverse pentru a urmări cursurile de fitness de grup și prezența acestora. Instructorii de fitness de grup nu locuiesc pe entitatea dvs. găzduită, deoarece fiecare este tratat ca un antreprenor. Site-ul dvs. web va fi folosit de acești instructori de fitness de grup pentru a se conecta și a vedea un istoric al cursurilor predate, programul viitor și tarifele participanților. Totuși, ei ar trebui să poată vedea doar cursurile pe care le-au predat ei înșiși și nu pe ale tuturor.

Instructorii sunt reprezentați de înregistrările Persoană de contact în Dataverse. La accesarea site-ul web Power Pages, ei fac acest lucru ca înregistrarea Persoană de contact a lor. Datele pe care trebuie să le vadă pe site provin din tabelul nostru personalizat Cursuri. Tabelul Cursuri are o relație N*:1 cu un o persoană de contact, deoarece formularul claselor are un câmp de căutare numit Instructor, care este pentru tabelul de persoane de contact.

O înregistrare a unei clase în Dataverse.

Pentru ca securitatea la nivel de rând să funcționeze pentru utilizatorii (Persoane de contact) Power Pages, trebuie să existe acea relație directă între Persoană de contact și tabelul pe care îl raportați. Mai jos este un exemplu de model de date al acestui scenariu:

Relația persoanelor contact cu tabelul de cursuri.

Configurarea raportului sau tabloului de bord Power BI

  1. Deschideți raportul sau tabloul de bord Power BI în Power BI Desktop.

    Raportul pentru instructor Power BI.

  2. Trebuie să schimbăm relația dintre Persoană de contact și tabelul nostru (Cursuri în acest scenariu) pentru a folosi filtrarea bidirecțională. Pentru a face acest lucru, selectați fila Model din extrema stângă.

    Opțiuni de model în Power BI.

  3. Selectați linia care leagă tabelul dvs. de persoane de contact la tabelul care conține datele raportului dvs. – în cazul de exemplificare, acesta este vbd_class din moment ce raportăm pentru cursuri.

  4. În fereastra Editare relație, există două liste de selectare. În partea de sus, alegeți tabelul pentru care raportați (vbd_class) și selectați coloana care are identificatorul unic al înregistrării.

  5. În lista de selectare de jos, selectați tabelul de persoane de contact și selectați coloana Persoană de contact.

  6. Cardinalitatea indică Mai multe la unu (*:1). Schimbați Direcția filtrului încrucișat în Ambele.

    Editarea legăturii între tabele.

  7. Selectați OK.

  8. Pe măsură ce implementăm Securitatea la nivel de rând (RLS), trebuie să ne creăm rolul. Din panglica de sus Acasă, selectați Gestionați rolurile.

  9. Sub Roluri, selectați Creați. Denumiți rolul. Exemplul de scenariu a folosit pagesuser.

  10. Din coloana Tabele, selectați persoane de contact.

  11. Completați caseta de text din dreapta cu expresia DAX:

    [User Name] = username()

    Notă

    Câmpul [Username] se află în tabelul de persoane de contact și nu este un nume de utilizator real. Aceasta face referire la tabelul adx_externalidentity folosit de Power Pages. Acesta are GUID-ul care este trimis către Power BI în funcția username().

    Gestionare roluri în Power BI.

  12. Selectați Salvare, apoi salvați fișierul dvs.

  13. Din panglica Acasă, selectaţi Publicare.

  14. Selectați un spațiu de lucru al organizației pentru care sunteți proprietar și care va fi folosit de integrara Power Pages. Alegeți Selectare.

Configurarea integrării Power BI

Consultați Configurați integrarea Power BI pentru a vă activa site-ul pentru integrarea Power BI.

Integrarea raportului Power BI

  1. Navigați la Power Pages. Găsiți site-ul web Power Pages în care veți încorpora raportul și apoi selectați Editați pentru a deschide studioul de proiectare Power Pages.

  2. Din spațiul de lucru Pagini, selectați pagina web în care doriți să încorporați raportul.

  3. Adăugați o secțiune în corpul paginii web.

  4. Alegeți pictograma Power BI când vi se solicită să alegeți componenta pe care o adăugați în secțiune.

    Adăugați o secțiune la o pagină web.

  5. Când componenta populează secțiunea, selectați în colțul din stânga sus; Editare Power BI.

  6. Selectați Tipul de acces. Opțiunile sunt:

    1. Încorporați pentru clienții dvs.: vă permite să partajați Power BI cu utilizatori externi fără Power BI licență sau Microsoft Entra identitate.

    2. Încorporați pentru organizația dvs.: aceasta folosește Microsoft Entra autentificare pentru a partaja raportul de la Power BI așa ca utilizatorii interni să poată vedea acest lucru.

    3. Publicare pe web: aceasta permite oricui de pe internet să acceseze raportul și datele.

    Atenție

    Asigurați-vă că acestea nu sunt informații confidențiale!

    Informații suplimentare: Publicați pe web

    Alegeți Încorporați pentru clienții dvs..

  7. Selectați spațiul de lucru care conține raportul sau tabloul de bord, specificați tipul ca Raport sau Tablou de bord, apoi alegeți raportul sau tabloul de bord din ultimul meniu vertical. Dacă acesta este un raport, trebuie să specificați ce pagină încorporați.

    Selectare raport.

  8. Pentru a vedea codul care a încorporat raportul sau tabloul de bord, selectați Editați codul din colțul din dreapta sus al studioului.

    Editați codul.

  9. Când vi se solicită, selectați Deschideți Visual Studio Code. În stânga, sub PowerPages (spațiul de lucru) numele site-ului web Power Pages are un meniu derulant către pagina web. În acea secțiune vedeți un fișier .css, un fișier .js și copia HTML. Asigurați-vă că vă aflați pe fișierul copie HTML.

    VS Code.

  10. Selectați CTRL + F și căutați {% pentru a putea identifica rapid codul care conține referința la tabloul de bord sau raportul Power BI. {% indică deschiderea unei etichete, care creează o logică pentru limba Liquid. Lichidul este puntea noastră de legătură între Dataverse și lucrurile cu care utilizatorii interacționează pe site. Când folosim editorul studio pentru a încorpora componente, o bucată de cod lichid este creată automat în codul sursă al paginii web. Mai multe informații despre eticheta lichidă Power BI pot fi găsite aici: Dataverse Etichete lichide și Adăugați un raport Power BI .

  11. Linia completă de cod lichid pe care o vedeți va semăna cu:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Închideți fila Visual Studio Code pentru web.

  13. În studioul de design Power Pages, selectați componentă încorporată Power BI și alegeți Editați Power BI .

  14. Derulați în jos pentru a comuta Aplicați roluri la adevărat/da.

  15. În caseta de text Roluri, introduceți numele rolului pe care l-ați creat în Power BI Desktop.

    Adăugați roluri la componenta Power BI.

  16. Pentru a vedea modificările aplicate codului care a încorporat raportul sau tabloul de bord, selectați din nou Editați codul din colțul din dreapta sus al studioului.

  17. Linia completă de cod lichid pe care o vedeți acum va semăna cu:

    {% 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. Inchideți fila Visual Studio Code pentru a reveni la studioul de design.

  19. Previzualizați raportul sau tabloul de bord încorporat rezultat în browser selectând Sincronizare în colțul din dreapta sus, apoi selectând Previzualizare > Desktop.

  20. Pentru a testa raportul, fără niciun utilizator conectat, puteți vedea că RLS a fost aplicat, deoarece nu există înregistrări returnate navigând către site-ul web Power Pages:

    Raport necompletat.

    Există date de bază în acest raport, ca atunci când vedeți acest lucru din Power BI Desktop fără RLS aplicat, puteți vedea că există mai multe înregistrări în general, dar sunt legate de o înregistrare de contact.

  21. Pentru a testa acest lucru în continuare, dacă ne autentificăm pe site-ul web cu un utilizator care are o persoană de contact corespunzătoare care are date conexe, puteți vedea numai înregistrările referitoare la utilizatorul semnat pe pagina web:

    Raportul cursului pe pagina web.

Rezumat

Ați încorporat un raport sau tablou de bord Power BI care utilizează securitatea la nivel de rând pe site-ul dvs. web Power Pages!

Panoul Filtrare apare în mod implicit. Ascunderea panoului de filtrare necesită JavaScript. Pașii pentru a face acest lucru sunt documentați aici: Adăugați un raport sau tablou de bord Power BI la o pagină web dintr-un portal.