다음을 통해 공유


Power BI에서 사용자 활동 추적

Power BI의 어떤 항목에 누가 무슨 활동을 수행하는지를 아는 것은 조직에서 규정 준수 및 레코드 관리와 같은 요구 사항을 수행하도록 돕는 데 매우 중요합니다. 이 문서에서는 Power BI REST API를 기반으로 하는 Power BI 활동 로그에 대해 설명합니다.

감사 로그를 사용하여 Power BI 작업을 포함한 Microsoft Fabric 사용자 활동을 추적할 수 있습니다.

필수 조건

  • 전역 관리자 또는 Power BI 관리자여야 합니다.

  • Power BI 관리 cmdlet을 로컬에 설치하거나, Azure Cloud Shell에서 Power BI 관리 cmdlet을 사용합니다.

활동 로그

Power BI 활동 로그에는 JSON 배열에 있는 Power BI 활동의 전체 복사본이 포함됩니다. Fabric 작업 목록에서 모든 Power BI 활동 목록을 찾을 수 있습니다.

ActivityEvents REST API

Power BI REST API를 기반으로 하는 관리 애플리케이션을 사용하여 활동 이벤트를 blob 저장소나 SQL 데이터베이스로 내보낼 수 있습니다. 그런 다음, 내보낸 데이터를 토대로 사용자 지정 사용량 보고서를 작성할 수 있습니다. ActivityEvents REST API 호출에 시작 날짜와 종료 날짜를 지정하고, 선택적으로 필터를 지정하여 활동 유형 또는 사용자 ID를 기준으로 활동을 선택해야 합니다. 활동 로그에 많은 데이터가 포함되어 있을 수 있으므로 ActivityEvents API는 현재 요청당 최대 1일 분량의 데이터만 다운로드할 수 있도록 지원합니다. 즉, 다음 예제와 같이 시작 날짜와 종료 날짜가 동일한 날을 지정해야 합니다. DateTime 값을 UTC(협정 세계시) 형식으로 지정해야 합니다.

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

항목 수가 많으면 ActivityEvents API는 약 5,000~10,000개 항목과 연속 토큰만 반환합니다. 그러면 모든 항목이 검색되고 더 이상 연속 토큰이 수신되지 않을 때까지 연속 토큰으로 ActivityEvents API를 다시 호출하여 다음 항목 배치를 가져옵니다. 다음 예제에서는 연속 토큰을 사용하는 방법을 보여 줍니다.

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

결과에 연속 토큰이 포함되어 있으면, 연속 토큰이 더 이상 반환되지 않을 때까지 해당 토큰으로 API를 호출하여 나머지 데이터를 가져와야 합니다. 호출에서 이벤트 항목이 없는 연속 토큰을 반환할 수 있습니다. 다음 예제에서는 응답에 반환된 연속 토큰을 사용하여 반복하는 방법을 보여 줍니다.

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

If the time span between startDateTimeendDateTime 사이의 시간 범위가 1시간을 초과하는 경우, 응답으로 continuationUri를 통해 데이터를 다운로드하는 데 여러 번의 요청이 필요합니다.

다음 예제에서는 1시간 5분 동안 데이터를 다운로드하는 방법을 보여 줍니다.

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
}

감사 활동 이벤트를 가져오는 방법의 예제를 포함하여 Power BI REST API를 사용하는 방법에 관한 자세한 내용은 Power BI REST API 참조 설명서의 관리 - 활동 이벤트 가져오기를 참조하세요.

Get-PowerBIActivityEvent cmdlet

PowerShell용 Power BI 관리 cmdlet을 사용하여 활동 이벤트를 다운로드합니다. Get-PowerBIActivityEvent cmdlet은 자동으로 연속 토큰을 처리합니다. Get-PowerBIActivityEvent cmdlet은 ActivityEvents REST API와 동일한 제한 사항이 있는 StartDateTimeEndDateTime 매개 변수를 사용합니다. 즉, 한 번에 1일 분량의 활동 데이터만 검색할 수 있으므로 시작 날짜와 종료 날짜가 동일한 날짜 값을 참조해야 합니다.

다음 스크립트는 모든 Power BI 활동을 다운로드하는 방법을 보여 줍니다. 이 명령은 개별 활동 속성에 간편하게 액세스할 수 있도록 결과를 JSON에서 .NET 개체로 변환합니다. 이러한 예에서는 이벤트가 누락되지 않도록 하루에 가능한 가장 작은 타임스탬프와 가장 큰 타임스탬프를 보여 줍니다.

Login-PowerBI

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

$activities.Count
$activities[0]

활동 데이터 필터링

활동 유형과 사용자 ID를 기준으로 활동 이벤트를 필터링할 수 있습니다. 다음 스크립트는 ViewDashboard 활동의 이벤트 데이터만 다운로드하는 방법을 보여 줍니다. 지원되는 매개 변수에 대한 자세한 내용을 보려면 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]

참고 항목

PowerShell 샘플을 사용하면 Power BI 활동 로그 이벤트를 필터링 및 검색하는 방법을 배우는 데 도움이 됩니다. 자세한 내용은 Power BI 활동 로그에 액세스를 참조하세요.