Bagikan melalui


Melacak aktivitas pengguna di Power BI

Mengetahui siapa yang mengambil tindakan apa pada item mana di Power BI dapat menjadi penting dalam membantu organisasi Anda memenuhi persyaratannya, seperti memenuhi kepatuhan peraturan dan manajemen rekaman. Artikel ini membahas log aktivitas Power BI yang didasarkan pada REST API Power BI.

Anda dapat melacak aktivitas pengguna Microsoft Fabric, termasuk operasi Power BI, menggunakan log audit.

Prasyarat

  • Anda harus menjadi administrator global atau administrator Power BI

  • Instal cmdlet Manajemen Power BI secara lokal, atau gunakan cmdlet Manajemen Power BI di Azure Cloud Shell.

Log aktivitas

Log aktivitas Power BI berisi salinan lengkap aktivitas Power BI dalam array JSON. Anda dapat menemukan daftar semua aktivitas Power BI di daftar operasi Fabric.

ActivityEvents REST API

Anda dapat menggunakan aplikasi administratif berdasarkan REST API Power BI untuk mengekspor peristiwa aktivitas ke penyimpanan blob atau database SQL. Anda kemudian dapat membuat laporan penggunaan kustom di atas data yang diekspor. Dalam panggilan ActivityEvents REST API, Anda harus menentukan tanggal mulai dan tanggal selesai dan secara opsional filter untuk memilih aktivitas berdasarkan jenis aktivitas atau ID pengguna. Karena log aktivitas dapat berisi sejumlah besar data, ActivityEvents API saat ini hanya mendukung pengunduhan hingga satu hari data per permintaan. Dengan kata lain, tanggal mulai dan tanggal selesai harus menentukan hari yang sama, seperti dalam contoh berikut. Pastikan Anda menentukan DateTime nilai dalam format Waktu Universal Terkoordinasi (UTC).

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

Jika jumlah entri besar, ActivityEvents API hanya mengembalikan sekitar 5.000 hingga 10.000 entri dan token kelanjutan. Panggil ActivityEvents API lagi dengan token kelanjutan untuk mendapatkan batch entri berikutnya, dan sebagainya, sampai Anda mendapatkan semua entri dan tidak lagi menerima token kelanjutan. Contoh berikut menunjukkan cara menggunakan token kelanjutan:

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

Jika hasilnya menyertakan token kelanjutan, terus panggil API menggunakan token tersebut untuk mendapatkan sisa data hingga token kelanjutan tidak lagi dikembalikan. Dimungkinkan bagi panggilan untuk mengembalikan token kelanjutan tanpa entri peristiwa apa pun. Contoh berikut menunjukkan cara mengulang dengan token kelanjutan yang dikembalikan dalam respons:

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

Jika rentang waktu antara startDateTime dan endDateTime melebihi 1 jam, dibutuhkan beberapa permintaan untuk mengunduh data melalui continuationUri sebagai respons.

Contoh berikut menunjukkan cara mengunduh data selama 1 jam dan 5 menit:

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
}

Untuk mempelajari selengkapnya tentang menggunakan Power BI REST API, termasuk contoh cara mendapatkan peristiwa aktivitas audit, lihat Admin - Dapatkan Peristiwa Aktivitas di dokumentasi referensi REST API Power BI.

Get-PowerBIActivityEvent cmdlet

Unduh peristiwa aktivitas dengan menggunakan cmdlet Power BI Management untuk PowerShell. Cmdlet Get-PowerBIActivityEvent secara otomatis menangani token kelanjutan untuk Anda. Get-PowerBIActivityEvent Cmdlet mengambil parameter StartDateTime dan EndDateTime dengan batasan yang sama dengan ACTIVITYEvents REST API. Dengan kata lain, tanggal mulai dan tanggal selesai harus mereferensikan nilai tanggal yang sama karena Anda hanya dapat mengambil data aktivitas selama satu hari pada satu waktu.

Skrip berikut menunjukkan cara mengunduh semua aktivitas Power BI. Perintah mengonversi hasil dari JSON menjadi objek .NET untuk akses langsung ke properti aktivitas individual. Contoh-contoh ini menunjukkan tanda waktu terkecil dan terbesar yang mungkin selama sehari untuk memastikan tidak ada peristiwa yang terlewatkan:

Login-PowerBI

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

$activities.Count
$activities[0]

Memfilter data aktivitas

Anda dapat memfilter peristiwa aktivitas berdasarkan jenis aktivitas dan ID pengguna. Skrip berikut menunjukkan cara mengunduh hanya data peristiwa untuk aktivitas ViewDashboard . Untuk informasi tambahan tentang parameter yang didukung, gunakan perintah 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]

Catatan

Sampel PowerShell tersedia untuk membantu Anda mempelajari cara memfilter dan mengambil aktivitas log aktivitas Power BI. Untuk informasi selengkapnya, lihat Mengakses log aktivitas Power BI.