Premium-työtilan ja semanttisen mallin tehtävien automatisoiminen palvelujen päänimien avulla

Palvelujen päänimet ovat Microsoft Entra ID -sovelluksen rekisteröinti , jonka luot vuokraajasi sisällä ja jonka avulla voit suorittaa valvomattomia resurssi- ja palvelutason toimintoja. Ne ovat yksilöiviä käyttäjätietotyyppejä, joilla on sovelluksen nimi, sovellustunnus, vuokraajatunnus ja salasanana asiakassalaisuus tai varmenne.

Power BI Premium käyttää samaa palvelun päänimitoimintoa kuin Power BI Embedded. Lisätietoja on artikkelissa Power BI -sisällön upottaminen palvelujen päänimien avulla.

Power BI Premiumissa voit käyttää palvelun päänimiä XMLA (XML Analysis) -päätepisteen kanssa semanttisen mallin hallintatehtävien automatisointeihin, kuten työtilojen valmisteluun, mallien käyttöönottoon ja semanttisen mallin päivitykseen:

  • Powershell.
  • Azure Automation.
  • Azure Logic Apps.
  • Mukautetut asiakassovellukset.

Vain uudet työtilat tukevat XMLA-päätepisteyhteyksiä palvelun päänimien avulla. Perinteisiä työtiloja ei tueta. Palvelun päänimellä on vain ne oikeudet, jotka tarvitaan tehtävien suorittamiseen työtiloissa, joihin se on määritetty. Oikeudet määritetään työtilan käyttöoikeuden kautta paljolti tavallisten UPN-tilien (käyttäjän päänimi) tapaan.

Jotta voit suorittaa kirjoitustoimintoja, kapasiteetin semanttisten mallien kuormituksessa on oltava XMLA-päätepiste käytössä luku- ja kirjoitustoiminnoissa. Power BI Desktopista julkaistuissa semanttisissa malleissa on oltava parannettu metatietomuoto käytössä.

Palvelun päänimen luominen

Palvelujen päänimet luodaan sovelluksen rekisteröintinä Azure-portaali tai PowerShellin avulla. Kun luot palvelun päänimeä, kopioi ja tallenna erikseen sovelluksen nimi, sovelluksen (asiakkaan) tunnus, hakemiston (vuokraajan) tunnus ja asiakassalaisuus. Ohjeet palvelun päänimen luomiseen ovat seuraavissa ohjeissa:

Microsoft Entra -käyttöoikeusryhmän luominen

Oletusarvoisesti palvelun päänimillä on käyttöoikeus kaikkiin asetuksiin, jotka niille on otettu käyttöön. Järjestelmänvalvojan asetusten mukaan käyttöoikeus voi sisältää tietyt käyttöoikeusryhmät tai koko organisaation.

Jos haluat rajoittaa palvelun päänimen käyttöoikeuksia tiettyihin vuokraajan asetuksiin, voit sallia käytön tietyille käyttöoikeusryhmille. Vaihtoehtoisesti voit luoda erityisen käyttöoikeusryhmän palvelun päänimille ja jättää sen pois halutuista vuokraajan asetuksista. Jos haluat luoda käyttöoikeusryhmän ja lisätä palvelun päänimen, katso Perusryhmän luominen ja jäsenten lisääminen Microsoft Entra -tunnuksella.

Palvelujen päänimien ottaminen käyttöön

Ennen kuin voit aloittaa palvelujen päänimien käytön Power BI:ssä, järjestelmänvalvojan on otettava käyttöön palvelun päänimen käyttöoikeus Power BI Hallinta portaalissa.

  1. Siirry Power BI Hallinta portaaliin ja valitse sitten Vuokraaja-asetukset.
  2. Siirry kohtaan Kehittäjäasetukset ja laajenna sitten Salli palvelun päänimien käyttää Power BI -ohjelmointirajapintoja.
  3. Valitse Käytössä.
  4. Jos haluat käyttää käyttöoikeuksia tiettyyn käyttöoikeusryhmään, valitse Tietyt käyttöoikeusryhmät (Suositus).
  5. Anna ryhmän nimi.
  6. Valitse Käytä.

