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:
- Prostredie 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 k objektu služby na portáli na správu služby Power BI.
- Prejdite na portál na správu služby Power BI a potom vyberte položku Nastavenia nájomníka.
- 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.
- Vyberte možnosť Povolené.
- Ak chcete použiť povolenia na skupinu zabezpečenia, vyberte položku Konkrétne skupiny zabezpečenia (odporúča sa).
- Zadajte názov skupiny.
- Vyberte Použiť.
Prístup k pracovnému priestoru
Aby mal objekt služby potrebné povolenia na vykonávanie operácií pracovného priestoru a sémantického modelu Premium, musíte objekt služby pridať ako člena alebo správcu pracovného priestoru. 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 používateľa skupiny.
V služba Power BI pre pracovný priestor vyberte položku Ďalší>prístup k pracovnému priestoru.
Vyhľadajte názov aplikácie a potom pridajte objekt služby ako správcu alebo člena do pracovného priestoru.
Reťazce pripojenia 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 AppId
TenantId
sa 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();