Del via


Slik aktiverer du sikkerhet på radnivå i Power BI på Power Pages

Akkurat som Power Pages er verktøyet for å raskt utvide Microsoft Dataverse-distribusjonen til offentligheten i form av et webområde, er Power BI verktøyet du kan velge for å gjengi elegante datadrevne visualiseringer. Mulighetene til Power Platform ligger i evnen til sømløst å forene de to. Tidligere, for å gjengi en Power BI-rapporten på en webside, måtte administratorer publisere rapporten på Internett og bygge den inn i en iFrame. Selv om det ble brukt Sidetillatelser til å låse siden sammen med rapporten, ville alle fremdeles ha tilgang til rapporten utenfor webområdet hvis en enkeltperson hadde brukt koblingen til å bygge inn rapporten.

Hensikten med å publisere på nett er å tillate at en hvilken som helst person på Internett kan bruke dataene og til og med dele rapporten på nytt.

Advarsel!

Når du bruker Publiser på nett, kan alle som er på Internett, se rapporten eller visualobjektet du publiserte. Visning krever ikke godkjenning. Det inkluderer visning av data på detaljnivå som rapportene aggregerer. Du bør du sørge for at det er greit å offentliggjøre dataene og visualiseringene offentlig før du publiserer rapporten. Ikke publiser konfidensiell eller proprietær informasjon. Hvis du er i tvil, kontrollerer du organisasjonens policyer før du publiserer.

Med Power BI Embedded kan en kontekstuelt levere Power BI-komponenter til brukere, sende automatiske filtre ved hjelp av en filterparameter og aktivere sikkerhetsfunksjoner på radnivå slik at en organisasjon kan sikre data som er synlige for brukere, og bare vise det de er ment å se.

Merk

Sikkerhet på radnivå støttes bare for Power BI embedded.

Forutsetning

Scenario

Du arbeider for et gruppetreningstudio og bruker Dataverse til å spore gruppetreningsklasser og oppmøte. Gruppens treningsinstruktør ligger ikke hos leieren din, siden hver av dem behandles som en leverandør. Nettstedet ditt skal brukes av disse gruppetreningsinstruktørene til å logge på og se en logg over treningstimene deres, tidsplaner og deltakerpriser. De skal bare kunne se klassene som de selv har ansvar for, og ikke alle andre klasser.

Instruktørene er representert av Kontakt-oppføringer i Dataverse. Når Power Pages-webområdet åpnes, gjøres dette som Kontakt-oppføring. Dataene de trenger å se på nettstedet, kommer fra tabellen for egendefinert klasse. Tabellen Klasser har en N*:1-relasjon til en kontakt, fordi klasseskjemaet har et oppslagsfelt kalt Instruktør, som er for kontakttabellen.

En oppføring for en klasse i Dataverse.

For at sikkerhet på radnivå skal fungere for Power Pages-brukere (Kontakter), må det være den direkte relasjonen mellom kontakten og tabellen du rapporterer mot. Nedenfor finner du en eksempeldatamodell for dette scenariet:

Tabell over kontaktrelasjoner til klasser.

Konfigurere Power BI-rapport eller -instrumentbord

  1. Åpne Power BI-rapporten eller -instrumentbordet i Power BI Desktop.

    Power BI-rapport for instruktør.

  2. Vi må endre relasjonen mellom Kontakt og tabellen (Klasser i dette scenariet) for å bruke toveis filtrering. Dette gjør du ved å velge kategorien Modell helt til venstre.

    Modellalternativet i Power BI.

  3. Velg linjen som kobler kontakt-tabellen til tabellen som inneholder dataene for rapporten, i eksempelsaken er dette vbd_class siden vi rapporterer om klasser.

  4. I vinduet Rediger relasjon finnes det to valglister. Øverst velger du tabellen du rapporterer om (vbd_class), og velger kolonnen som har oppføringens unike identifikator.

  5. Velg kontakt-tabellen i den nederste plukklisten, og velg Kontakt-kolonnen.

  6. Kardinalitet angir mange til én (*:1). Endre verdien Kryssfiltreringsretning til Begge.

    Redigere kobling mellom tabeller.

  7. Velg OK.

  8. Når vi implementerer (RLSRow), må vi opprette rollen vår. I båndet Hjem velg Behandle roller.

  9. Velg Rediger under Opprett. Navnet på rollen. Eksempelscenariet brukte pagesuser.

  10. Fra kolonnen Tabeller velger du kontakt.

  11. Fyll ut tekstboksen til høyre med DAX-uttrykket:

    [User Name] = username()

    Merk

    Feltet [Username] finnes i kontakttabellen og er ikke et faktisk brukernavn. Dette refererer adx_externalidentity-tabellen som brukes av Power Pages. Dette har GUIDen som sendes til Power BI i username()-funksjonen.

    Behandle roller i Power BI.

  12. Velg Lagre, og lagre deretter filen.

  13. Velg Publiser fra båndet Hjem.

  14. Velg et organisasjonsarbeidsområde som du eier, og som skal brukes av Power Pages-integreringen. Velg Velg.

Konfigurer Power BI-integrering