Näyttökuvassa näkyy Hallinta portaali, jossa vuokraajan asetukset ovat valittuina. Salli palvelun päänimien käyttää Power BI -ohjelmointirajapintoja laajennetaan, kun käytössä olevat ovat korostettuina.

Työtilan käyttöoikeus

Jotta palvelun päänimellä olisi tarvittavat oikeudet Premium-työtilan ja semanttisen mallin toimintojen suorittamiseen, sinun on lisättävä palvelun päänimi työtilan jäseneksi tai Hallinta. Työtilan käyttö Power BI -palvelu on kuvattu tässä, mutta voit myös käyttää Lisää ryhmän käyttäjäÄ REST -ohjelmointirajapintaa.

  1. Valitse työtilan Power BI -palvelu Lisää>työtilan käyttöoikeuksia.

    Näyttökuvassa näkyy luettelo työtiloista. Mitä enemmän kuvaketta ja työtilan käyttöoikeuksia on korostettu.

  2. Hae sovelluksen nimen mukaan ja lisää sitten palvelun päänimi Hallinta tai jäseneksi työtilaan.

    Näyttökuvassa näkyy käyttöoikeuksien valintaikkuna, jossa näkyy palvelun päänimi. Hallinta on valittuna.

XMLA-päätepisteen Näyttöyhteys merkkijonot

Kun olet luonut palvelun päänimen, ota vuokraajasi palvelujen päänimet käyttöön ja lisää palvelun päänimi työtilan käyttöoikeuksiin ja käytä sitä käyttäjätietona XMLA-päätepisteen yhteysmerkkijono. Ero on, että - ja password -user idparametrien sijaan määrität sovellustunnuksen, vuokraajatunnuksen ja sovellussalaisuuden.

Data Source=powerbi://api.powerbi.com/v1.0/myorg/<workspace name>; Initial Catalog=<dataset name>;User ID=app:<appId>@<tenantId>;Password=<app_secret>;

PowerShell

Avaa PowerShell-istunto, jotta voit suorittaa seuraavan esimerkkikoodin.

SQLServer-moduulin käyttäminen

Seuraavassa esimerkissä AppId, ja TenantIdAppSecret käytetään semanttisen mallin päivitystoiminnon todentamiseen:

Param (
        [Parameter(Mandatory=$true)] [String] $AppId,
        [Parameter(Mandatory=$true)] [String] $TenantId,
        [Parameter(Mandatory=$true)] [String] $AppSecret
       )
$PWord = ConvertTo-SecureString -String $AppSecret -AsPlainText -Force

$Credential = New-Object -TypeName "System.Management.Automation.PSCredential" -ArgumentList $AppId, $PWord

Invoke-ProcessTable -Server "powerbi://api.powerbi.com/v1.0/myorg/myworkspace" -TableName "mytable" -DatabaseName "mydataset" -RefreshType "Full" -ServicePrincipal -ApplicationId $AppId -TenantId $TenantId -Credential $Credential

Analysis Management Objects (AMO) ja ADOMD.NET

Kun muodostat yhteyden asiakassovelluksiin ja verkkosovelluksiin, voit käyttää AMO- ja ADOMD-asiakaskirjastojen versioita 15.1.42.26 (kesäkuu 2020) ja uudempia asennettavia paketteja NuGetistä palvelun päänimien tukemiseksi yhteysmerkkijono: app:AppID ja salasanalla tai cert:thumbprint.

Seuraavassa esimerkissä appID ja password -arvoja käytetään mallitietokannan päivitystoiminnon suorittamiseen:

string appId = "xxx";
string authKey = "yyy";
string connString = $"Provider=MSOLAP;Data source=powerbi://api.powerbi.com/v1.0/<tenant>/<workspacename>;Initial catalog=<datasetname>;User ID=app:{appId};Password={authKey};";
Server server = new Server();
server.Connect(connString);
Database db = server.Databases.FindByName("adventureworks");
Table tbl = db.Model.Tables.Find("DimDate");
tbl.RequestRefresh(RefreshType.Full);
db.Model.SaveChanges();