Felhasználói tevékenységek nyomon követése a Power BI-ban

Annak ismerete, hogy ki milyen műveletet hajt végre a Power BI-ban, kritikus fontosságú lehet abban, hogy a szervezet megfeleljen a követelményeknek, például megfeleljen a jogszabályi megfelelőségnek és a rekordkezelésnek. Ez a cikk a Power BI REST API-kon alapuló Power BI tevékenységnaplót ismerteti.

Az auditnaplóval nyomon követheti a Microsoft Fabric felhasználói tevékenységeit, beleértve a Power BI-műveleteket is.

Előfeltételek

  • Globális rendszergazdának vagy Power BI-rendszergazdának kell lennie

  • Telepítse a Power BI Management parancsmagjait helyileg, vagy használja a Power BI Felügyeleti parancsmagokat az Azure Cloud Shellben.

Activity log

A Power BI tevékenységnaplója tartalmazza a Power BI-tevékenységek teljes másolatát egy JSON-tömbben. A Háló műveletlistában megtalálja az összes Power BI-tevékenység listáját.

ActivityEvents REST API

A Power BI REST API-kon alapuló felügyeleti alkalmazásokkal tevékenységeseményeket exportálhat blobtárolóba vagy SQL-adatbázisba. Ezután létrehozhat egy egyéni használati jelentést az exportált adatokra. Az ActivityEvents REST API-hívásban meg kell adnia egy kezdő dátumot és egy befejezési dátumot, valamint szükség esetén egy szűrőt a tevékenységek tevékenységtípus vagy felhasználói azonosító szerinti kiválasztásához. Mivel a tevékenységnapló nagy mennyiségű adatot tartalmazhat, az ActivityEvents API jelenleg csak kérésenként legfeljebb egy napnyi adat letöltését támogatja. Más szóval a kezdő dátumnak és a befejezési dátumnak ugyanazt a napot kell megadnia, mint az alábbi példában. Ügyeljen arra, hogy az DateTime értékeket utc(utc) formátumban adja meg.

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

Ha a bejegyzések száma nagy, az ActivityEvents API csak körülbelül 5000–10 000 bejegyzést és egy folytatási jogkivonatot ad vissza. Hívja újra az ActivityEvents API-t a folytatási jogkivonattal a következő bejegyzésköteg lekéréséhez, és így tovább, amíg az összes bejegyzést be nem kapja, és nem kap folytatási jogkivonatot. Az alábbi példa a folytatási jogkivonat használatát mutatja be:

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

Ha az eredmények között szerepel egy folytatási jogkivonat, akkor a többi adat lekéréséhez addig hívja meg az API-t, amíg a folytatási jogkivonatot nem adja vissza. Előfordulhat, hogy egy hívás eseménybejegyzések nélkül ad vissza egy folytatási jogkivonatot. Az alábbi példa bemutatja, hogyan hurkolhat a válaszban visszaadott folytatási jogkivonattal:

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

Ha az időtartam 1 óra között startDateTime van, és endDateTime meghaladja az 1 órát, több kérés is szükséges az adatok continuationUri válaszként való letöltéséhez.

Az alábbi példa bemutatja, hogyan tölthet le adatokat 1 óra 5 percig:

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
}

Ha többet szeretne megtudni a Power BI REST API használatáról, beleértve a naplózási tevékenység eseményeinek lekérésére vonatkozó példákat, tekintse meg a Rendszergazda – Tevékenységesemények lekérése a Power BI REST API referenciadokumentációjában.

Get-PowerBIActivityEvent parancsmag

Töltse le a tevékenységeseményeket a Power BI Management PowerShell-parancsmagjaival. A Get-PowerBIActivityEvent parancsmag automatikusan kezeli a folytatási jogkivonatot. A Get-PowerBIActivityEvent parancsmag egy StartDateTime és egy EndDateTime paramétert vesz igénybe, ugyanazokkal a korlátozásokkal, mint az ActivityEvents REST API. Más szóval a kezdési dátumnak és a befejezési dátumnak ugyanarra a dátumértékre kell hivatkoznia, mert egyszerre csak egy napra vonatkozóan tudja lekérni a tevékenységadatokat.

Az alábbi szkript bemutatja, hogyan töltheti le az összes Power BI-tevékenységet. A parancs a JSON eredményeit .NET-objektumokká alakítja az egyes tevékenységtulajdonságokhoz való egyszerű hozzáférés érdekében. Az alábbi példák a lehető legkisebb és legnagyobb időbélyeget mutatják be egy napra, hogy ne maradjanak le események:

Login-PowerBI

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

$activities.Count
$activities[0]

Tevékenységadatok szűrése

A tevékenységeseményeket tevékenységtípus és felhasználói azonosító alapján szűrheti. Az alábbi szkript bemutatja, hogyan töltheti le csak a ViewDashboard-tevékenység eseményadatait. A támogatott paraméterekkel kapcsolatos további információkért használja a parancsot 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]

Megjegyzés:

PowerShell-minta áll rendelkezésre, amely segít a Power BI-tevékenységnapló-események szűrésében és lekérésében. További információ: Access the Power BI activity log.