Nachverfolgen von Benutzeraktivitäten in Power BI

Es kann wichtig sein zu wissen, wer welche Aktion für welches Element in Power BI ausführt. Dies kann Ihrer Organisation bei der Einhaltung von Anforderungen helfen, etwa bei der Einhaltung gesetzlicher Bestimmungen und der Dokumentverwaltung. In diesem Artikel wird das Power BI-Aktivitätsprotokoll erläutert, das auf Power BI-REST-APIs basiert.

Sie können Microsoft Fabric-Benutzeraktivitäten, einschließlich Power BI-Vorgänge, mithilfe des Überwachungsprotokolls nachverfolgen.

Voraussetzungen

  • Sie müssen ein globaler Administrator oder Power BI-Administrator sein.

  • Installieren Sie die Power BI-Management-Cmdlets lokal, oder verwenden Sie sie in Azure Cloud Shell.

Aktivitätsprotokoll

Das Power BI-Aktivitätsprotokoll enthält eine vollständige Kopie der Power BI-Aktivitäten in einem JSON-Array. Sie finden eine Liste aller Power BI-Aktivitäten in der Fabric-Vorgangsliste.

ActivityEvents-REST-API

Sie können eine Verwaltungsanwendung auf der Grundlage der Power BI-REST-APIs verwenden, um Aktivitätsereignisse in einen Blobspeicher oder eine SQL-Datenbank zu exportieren. Sie können dann einen benutzerdefinierten Nutzungsbericht über die exportierten Daten erstellen. Im Aufruf der ActivityEvents-REST API müssen Sie ein Start- und Enddatum und optional einen Filter zur Auswahl von Aktivitäten nach Aktivitätstyp oder Benutzer-ID angeben. Da das Aktivitätsprotokoll eine große Menge an Daten enthalten könnte, unterstützt die ActivityEvents-API derzeit nur das Herunterladen von Daten von bis zu einem Tag pro Anforderung. Genauer gesagt muss das Start- und Enddatum denselben Tag angeben, wie im folgenden Beispiel. Stellen Sie sicher, dass Sie die DateTime-Werte im UTC-Format (Koordinierte Weltzeit) angeben.

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

Wenn die Anzahl der Einträge groß ist, wird die ActivityEvents-API nur etwa 5.000 bis 10.000 Einträge und ein Fortsetzungstoken zurückgeben. Rufen Sie dann die ActivityEvents-API wieder mit dem Fortsetzungstoken auf, um den nächsten Batch von Einträgen zu erhalten usw., bis Sie alle Einträge erhalten haben und kein Fortsetzungstoken mehr empfangen. Das folgende Beispiel zeigt die Verwendung des Fortsetzungstoken:

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

Wenn die Ergebnisse ein Fortsetzungstoken enthalten, rufen Sie die API mit diesem Token weiterhin auf, um die restlichen Daten zu erhalten, bis kein Fortsetzungstoken mehr zurückgegeben wird. Es ist möglich, dass ein Aufruf ein Fortsetzungstoken ohne Ereigniseinträge zurückgibt. Das folgende Beispiel zeigt, wie man eine Schleife mit einem in der Antwort zurückgegebenen Fortsetzungstoken durchläuft:

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

Wenn die Zeitspanne zwischen startDateTime und endDateTime eine Stunde überschreitet, sind mehrere Anforderungen erforderlich, um die Daten als Antwort über continuationUri herunterzuladen.

Das folgende Beispiel zeigt, wie Daten für eine Stunde und 5 Minuten heruntergeladen werden:

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
}

Weitere Informationen zur Verwendung der Power BI-REST-API einschließlich Beispielen zum Abrufen von Überwachungsaktivitätsereignissen finden Sie unter Administrator: Abrufen von Aktivitätsereignissen in der Power BI-REST-API-Referenzdokumentation.

Get-PowerBIActivityEvent-Cmdlet

Laden Sie Aktivitätsereignisse herunter, indem Sie die Cmdlets der Power BI-Verwaltung für PowerShell verwenden. Das Cmdlet Get-PowerBIActivityEvent verarbeitet automatisch das Fortsetzungstoken für Sie. Das Get-PowerBIActivityEvent-Cmdlet übernimmt einen StartDateTime- und einen EndDateTime-Parameter mit denselben Einschränkungen wie für die ActivityEvents-REST-API. Genauer gesagt müssen sich das Start- und Enddatum auf den gleichen Datumswert beziehen, da Sie die Aktivitätsdaten jeweils nur für einen Tag abrufen können.

Das folgende Skript zeigt, wie Sie alle Power BI-Aktivitäten herunterladen können. Der Befehl konvertiert die Ergebnisse von JSON- in .NET-Objekte für den einfachen Zugriff auf einzelne Aktivitätseigenschaften. Die folgenden Beispiele zeigen die kleinsten und größten Zeitstempel, die für einen Tag möglich sind, um sicherzustellen, dass keine Ereignisse übersehen werden:

Login-PowerBI

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

$activities.Count
$activities[0]

Filteraktivitätsdaten

Sie können Aktivitätsereignisse nach Aktivitätstyp und Benutzer-ID filtern. Das folgende Skript veranschaulicht, wie nur die Ereignisdaten für die ViewDashboard-Aktivität heruntergeladen werden können. Weitere Informationen zu unterstützten Parametern erhalten Sie mit dem Befehl 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]

Hinweis

Ihnen steht ein PowerShell-Beispiel zur Verfügung, mit dem Sie lernen können, wie Sie Ereignisse im Power BI-Aktivitätsprotokoll filtern und abrufen. Weitere Informationen finden Sie unter Zugreifen auf das Power BI-Aktivitätsprotokoll.