Sledovanie aktivít používateľa v službe Power BI

Informácie o tom, kto vykonáva aké akcie s ktorými položkami v službe Power BI, môžu zásadne pomôcť organizácii pri plnení jej požiadaviek – napríklad vykonávať správu súladu s predpismi a záznamami. Tento článok obsahuje informácie o denníku aktivity služby Power BI, ktorý vychádza z rozhraní REST API služby Power BI.

Pomocou denníka auditu môžete sledovať aktivity používateľov služby Microsoft Fabric vrátane operácií služby Power BI.

Predpoklady

  • Musíte byť globálnym správcom alebo správcom služby Power BI.

  • Nainštalujte lokálne rutiny typu cmdlet na spravovanie služby Power BI alebo použite rutiny typu cmdlet na spravovanie služby Power BI v prostredí Azure Cloud Shell.

Denník aktivity

Denník aktivity služby Power BI obsahuje úplnú kópiu aktivít služby Power BI v poli JSON. Zoznam všetkých aktivít Power BI nájdete v zozname operácií služby Fabric.

ActivityEvents REST API

Na exportovanie udalostí aktivity do úložiska objektov BLOB alebo databázy SQL môžete použiť aplikáciu na správu založenú na rozhraniach Power BI REST API. Potom môžete vytvoriť vlastnú zostavu používania, ktorá bude využívať exportované údaje. Pri volaní rozhrania ActivityEvents REST API musíte zadať počiatočný dátum a koncový dátum a voliteľne filter na výber aktivít podľa typu aktivity alebo identifikácie používateľa. Keďže denník aktivity môže obsahovať veľké množstvo údajov, rozhranie ActivityEvents API v súčasnosti podporuje na jednu požiadavku stiahnutie údajov iba za jeden deň. Inými slovami, počiatočný dátum a koncový dátum musia určovať ten istý deň, ako je uvedené v nasledujúcom príklade. Nezabudnite zadať hodnoty vo formáte DateTime UTC (koordinovaný svetový čas).

https://api.powerbi.com/v1.0/myorg/admin/activityevents?startDateTime='2019-08-31T00:00:00'&endDateTime='2019-08-31T23:59:59'

V prípade veľkého počtu položiek vráti rozhranie ActivityEvents API len približne od 5 000 do 10 000 záznamov a pokračový token. Ak chcete získať ďalšiu dávku záznamov, pomocou pokračového tokenu znova zavolajte rozhranie ActivityEvents API, až kým nepreberiete všetky záznamy a nevráti sa vám už pokračový token. V nasledujúcom príklade je uvedené, ako používať pokračovný token:

https://api.powerbi.com/v1.0/myorg/admin/activityevents?continuationToken='%2BRID%3ARthsAIwfWGcVAAAAAAAAAA%3D%3D%23RT%3A4%23TRC%3A20%23FPC%3AARUAAAAAAAAAFwAAAAAAAAA%3D'

Ak výsledky zahŕňajú pokračový token, pokračujte v volaní rozhrania API pomocou tohto tokenu, aby sa zvyšok údajov načítal, kým sa už pokračový token nevráti. Volanie je možné vrátiť pokračový token bez záznamov udalosti. V nasledujúcom príklade je uvedené, ako vytvoriť slučku s pokračovým tokenom vráteným v odpovedi:

while(response.ContinuationToken != null)
{
   // Store the activity event results in a list for example
    completeListOfActivityEvents.AddRange(response.ActivityEventEntities);

    // Make another call to the API with continuation token
    response = GetPowerBIActivityEvents(response.ContinuationToken)
}
completeListOfActivityEvents.AddRange(response.ActivityEventEntities);

Ak časové rozpätie medzi startDateTime a endDateTime presahuje 1 hodinu, spracovanie údajov continuationUri v odpovedi vyžaduje viacero požiadaviek.

V nasledujúcom príklade je uvedené, ako stiahnuť údaje za 1 hodinu a 5 minút:

GET https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?startDateTime='2020-08-13T07:55:00Z'&endDateTime='2020-08-13T09:00:00Z'
{
  "activityEventEntities": […],
  "continuationUri": https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?continuationToken='LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D',
  "continuationToken": "LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D",
  "lastResultSet": false
}

GET https://wabi-staging-us-east-redirect.analysis.windows.net/v1.0/myorg/admin/activityevents?continuationToken='LDIwMjAtMDgtMTNUMDc6NTU6MDBaLDIwMjAtMDgtMTNUMDk6MDA6MDBaLDEsLA%3D%3D'
{
  "activityEventEntities": [],
  "continuationUri": null,
  "continuationToken": null,
  "lastResultSet": false
}

Ďalšie informácie o používaní rozhrania REST API služby Power BI vrátane príkladov, ako získavať udalosti aktivít auditu, nájdete v téme Spravovanie – získanie udalostí aktivít v referenčnej dokumentácii k rozhraniu POWER BI REST API.

Rutina cmdlet Get-PowerBIActivityEvent

Stiahnite si udalosti aktivít pomocou rutín typu cmdlet na spravovanie služby Power BI v prostredí PowerShell. Rutina typu cmdlet Get-PowerBIActivityEvent automaticky spracuje pokračový token. Rutina Get-PowerBIActivityEvent typu cmdlet má parametre StartDateTime a EndDateTime s rovnakými obmedzeniami ako rozhranie ActivityEvents REST API. Inými slovami, počiatočný dátum a koncový dátum musia odkazovať na rovnakú hodnotu dátumu, pretože údaje o aktivite môžete naraz načítať len za jeden deň.

V nasledujúcom skripte je ukázané, ako stiahnuť všetky aktivity služby Power BI. Príkaz konvertuje výsledky formátu JSON na objekty .NET, čím zabezpečuje priamy prístup k vlastnostiam jednotlivých aktivít. Tieto príklady zobrazujú najmenšie a najväčšie možné časové pečiatky za deň, aby sa nevynechávajú žiadne udalosti:

Login-PowerBI

$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' | ConvertFrom-Json

$activities.Count
$activities[0]

Filtrovanie údajov o aktivite

Udalosti aktivity môžete filtrovať podľa typu aktivity a identifikácie používateľa. V nasledujúcom skripte je ukázané, ako stiahnuť iba údaje o udalostiach pre aktivitu ViewDashboard . Ďalšie informácie o podporovaných parametroch získate pomocou príkazu Get-Help Get-PowerBIActivityEvent.

Login-PowerBI

$activities = Get-PowerBIActivityEvent -StartDateTime '2019-08-31T00:00:00' -EndDateTime '2019-08-31T23:59:59' -ActivityType 'ViewDashboard' | ConvertFrom-Json

$activities.Count
$activities[0]

Poznámka

K dispozícii je ukážka prostredia PowerShell, ktorá vám pomôže zistiť, ako filtrovať a načítať udalosti denníka aktivity prostredia PowerShell. Ďalšie informácie nájdete v téme Prístup k denníku aktivity služby Power BI.