Gebruikersactiviteiten bijhouden in Power BI

Weten wie welke actie onderneemt op welk item in Power BI essentieel kan zijn om uw organisatie te helpen voldoen aan de vereisten, zoals voldoen aan naleving van regelgeving en recordbeheer. In dit artikel wordt het Power BI-activiteitenlogboek besproken dat is gebaseerd op Power BI REST API's.

U kunt microsoft Fabric-gebruikersactiviteiten, inclusief Power BI-bewerkingen, bijhouden met behulp van het auditlogboek.

Vereisten

  • U moet een globale beheerder of Power BI-beheerder zijn

  • Installeer de Power BI Management-cmdlets lokaal of gebruik de Power BI Management-cmdlets in Azure Cloud Shell.

Activiteitenlogboek

Het Power BI-activiteitenlogboek bevat een volledige kopie van de Power BI-activiteiten in een JSON-matrix. U vindt een lijst met alle Power BI-activiteiten in de lijst met infrastructuurbewerkingen.

ActivityEvents REST API

U kunt een beheertoepassing gebruiken op basis van de Rest API's van Power BI om activiteitsgebeurtenissen te exporteren naar een blobarchief of SQL-database. U kunt vervolgens een aangepast gebruiksrapport maken boven op de geëxporteerde gegevens. In de REST API-aanroep ActivityEvents moet u een begin- en einddatum en eventueel een filter opgeven om activiteiten te selecteren op activiteitstype of gebruikers-id. Omdat het activiteitenlogboek een grote hoeveelheid gegevens kan bevatten, ondersteunt de ActivityEvents-API momenteel alleen het downloaden van maximaal één dag aan gegevens per aanvraag. Met andere woorden, de begin- en einddatum moeten dezelfde dag opgeven, zoals in het volgende voorbeeld. Zorg ervoor dat u de DateTime waarden opgeeft in utc-indeling (Coordinated Universal Time).

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

Als het aantal vermeldingen groot is, retourneert de ActivityEvents-API slechts ongeveer 5.000 tot 10.000 vermeldingen en een vervolgtoken. Roep de ActivityEvents-API opnieuw aan met het vervolgtoken om de volgende batch vermeldingen op te halen, enzovoort, totdat u alle vermeldingen hebt ontvangen en geen vervolgtoken meer ontvangt. In het volgende voorbeeld ziet u hoe u het vervolgtoken gebruikt:

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

Als de resultaten een vervolgtoken bevatten, blijft u de API aanroepen met dat token om de rest van de gegevens op te halen totdat een vervolgtoken niet meer wordt geretourneerd. Het is mogelijk dat een aanroep een vervolgtoken retourneert zonder gebeurtenisvermeldingen. In het volgende voorbeeld ziet u hoe u een lus kunt uitvoeren met een vervolgtoken dat wordt geretourneerd in het antwoord:

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

Als de tijdsduur tussen startDateTime en endDateTime meer dan 1 uur duurt, duurt het meerdere aanvragen om de gegevens te downloaden als continuationUri reactie.

In het volgende voorbeeld ziet u hoe u gegevens gedurende 1 uur en 5 minuten kunt downloaden:

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
}

Zie Beheer - Activiteitsgebeurtenissen ophalen in de naslagdocumentatie voor de REST API van Power BI voor meer informatie over het gebruik van de Rest API van Power BI, inclusief voorbeelden van het ophalen van controleactiviteitengebeurtenissen.

Cmdlet Get-PowerBIActivityEvent

Download activiteitsevenementen met behulp van de Power BI Management-cmdlets voor PowerShell. De cmdlet Get-PowerBIActivityEvent verwerkt automatisch het vervolgtoken voor u. De Get-PowerBIActivityEvent cmdlet gebruikt een StartDateTime- en endDateTime-parameter met dezelfde beperkingen als de ActivityEvents REST API. Met andere woorden, de begin- en einddatum moeten verwijzen naar dezelfde datumwaarde, omdat u alleen de activiteitsgegevens voor één dag tegelijk kunt ophalen.

Het volgende script laat zien hoe u alle Power BI-activiteiten downloadt. Met de opdracht worden de resultaten van JSON geconverteerd naar .NET-objecten voor eenvoudige toegang tot afzonderlijke activiteitseigenschappen. In deze voorbeelden ziet u de kleinste en grootste tijdstempels die een dag mogelijk zijn om ervoor te zorgen dat er geen gebeurtenissen worden gemist:

Login-PowerBI

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

$activities.Count
$activities[0]

Activiteitsgegevens filteren

U kunt activiteitsevenementen filteren op activiteitstype en gebruikers-id. In het volgende script ziet u hoe u alleen de gebeurtenisgegevens voor de ViewDashboard-activiteit downloadt. Gebruik de opdracht Get-Help Get-PowerBIActivityEventvoor meer informatie over ondersteunde parameters.

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]

Notitie

Er is een PowerShell-voorbeeld beschikbaar om u te helpen bij het filteren en ophalen van gebeurtenissen in power BI-activiteitenlogboeken. Zie Het Power BI-activiteitenlogboek openen voor meer informatie.