Power BI jaetut datasetit: jakaminen ja käyttöoikeudet V2 työtiloissa

Blogi Kirjoittanut:

Power BI:hin tuli uutena ominaisuutena kesäkuun alussa Shared Datasets (https://docs.microsoft.com/en-us/power-bi/service-datasets-across-workspaces). Tämän innoittamana päätimme piirtää auki Power BI Servicen resurssien jakamiseen ja käyttöoikeuksiin liittyvän mallin. Power BI Servicen:n monipuolistuessa myöskään datan jakaminen ja käyttöoikeusmallin hallinta ei ole enää kokonaisuutena triviaalia.

Hyvä yleisesittely jaetuista dataseteistä löytyy esim Guy in a Cube:lta https://www.youtube.com/watch?v=AZoeT4akV5M. Tässä kirjoituksessa keskitymme kuitenkin konseptuaalisiin eroihin datan jakamismetodeissa ja niiden hallinnoinnissa. Koska monet Power BI -konseptit ovat tutumpia englanniksi, käytän tässä (sekaisin) suomea ja englantia.

Havainnollistamme miten resurssien jakaminen ja käyttöoikeudet toimivat Power BI Servicessä. Osa ominaisuuksista on yhä preview:ssa ja myös käyttöliittymässä tulee välillä vastaan epäjohdonmukaisuuksia hypittäessä työtilasta toiseen (esim Manage Permissions, View Related -valikoissa).

Rajauksena, käsiteltävät asiat koskevat vain”new workspace experience:ä”, ei vanhoja työtiloja. Asian laajuuden vuoksi myös Data Flowt, tenatin ulkopuolinen jakaminen ja lisensointi on rajattu ulos. Emme myöskään käy tässä läpi ”Tenant Level” -asetuksia joilla Power BI Service Administatorit voivat vaikuttaa koko tenanttin asetuksiin.

Käydään ensin läpi yleisellä tasolla raporttien jakaminen ja sen jälkeen tarkemmin mitä itse asiassa ovat Power BI:n resurssit (Resources) ja niiden käyttöoikeudet (Permissions).

Disclaimer: Vaikka olemme tarkistaneet kaikki alla esiteltävät skenaariot, on toiminnallisuuksien uutuuden vuoksi myös hyvä muistaa, että esimerkiksi Shared Dataset toiminnallisuudet saattavat muuttua GA:n myötä.

Resurssien jakaminen

Resursseja (Workspace, App, Dashboard, Report, Dataset) voidaan jakaa useammalla tavalla. Alla olevassa kuvassa on kuvattu konseptuaalisesti miten resursseja voidaan jakaa eteenpäin itselle tai muille käyttäjille.

Miten resursseja voidaan jakaa

Raportteja voidaan jakaa V2 App Workspaceista seuraavissa tavoilla. Tekstissä mainittavia käyttöoikeuksia (Read, Build, Reshare) käymme myöhemmin tarkemmin läpi:

App sharing

  • Loppukäyttäjä luvitetaan Appiin. App ei ole muokattavissa
  • Jakaminen vaatii Admin tai Member -oikeuden työtilaan
  • Loppukäyttäjä (jakamisen kohde) voi viedä raportin My Workspaceen muokattavaksi, jos käyttäjälle annetaan ”Allow users to make a copy of the reports in this app” -oikeus
  • Loppukäyttäjä saa rakentaa uuden raportin datasetin päälle jos hänelle annetaan ”Allow all users to connect to the app’s underlying datasets using the Build permission” -oikeus
  • Jos haluat ettei loppukäyttäjällä ole kuin lukuoikeus (esim ei edelleenjako oikeuksia viemällä App omaan työtilaan) onnistuu tämä ottamalla Build-oikeus pois
  • Kun poistaa loppukäyttäjän App:sta, jää hänelle datasettiin kuitenkin read oikeudet (ja myös build jos ollut sallittu). Jos käyttäjä on kopioinut App:n My Workspace:en niin täytyy käyttöoikeuksien kokonaan poistamiseksi poistaa ”Manage access” välilehdeltä erikseen Read -oikeudet
  • Appissa sijaitsee kopio dashbordista ja raportista jotka viittaavat samaan datasettiin kuin alkuperäinen dashboard ja raportti

Report/dashboard sharing

  • Kun loppukäyttäjä ei ole luvitettuna työtilassa, niin hänelle voidaan jakaa raportti tai dashboard My Workspace:en
  • Kun dashboard jaetaan niin loppukäyttäjä saa automaattisesti Dashboardiin, Report:iin ja Datasettiin ”Read -permission:in”. Raporttia jaettaessa read -permission tulee report ja Dataset tasolle
  • Jakaminen vaatii jakalta Admin tai Member oikeuden työtilaan.
  • Shared report / dashboard on read-only ellei käyttäjällä ole muuta kautta muokkausoikeutta raporttiin
  • Loppukäyttäjä voi edelleen viedä report / dashboard:n kokoaan erilliseen App Workspaceen (loogisempaa on tosin viedä raportit suoraan alkeperäisestä työtilasta, kuten alla kuvataan)
  • Kertaalleen jaetun raportin edelleen jakaminen vaatii, että Report tai Dataset permissioneihin on laitettu loppukäyttäjälle ”reshare”

Copy report to same App Workspace

  • Kopioidaan toinen versio raportista samaan työtilaan
  • Vaatii Admin, Member tai Contributor -oikeuden

Copy report to another App Workspace / Publish from Power BI Desktop

  • Voidaan kopioida raportti suorana työtilasta toiseen Power BI servicessä. Vaatii Admin, Member tai Contributor -roolin.

Power BI Desktop

  • ”Power BI Datasets” –connectorilla ”Live” -yhteyden ottaminen Power BI Servicessä olevaan datasettiin ja uuden raportin rakentaminen vanhan datasetin päälle. Vaatii Build-oikeuden
  • Uusi raportti voidaan julkaista uuteen työtilaan
  • Uuden raportin tekeminen voidaan joko aloittaa tyhjältä raportilla Power BI Desktopilla tai muokkaamalla olemassa olevaa raporttia Power BI Servicessä. Ei siis vielä ole vaihtoehtoa jossa saataisiin Desktopin muokattavuus (mm. measureiden teko) ja Power BI Servicen kopioinnilla tulevat valmiit visualisaatiot pohjaksi

Resurssien jakamisen ja kuluttamisen vaatimat käyttöoikeudet

Resurssien jakamista voi ajatella myös jakamiseen tarvittavien käyttöoikeuksien kannalta kuten on tehty alla olevassa kuvassa. Kuva on muutoin sama kuin aiempi konseptikuva, mutta katkoviivoille on merkitty jakamiseen tarvittava oikeus. ”Workspace” -merkintä tarkoittaa, että oikeus periytyy työtilan roolien kautta. ”Contributor+” -tarkoittaa, että vaaditaan Contributor, Member tai Admin -rooli.

Eli esimerkiksi raportin kopiointi työtilasta toiseen vaatii kopioinnin tekijältä vähintään Contributor-roolin alkuperäisessä työtilassa.

Tarvittavat oikeudet resurssien jakamiseen

Kolman tapa katsoa asiaa on jaettujen resurssien käyttämiseen tarvittavien käyttöoikeuksien kautta. Kuva on muutoin sama kuin ylempänä mutta katkoviivoille on merkitty jaetun resurssin katseluun tarvittava oikeus.

Jos loppukäyttäjällä on esimerkiksi Viewer-rooli kohde työtilassa, saa hän siitä tarvittavan Read-oikeuden raporttiin. Loppukäyttäjällä ei kuitenkaan ole kohdetyötilan Viewer-roolin (tai edes Admin-roolin!) kautta datasettiin read-oikeutta koska se on jaettu datasetti. Täten täytyy käyttäjälle erikseen lisätä dataset tasolla (joko alkuperäisessä tai uudessa työtilassa, koska molemmat viittaavat samaan datasettiin) read-oikeus.

Tarvittavat oikeudet jaettujen resurssien käyttämiseen

Seuraavaksi käydään läpi, mitä Read ja Build -oikeudet tarkoittavat käytännössä.

Resussien käyttöoikeudet

Seuraavassa on SQL Serveristä soveltaen lainattu tapa kuvata Power BI Servicen käyttöoikeuksia. SQL Serverin Authentication & Authorization kääntyy Power BI Servicessä Access & Permission -muotoon.

Power BI Servicessä on käyttäjiä (user). Käyttäjät voivat kuulua rooliin (Role) ja roolilla voi olla sisäänpääsyoikeus (Access) resurssiin tai käyttöoikeuksia (Permission) resursseihin (Resource). Käyttäjälle voi antaa myös suoraan oikeuksia resursseihin.

Access ja permissions -konseptuaalinen malli

Käyttäjä saa pääsyoikeuden Workspace-resurssiin App Workspace-roolin kautta. Workspace pitää sisällään Dashboard, Report ja Dataset (+Workbook ja Dataflow) -resursseja. Workspace-roolin kautta käyttäjä perii automaattisesti myös tiettyjä oikeuksia Workspacen sisällä oleviin resursseihin. Näitä periytyviä oikeuksia kuvattu tarkemmin myöhemmin.

App:in pääsyoikeus tulee App-roolin kautta. App-resurssi sisältää Dashboard ja Report -resurssit jotka ovat kopioita vastaavista dashboardeista ja raporteista App Workspacessa.

Workspace- ja App-rooleista perittyjä käyttöoikeuksia voidaan käsin muokata Workspacesta jokaiselle resurssille (Dashboard, Report, Dataset) erikseen. Alla yleiskuva Access & Permission -oikeuksien periytymisestä käyttäjälle.

Eli esimerkiksi App-rooliin kuuluminen (eli käyttäjä luvitettu App:iin) antaa oikeuden päästä sisään Appiin ja nähdä siihen kuuluvat dashboardit ja raportit, mutta rooli antaa myös oikeuden alla olevaan Workspacen datasettiin.

Power BI Servicen Access ja permissions -yleiskuva

Seuraavassa kuvassa on esitetty Power BI servicen dokumentaation perusteella mitä workspacen hallinointiin liittyviä oikeuksia eri Workspace -rooleihin kuulumisesta periytyy käyttäjälle. Tässä kuvassa ei ole mukana itse dataan liittyvät oikeudet vaan pelkästään hallinointi-oikeudet.

Workspace role permissions

Kuten aiemmin mainitsimme, tarkemmalla tasolla tarkasteltaessa voidaan työtilan yksittäisille resursseille antaa erilaisia käyttöoikeuksia. Dashboardille ja raportille voidaan antaa Reshare tai Read -oikeudet. Jos käyttäjä on Admin tai Member työtilassa tulee hänestä automaattisesti Dashboard, Report ja Dataset -resurssien ”Owner”. Se tarkoittaa, että käyttäjällä on kaikki alla esitetyt niihin liittyvät oikeudet. Contributor ja Viewer -roolissa työtilassa olevat henkilöt saavat vain Read -oikeudet resusseihin

Nimensä mukaisesti Read oikeuttaa katsomaan resurssia ja Reshare oikeuttaa jakamaan resurssin eteenpäin.

Datasetillä on edellämainittujen oikeuksien lisäksi uusi Build -oikeus. Build viittaa siihen, että datasetin päälle voidaan rakentaa uusia raportteja Live-yhteydellä. Build permission tarvitaan Analyze in Excel ja Power BI Desktop Live-connection:in luomiseen. Käyttäjille jotka ovat ennen Build-oikeutta saaneet käyttää Analyze in Excel toimintoa on automaattisesti konvertoitu Build oikeus.

Tosiasiassa oikeuksia on varmasti enemmän (esim ”Write”). Näitä voisi varmasti lähteä penkomaan esim. REST API -dokumentaation kautta, mutta keskitytään tässä käyttäjälle käyttöliittymässä näkyviin oikeuksiin joiden kautta määritellään resurssien hallintaa Power BI servicessä.

Alla olevassa kuvassa (joka on varmasti tähän mennessä sekavin) kuvataan miten käyttäjä voi saada tietyn spesifin oikeiden resurssiin joko App- tai Workspace -roolin kautta, taikka suoraan käyttäjälle lisättynä. App:n dashboard ja raportti ovat jätetty selkeyden vuoksi pois kuvasta.

Esimerkiksi työtilan Member-rooliin kuuluva käyttäjä saa Owner-oikeuden dashboardeihin, raportteihin, ja datasetteihin. Eli hän saa tehdä ja nähdä työtilassa kaiken mitä Adminkin, lukuunottamatta muutamia yllämainittuja työtilan hallintaan liittyviä ominaisuuksia. Row Level Security koskee vain uutta Viewer-roolia, muut roolit näkevät kaiken datan.

Esimerkki

Otetaan käyttöoikeusmallin selventämiseksi vielä esimerkkitapaus käyttöoikeuksista: käyttäjä A jakaa raportin käyttäjä B:lle (Share report -toimilla) joka jakaa sen eteenpäin käyttäjä C:lle.

A:n täytyy olla Admin tai Member App Workspacessa jotta hän voi jakaa raportin B:lle. A sallii myös raportin edelleenjakamisen ja muttei ”Build” oikeutta (Live-yhteyden ottamista Power BI Desktopista) B:lle.

B jakaa raportin edelleen käyttäjä C:lle, mutta ei anna tälle edelleen jako-oikeutta. Tällöin kaikki käyttäjät A,B ja C saavat erilaisen käyttöoikeuden raporttiin ja siihen liittyvään datasettiin. Käyttöoikeuden resursseihin näyttävät siis seuraavalta:

Esimerkin käyttöoikeudet

Yhteenveto

Yllä on koitettu kuvata kattavasti resurssien jakamista, käyttöoikeuksia ja niiden periytymistä Power BI Servicessä. Power BI Servicen muuttuessa Microsoftin strategian mukaisesti ”unified business intelligence“ -alustaksi, nousee datan hallinointi alustalla yhä tärkeämpään rooliin. Toivottavasti tämä kirjoitus auttaa tämän kokonaisuuden ymmärtämisessä.