Se Konfigurere Power BI-integrering for å aktivere nettstedet for Power BI-integrasjon.

Bygge inn Power BI-rapport

  1. Naviger til Power Pages. Finn Power Pages-webområdet du skal bygge inn rapporten i, og velg deretter Rediger for å åpne Power Pages-utformingsstudioet.

  2. Fra Sider-arbeidsområdet velger du websiden der du vil bygge inn rapporten.

  3. Legg til en del i brødteksten på websiden.

  4. Velg Power BI-ikonet når du blir bedt om å velge hvilken komponent du vil legge til i delen.

    Legge til en del på en nettside.

  5. Når komponenten fylles ut i delen, velger du øverst til venstre; Rediger Power BI.

  6. Velg Tilgangstype. Alternativene er:

    1. Bygg inn for kundene dine: Gjør at du kan dele Power BI med eksterne brukere uten en Power BI-lisens eller en Microsoft Entra-identitet.

    2. Innebygd for organisasjonen: Dette bruker Microsoft Entra-godkjenning til å dele rapporten fra Power BI, slik at interne brukere kan se dette.

    3. Publiser på nettet: Dette gjør at hvem som helst på Internett kan få tilgang til rapporten og data.

    Forsiktig!

    Kontroller at dette ikke er konfidensiell informasjon!

    Tilleggsinformasjon: Publiser på nettet

    Velg Bygg inn for kundene dine.

  7. Velg arbeidsområdet som inneholder rapporten eller instrumentbordet, angi typen som Rapport eller Instrumentbord, og velg deretter rapporten eller instrumentbordet fra den siste rullegardinlisten. Hvis dette er en rapport, må du angi hvilken side du skal bygge inn.

    Velg rapport.

  8. Hvis du vil se koden som bygde inn rapporten eller instrumentbordet, velger du Rediger kode øverst til høyre i studioet.

    Rediger kode.

  9. Når du blir bedt om det, velger du Åpne Visual Studio Code. Til venstre, under PowerPages (arbeidsområde), har navnet til Power Pages-webområdet en rullegardinmeny til websiden. I denne delen vises en CSS-fil, en JS-fil og HTML-kopien. Kontroller at du er i HTML-kopieringsfilen.

    VS Code.

  10. Velg CTRL + F, og søk etter {%, slik at vi raskt kan identifisere koden som inneholder referansen til Power BI-instrumentbordet eller -rapporten. {% angir åpningen av en kode, som oppretter logikk for språket Liquid. Liquid er broen mellom og Dataverse, og er det brukerne samhandler med på nettstedet. Når vi bruker redigeringsprogrammet for studio til å bygge inn komponenter, opprettes det automatisk en liquid-kodebit i kildekoden til websiden. Du finner mer informasjon om Power BI liquid-koden her: Dataverse Liquid-koder og Legg til Power BI-rapport.

  11. Den fullstendige linjen med liquid-kode som du ser, vil ligne dette:

    {% powerbi authentication_type:"powerbiembedded" path:"https://app.powerbi.com/groups/00000000-0000-0000-0000-000000000000/reports/00000000-0000-0000-0000-000000000000/ReportSection" %}
    
  12. Lukk fanen Visual Studio Code for nettet.

  13. I Power Pages-utformingsstudioet velger du den innebygde Power BI-komponenten og deretter Rediger Power BI.

  14. Rull ned for å velge Bruk roller og deretter true/ja.

  15. I Roller-tekstboksen angir du et navn på rollen du opprettet, i Power BI Desktop.

    Legg til roller i Power BI-komponent.

  16. Hvis du vil se endringene i koden som bygde inn rapporten eller instrumentbordet, velger du nok en gang Rediger kode øverst til høyre i studioet.

  17. Den fullstendige linjen med liquid-kode som du ser, vil nå ligne dette:

    {% 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. Lukk fanen Visual Studio Code for å gå tilbake til utformingsstudioet.

  19. Forhåndsvis den resulterende innebygde rapporten eller instrumentbordet i nettleseren ved å velge Synkroniser øverst i høyre hjørne og deretter Forhåndsvisning > Skrivebord.

  20. Hvis du vil teste rapporten og ingen bruker er logget på, kan du se at RLS er brukt fordi det ikke finnes oppføringer som returneres når du navigerer til Power Pages-webområdet:

    Tom rapport.

    Det finnes underliggende data i denne rapporten, som når du viser dette fra Power BI Desktop uten at RLS er brukt, kan du se at det finnes flere oppføringer totalt, men de er relatert til en kontaktoppføring.

  21. For å teste dette ytterligere, hvis vi logger på webområdet med en bruker som har en tilsvarende kontakt som har relaterte data, kan du bare se oppføringene som er relatert til den signerte brukeren på websiden:

    Klasserapport på webside.

Sammendrag

Du har bygd inn en Power BI-rapport eller et -instrumentbord som bruker sikkerhet på radnivå på Power Pages-webområdet ditt!

Filterruten vises som standard. JavaScript kreves for å skjule filterruten. Her finner du fremgangsmåten: Legge til en Power BI-rapport eller et -instrumentbord på en webside i en portal.