Prémium szintű munkaterületi és szemantikai modellfeladatok automatizálása szolgáltatásnevek használatával

A szolgáltatásnevek olyan Microsoft Entra-azonosítós alkalmazásregisztrációk , amelyeket a bérlőn belül hoz létre felügyelet nélküli erőforrás- és szolgáltatásszint-műveletek végrehajtásához. Egyedi felhasználói identitástípus, amely egy jelszóhoz tartozó alkalmazásnévvel, alkalmazásazonosítóval, bérlőazonosítóval és titkos ügyfélkóddal vagy tanúsítvánnyal rendelkezik.

A Power BI Premium ugyanazokat a szolgáltatásnév-funkciókat használja, mint a Power BI Embedded. További információ: Power BI-tartalmak beágyazása szolgáltatásnevek használatával.

A Power BI Premiumban az XMLA (XML Analysis) végponttal rendelkező szolgáltatásnevek használatával automatizálhatja a szemantikai modellek felügyeleti feladatait, például a munkaterületek kiépítését, a modellek üzembe helyezését és a szemantikai modellek frissítését a következőkkel:

  • PowerShell.
  • Az Azure Automation szolgáltatással.
  • Azure Logic Apps.
  • Egyéni ügyfélalkalmazások.

Csak az új munkaterületek támogatják az XMLA-végpontkapcsolatokat szolgáltatásnevek használatával. A klasszikus munkaterületek nem támogatottak. A szolgáltatásnév csak azokkal az engedélyekkel rendelkezik, amelyek a hozzárendelt munkaterületeken végzett feladatok elvégzéséhez szükségesek. Az engedélyek a munkaterület-hozzáférésen keresztül vannak hozzárendelve, hasonlóan a hagyományos UPN-fiókokhoz (felhasználónévhez).

Írási műveletek végrehajtásához a kapacitás szemantikai modellekkel kapcsolatos számítási feladatának engedélyeznie kell az XMLA-végpontot az olvasási-írási műveletekhez. A Power BI Desktopból közzétett szemantikai modelleknek engedélyezniük kell a továbbfejlesztett metaadat-formátum funkciót.

Egyszerű szolgáltatás létrehozása

A szolgáltatásnevek alkalmazásregisztrációként jönnek létre az Azure Portalon vagy a PowerShell használatával. A szolgáltatásnév létrehozásakor mindenképpen másolja és mentse külön az alkalmazás nevét, az alkalmazás (ügyfél) azonosítóját, a címtár (bérlő) azonosítóját és az ügyfél titkos kódját. A szolgáltatásnév létrehozásának lépéseit a következő témakörben találja:

Microsoft Entra biztonsági csoport létrehozása

Alapértelmezés szerint a szolgáltatásnevek hozzáférhetnek minden olyan bérlői beállításhoz, amelyhez engedélyezve vannak. A rendszergazdai beállításoktól függően a hozzáférés adott biztonsági csoportokat vagy a teljes szervezetet is tartalmazhat.

A szolgáltatásnév adott bérlői beállításokhoz való hozzáférésének korlátozásához engedélyezheti a hozzáférést adott biztonsági csoportokhoz. Másik lehetőségként létrehozhat egy dedikált biztonsági csoportot a szolgáltatásnevek számára, és kizárhatja azt a kívánt bérlői beállításokból. Biztonsági csoport létrehozásához és szolgáltatásnév hozzáadásához lásd : Alapszintű csoport létrehozása és tagok hozzáadása a Microsoft Entra-azonosítóval.

Szolgáltatásnevek engedélyezése

Mielőtt megkezdené a szolgáltatásnevek használatát a Power BI-ban, a rendszergazdának engedélyeznie kell a szolgáltatásnév-hozzáférést a Power BI Rendszergazda portálon.

  1. Lépjen a Power BI Rendszergazda portálra, és válassza a Bérlői beállítások lehetőséget.
  2. Görgessen a fejlesztői beállításokhoz, majd bontsa ki a Power BI API-k használatának engedélyezése szolgáltatásnevek számára lehetőséget.
  3. Válassza az Engedélyezve lehetőséget.
  4. Ha engedélyeket szeretne alkalmazni egy biztonsági csoportra, válassza az Adott biztonsági csoportok (ajánlott) lehetőséget.
  5. Adja meg a csoport nevét.
  6. Válassza az Alkalmazás lehetőséget.

Képernyőkép a Rendszergazda portálról, amelyen a bérlői beállítások ki van választva. A Szolgáltatásnevek power BI API-k használatának engedélyezése ki van bontva az engedélyezett kiemeléssel.

Munkaterület-hozzáférés

Ahhoz, hogy a szolgáltatásnév rendelkezzen a prémium szintű munkaterület és szemantikai modellműveletek végrehajtásához szükséges engedélyekkel, hozzá kell adnia a szolgáltatásnevet munkaterület-tagként vagy Rendszergazda. A munkaterület-hozzáférés Power BI szolgáltatás való használatát itt ismertetjük, de használhatja a Csoportfelhasználó hozzáadása REST API-t is.

  1. A munkaterület Power BI szolgáltatás válassza a További>munkaterület-hozzáférés lehetőséget.

    Képernyőkép a munkaterületek listájáról. A további ikonok és munkaterület-hozzáférések ki vannak emelve.

  2. Keressen az alkalmazásnév alapján, majd adja hozzá a szolgáltatásnevet Rendszergazda vagy tagként a munkaterülethez.

    A szolgáltatásnév nevét megjelenítő hozzáférési párbeszédpanel képernyőképe. Rendszergazda van kiválasztva.

az XMLA-végpont Csatlakozás ion-sztringjei

Miután létrehozott egy egyszerű szolgáltatást, engedélyezze a bérlő szolgáltatásneveit, és adja hozzá a szolgáltatásnevet a munkaterület-hozzáféréshez, használja azt felhasználói identitásként az XMLA-végponttal rendelkező kapcsolati sztring. A különbség az, hogy a paraméterek és password a user id paraméterek helyett meg kell adnia az alkalmazásazonosítót, a bérlőazonosítót és az alkalmazás titkos kódját.

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

PowerShell

Nyisson meg egy PowerShell-munkamenetet a következő példakód futtatásához.

AZ SQLServer modul használata

Az alábbi példában AppIdTenantIdAppSecret a szemantikai modell frissítési műveletének hitelesítésére szolgálnak:

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) és ADOMD.NET

Amikor ügyfélalkalmazásokkal és webalkalmazásokkal csatlakozik, az AMO és az ADOMD ügyfélkódtárak 15.1.42.26-os (2020. júniusi) és újabb telepíthető csomagjait használhatja a NuGetből a kapcsolati sztring szolgáltatásnevek támogatásához a következő szintaxis app:AppID és jelszó vagy cert:thumbprint.

Az alábbi példában appID az password értékek a modelladatbázis frissítési műveletének végrehajtására szolgálnak:

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();