Sådan aktiveres sikkerhed på rækkeniveau i Power BI på Power Pages
På samme måde som Power Pages er værktøjet det valg der hurtigt kan udvide din Microsoft Dataverse-udrulning det offentlige i form af et websted, kan du vælge Power BI til at gengive datadrevne visualiseringer. Fordelen ved Power Platform ligger i dets muligheder for at blande de to. Hvis en rapport skal gengives på en Power BI-rapport på en webside, skal administratorer tidligere publicere rapporten på internettet og indlejre den i en iFrame. Selvom én har anvendt Tilladelsessider til at låse siden sammen med rapporten, vil alle brugere stadig kunne få adgang til rapporten uden for webstedet, hvis linket blev brugt til at indlejre rapporten.
Formålet med at udgive til internettet er at give alle på internettet mulighed for at forbruge dataene og endda dele rapporten igen.
Advarsel!
Når du bruger Publicer på internettet, kan alle på internettet se den rapport eller det visuelle element, som du har publiceret. Visning kræver ikke godkendelse. Dette omfatter visning af data på detaljeniveau, der er aggregeret i dine rapporter. Inden du publicerer en rapport, skal du sikre dig, at du har ret til at dele dataene og visualiseringerne offentligt. Publicer ikke fortrolige eller beskyttede oplysninger. Hvis du er i tvivl, kan du kontrollere din organisations politikker inden publiceringen.
Med Power BI embedded kan du anvende kontekstafhængige Power BI-komponenter til brugere, sende automatiske filtre ved hjælp af en filterparameter og aktivere sikkerhedsfunktioner på rækkeniveau, så organisationen kan opnå virkelig sikre data, der er synlige for brugere, og kun få vist det, de er beregnet til at se.
Bemærk
Sikkerhed på rækkeniveau understøttes kun for Power BI embedded.
Forudsætninger
- Lejer med et Microsoft Dataverse-miljø og et Power Pages-websted installeret.
- Et websted til at integrere en Power BI-rapport eller -dashboard.
- Relevante forretningsdata, der gemmes i Dataverse.
- Power BI Desktop.
- Kapacitet til publicering af Power BI-integreret indhold.
- Globale administratorrettigheder for lejere.
- Global lejeradministrator med administratorrollen i Power BI-servicearbejdsområdet.
- Organisation, ikke personligt Power BI-arbejdsområde.
- Registrering/godkendelse aktiveret på webstedet.
Scenarie
Du arbejder i en gruppe i et fitness-studio og bruger Dataverse til at spore gruppeklasser og deres tilstedeværelse. Gruppen af fitness-medarbejdere findes ikke på lejeren, da hver af dem behandles som en underleverandør. Dit websted skal bruges af disse grupper med fitness-instruktører, så du kan logge på og se en oversigt over deres klasser, deres kommende tidsplan og deltagerpriser. De skal dog kun kunne se de klasser, de selv har, og ikke alle andres.
Instruktørerne repræsenteres ved Kontakt-poster i Dataverse. Når de åbner Power Pages webstedet, gør de det som deres Kontakt-post. De data, de skal have vist på webstedet, kommer fra tabellen med brugerdefinerede Klasser. Tabellen Klasser har en N*:1-relation til en kontakt, da klasserne i formularen indeholder et opslagsfelt med navnet Instruktør, som det er muligt at udfylde kontakttabellen.
Hvis sikkerhed på rækkeniveau skal fungere for Power Pages-brugere (Kontakter), skal der være en direkte relation mellem Kontaktpersonen og den tabel, du rapporterer mod. Nedenfor er der et eksempel på en datamodel for dette scenario:
Konfigurere Power BI rapport eller dashboard
Åbn Power BI-rapporten eller dashboardet i Power BI Desktop.
Vi skal ændre relationen mellem Kontaktperson og vores tabel (Klasser i dette scenario) for at bruge tovejsfiltrering. Gør dette ved at vælge fanen Model yderst til venstre.
Vælg den linje, der knytter din kontakt-tabel til den tabel, der indeholder rapportens data. I eksempelsagen er det vbd_class, da vi rapporterer om klasser.
I vinduet Rediger relation findes to valglister. Vælg den tabel, du vil rapportere for (vbd_class) øverst, og vælg den kolonne, der indeholder postens entydige id.
Vælg kontakttabellen på den nederste valgliste, og vælg kolonnen Kontaktperson.
Kompleksiteten indikerer Mange til én (*:1). Vælg værdien Begge for Tværgående filterretning.
Vælg OK.
Når vi implementerer RLS (Row Level Security), skal vi oprette vores rolle. Øverst på båndet Start skal du vælge Administrer roller.
Under Roller skal du vælge Opret. Navnet på rollen. I eksempelscenariet blev der brugt pagesuser.
Fra kolonnen Tabeller skal du vælge kontakt.
Udfyld tekstfeltet til højre med DAX-udtrykket:
[User Name] = username()
Bemærk
Feltet
[Username]
findes i kontakttabellen og er ikke et egentligt brugernavn. Referencer til den adx_externalidentity-tabellen, der bruges af Power Pages. Dette har det GUID, der sendes til Power BI i brugernavn()-funktionen.Vælg Gem, og gem derefter din fil.
Fra Start-båndet skal du vælge Publicer.
Vælg et organisationsarbejdsområde, som du er ejer af, og som skal bruges af Power Pages-integrationen. Klik på Vælg.
Konfigurere Power BI-integration
Se Konfigurere Power BI-integration for at aktivere dit websted til Power BI-integration.
Integrere Power BI-rapport
Naviger til Power Pages. Find det Power Pages-websted, du vil indlejre rapporten på, og vælg derefter Rediger for at åbne Power Pages design studio.
Vælg arbejdsområdet Sider, vælg den webside, hvor rapporten skal indlejres.
Føj en sektion til websiden.
Vælg ikonet Power BI, når du bliver bedt om at vælge, hvilken komponent du vil tilføje i sektionen.
Når komponenten udfylder sektionen, skal du vælge i øverste venstre hjørne. Rediger Power BI.
Vælg Adgangstype. Indstillingerne er:
Integrer til dine kunder: Gør det muligt at dele Power BI med eksterne brugere uden en Power BI-licens eller en Microsoft Entra-identitet.
Integrere til din organisation: Denne bruger Microsoft Entra-godkendelse til at dele rapporten fra Power BI , så interne brugere kan se denne.
Publicere på internettet: Dette giver dig mulighed for at få adgang til rapporten og data.
Advarsel
Sørg for, at dette ikke er fortrolige oplysninger!
Flere oplysninger: Publicere på internettet
Vælg Integrer til dine kunder.
Vælg det arbejdsområde, der indeholder rapporten eller dashboardet, angiv typen som Rapport eller Dashboard, og vælg derefter rapporten eller dashboardet fra den sidste rulleliste. Hvis det er en rapport, skal du angive, hvilken side du indlejrer.
Hvis du vil se den kode, der har integreret rapporten eller dashboardet, skal du vælge Rediger kode i øverste højre hjørne af studioet.
Når du bliver bedt om det, skal du vælge Åbn Visual Studio Code. Til venstre under navnet PowerPages (arbejdsområde) har navet for Power Pages-webstedet en rulleliste til websiden. I dette afsnit kan du se en .css-fil, en .js-fil og HTML-kopien. Kontrollér, at du er i HTML-kopifilen.
Vælg CTRL + F, og søg efter
{%
så vi hurtigt kan identificere den kode, der indeholder referencen til vores Power BI-dashboard eller rapport.{%
angiver åbning af en kode, som opretter logik for sproget Liquid. Liquid er vores bro mellem Dataverse og det, brugerne kommunikerer med på webstedet. Når vi bruger studio-editoren til at indlejre komponenter, oprettes der automatisk et stykke kode i kildekoden til websiden. Du kan finde flere oplysninger i koden Power BI-liquid her: Dataverse Liquid-koder og Tilføj Power BI-rapport.Den fulde linje med liquid-kode, du kan se, ligner følgende:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
Luk Visual Studio Code for web-fanen.
I Power Pages design studio skal du vælge den integrerede Power BI-komponent og derefter vælge Rediger Power BI.
Rul ned for at skifte Anvend roller til sand/ja.
Skriv navnet på den rolle, du har oprettet i Power BI Desktop i tekstfeltet Roller.
Hvis du vil se de ændringer, der laver i koden, der har integreret rapporten eller dashboardet, skal du igen vælge Rediger kode i øverste højre hjørne af studioet.
Den fulde linje med liquid-kode, du kan se, ligner nu følgende:
{% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000001/ReportSection" roles:"pagesuser" %}
Luk fanen Visual Studio Code for at vende tilbage til designstudiet.
Få vist et eksempel på den integrerede rapport eller det integrerede dashboard i browseren ved at vælge Synkroniser i øverste højre hjørne og derefter vælge Vis > skrivebord.
Hvis du vil teste rapporten, og ingen brugere er logget på, kan du se, at RLS er anvendt, da der ikke returneres poster, som navigerer til Power Pages-webstedet:
Der er underliggende data i denne rapport, som når du får vist dem fra Power BI Desktop uden at anvende RLS, kan du se, at der er flere poster samlet, men de er relateret til en kontaktpost.
Hvis vi vil teste dette yderligere, kan du kun se de poster, der er relateret til den signerede bruger, på websiden, hvis vi logger på webstedet med en bruger, der har en tilknyttet kontaktperson med relaterede data:
Opsamling
Du har integreret en rapport eller et dashboard fra Power BI, der bruger sikkerhed på rækkeniveau på dit Power Pages-websted!
Filterruden vises som standard. Når du skjuler filterruden, skal du bruge JavaScript. Trin til at gøre dette dokumenteres her: Tilføje en Power BI-rapport eller et dashboard til en webside i en portal.