Automatizácia úloh pracovného priestoru a sémantického modelu Premium pomocou objektov služby

Objekty služby sú registrácia aplikácie Microsoft Entra ID, ktorú vytvoríte v rámci nájomníka na vykonávanie automatických operácií na úrovni zdrojov a služieb. Predstavujú jedinečný typ identity používateľa s názvom aplikácie, ID aplikácie, ID nájomníka a tajným kľúčom klienta alebo certifikátom pre heslo.

Power BI Premium používa rovnaké funkcie objektov služby ako Power BI Embedded. Ďalšie informácie nájdete v téme Vkladanie obsahu služby Power BI pomocou objektov služby.

V službe Power BI Premium môžete použiť objekty služby s koncovým bodom XMLA (XML Analysis) na automatizáciu úloh správy sémantických modelov, ako je napríklad poskytovanie pracovných priestorov, nasadzovanie modelov a obnovenie sémantických modelov pomocou:

  • Powershell.
  • Azure Automation.
  • Azure Logic Apps.
  • Vlastné klientske aplikácie.

Pripojenia koncových bodov XMLA pomocou objektov služby sa podporujú len v nových pracovných priestoroch. Klasické pracovné priestory sa nepodporujú. Objekt služby má iba povolenia potrebné na vykonávanie úloh v pracovných priestoroch, v ktorých je priradený. Povolenia sa priraďujú prostredníctvom prístupu k pracovnému priestoru, podobne ako pri bežných kontách hlavného mena používateľa (hlavné meno používateľa).

Na vykonávanie operácií zapisovania musí byť v vyťažení sémantických modelov kapacity povolený koncový bod XMLA pre operácie čítania a zapisovania. Sémantické modely publikované z aplikácie Power BI Desktop by mali mať povolenú funkciu rozšíreného formátu metaúdajov.

Vytvorenie objektu služby

Objekty služby sa vytvárajú ako registrácia aplikácie na portáli Azure alebo pomocou prostredia PowerShell. Pri vytváraní objektu služby nezabudnite skopírovať a samostatne uložiť názov aplikácie, ID aplikácie (klienta), ID adresára (nájomníka) a tajný kľúč klienta. Kroky na vytvorenie objektu služby nájdete v téme:

Vytvorenie skupiny zabezpečenia v microsoft Entra

Objekty služby majú predvolene prístup ku všetkým nastaveniam nájomníka, pre ktorého sú povolené. V závislosti od nastavení správcu môže prístup zahŕňať konkrétne skupiny zabezpečenia alebo celú organizáciu.

Ak chcete obmedziť prístup objektu služby ku konkrétnym nastaveniam nájomníka, môžete povoliť prístup ku konkrétnym skupinám zabezpečenia. Prípadne môžete vytvoriť vyhradenú skupinu zabezpečenia pre objekty služby a vylúčiť ju z požadovaných nastavení nájomníka. Ak chcete vytvoriť skupinu zabezpečenia a pridať objekt služby, pozrite si tému Vytvorenie základnej skupiny a pridanie členov pomocou ID microsoft Entra.

Povolenie objektov služby

Skôr než budete môcť začať používať objekty služby v službe Power BI, správca musí povoliť prístup objektov služby na portáli Spravovanie služby Power BI.

  1. Prejdite na portál Spravovanie Power BI a potom vyberte položku Nastavenia nájomníka.
  2. Posuňte sa na položku Nastavenia pre vývojára a potom rozbaľte položku Povoliť objektom služby používať rozhranie API služby Power BI.
  3. Vyberte možnosť Povolené.
  4. Ak chcete použiť povolenia na skupinu zabezpečenia, vyberte položku Konkrétne skupiny zabezpečenia (odporúča sa).
  5. Zadajte názov skupiny.
  6. Vyberte Použiť.

Snímka obrazovky zobrazujúca portál Spravovanie s vybratými nastaveniami nájomníka. Povoliť objektom služby používať rozhranie API služby Power BI je rozbalená s povoleným zvýraznením.

Prístup k pracovnému priestoru

Aby mal objekt služby potrebné povolenia na vykonávanie operácií v pracovnom priestore a sémantickom modeli Premium, musíte objekt služby pridať ako člena pracovného priestoru alebo Spravovanie. Tu je popísaný prístup k pracovnému priestoru v služba Power BI, môžete však použiť aj rozhranie REST API na pridanie používateľa skupiny.

  1. V služba Power BI pre pracovný priestor vyberte položku Ďalší>prístup k pracovnému priestoru.

    Snímka obrazovky zobrazujúca zoznam pracovných priestorov. Ikona a prístup k pracovnému priestoru sú zvýraznené.

  2. Vyhľadajte názov aplikácie a potom pridajte objekt služby do pracovného priestoru ako Spravovanie alebo ako člen.

    Snímka obrazovky znázorňujúca dialógové okno prístupu s hlavným názvom služby. Spravovanie je vybratá.

reťazce Pripojenie ion pre koncový bod XMLA.

Po vytvorení objektu služby povoľte objekty služby pre svojho nájomníka a pridajte objekt služby do prístupu k pracovnému priestoru, použite ho ako identitu používateľa v reťazec pripojenia s koncovým bodom XMLA. Rozdiel je v tom, že namiesto user id parametrov a password zadáte ID aplikácie, ID nájomníka a tajný kód aplikácie.

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

PowerShell

Otvorte reláciu prostredia PowerShell a spustite nasledujúci príklad kódu.

Použitie modulu SQLServer

V nasledujúcom príklade AppIdTenantIdsa rozhrania a AppSecret používajú na overenie operácie obnovenia sémantického modelu:

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

Objekty správy analýzy (AMO) a ADOMD.NET

Po pripojení ku klientskym aplikáciám a webovým aplikáciám môžete použiť klientske knižnice AMO a ADOMD verzie 15.1.42.26 (jún 2020) a novšie inštalovateľné balíky z NuGet na podporu objektov služby v reťazec pripojenia pomocou nasledujúcej syntaxe: app:AppID a hesla alebo cert:thumbprint.

V nasledujúcom príklade appID sa hodnoty a password používajú na vykonanie operácie obnovenia modelovej databázy:

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