Sledování aktivit uživatelů v Power BI

Znalost toho, kdo podniká akci na které položce v Power BI, může být důležitá při plnění požadavků vaší organizace, jako je například dodržování právních předpisů a správa záznamů. Tento článek popisuje protokol aktivit Power BI, který je založený na rozhraních REST API Power BI.

Aktivity uživatelů Microsoft Fabric, včetně operací Power BI, můžete sledovat pomocí protokolu auditu.

Požadavky

  • Musíte být globálním správcem nebo správcem Power BI.

  • Nainstalujte rutiny správy Power BI místně nebo použijte rutiny pro správu Power BI v Azure Cloud Shellu.

Protokol aktivit

Protokol aktivit Power BI obsahuje úplnou kopii aktivit Power BI v poli JSON. Seznam všech aktivit Power BI najdete v seznamu operací Prostředků infrastruktury.

ActivityEvents REST API

K exportu událostí aktivit do úložiště objektů blob nebo databáze SQL můžete použít aplikaci pro správu založenou na rozhraních REST API Power BI. Potom můžete vytvořit vlastní sestavu využití nad exportovanými daty. Ve volání rozhraní REST API ActivityEvents musíte zadat počáteční a koncové datum a volitelně filtr pro výběr aktivit podle typu aktivity nebo ID uživatele. Vzhledem k tomu, že protokol aktivit může obsahovat velké množství dat, rozhraní API ActivityEvents aktuálně podporuje stahování až jednoho dne dat na požadavek. Jinými slovy, počáteční a koncové datum musí obsahovat stejný den jako v následujícím příkladu. Ujistěte se, že jste zadali DateTime hodnoty ve formátu UTC (Coordinated Universal Time).

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

Pokud je počet položek velký, vrátí rozhraní API ActivityEvents pouze přibližně 5 000 až 10 000 položek a token pokračování. Znovu volejte rozhraní API ActivityEvents s tokenem pro pokračování, abyste získali další dávku položek a tak dále, dokud nedostanete všechny položky a už neobdržíte token pro pokračování. Následující příklad ukazuje, jak používat token pro pokračování:

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

Pokud výsledky obsahují pokračovací token, pokračujte voláním rozhraní API pomocí tohoto tokenu získat zbývající data, dokud se už nevrátí token pro pokračování. Volání může vrátit token pro pokračování bez jakýchkoli položek událostí. Následující příklad ukazuje, jak smyčka s tokenem pokračování vráceným v odpovědi:

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

Pokud časový rozsah mezi startDateTime a delším než endDateTime 1 hodinou trvá více požadavků, aby se data continuationUri stáhla v reakci.

Následující příklad ukazuje, jak stáhnout data po dobu 1 hodiny a 5 minut:

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
}

Další informace o používání rozhraní REST API Power BI, včetně příkladů, jak získat události aktivit auditu, najdete v referenční dokumentaci k rozhraní REST API Power BI v tématu Správa – Získání událostí aktivit.

Rutina Get-PowerBIActivityEvent

Události aktivit si můžete stáhnout pomocí rutin správy Power BI pro PowerShell. Rutina Get-PowerBIActivityEvent automaticky zpracuje token pokračování za vás. Rutina přebírá parametr StartDateTime a EndDateTime se stejnými omezeními jako rozhraní REST API ActivityEvents.Get-PowerBIActivityEvent Jinými slovy, počáteční a koncové datum musí odkazovat na stejnou hodnotu data, protože data o aktivitě můžete načíst pouze po dobu jednoho dne najednou.

Následující skript ukazuje, jak stáhnout všechny aktivity Power BI. Příkaz převede výsledky z FORMÁTU JSON na objekty .NET pro jednoduchý přístup k vlastnostem jednotlivých aktivit. Tyto příklady ukazují nejmenší a největší časové razítko, které je možné za den, aby se zajistilo, že se nezmešká žádné události:

Login-PowerBI

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

$activities.Count
$activities[0]

Filtrování dat aktivit

Události aktivit můžete filtrovat podle typu aktivity a ID uživatele. Následující skript ukazuje, jak stáhnout pouze data události pro aktivitu ViewDashboard . Další informace o podporovaných parametrech naleznete v pří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 dispozici je ukázka PowerShellu, která vám pomůže zjistit, jak filtrovat a načítat události protokolu aktivit Power BI. Další informace najdete v tématu Přístup k protokolu aktivit Power BI.