Partilhar via


Controlar as atividades do utilizador no Power BI

Saber quem está tomando qual ação em qual item no Power BI pode ser fundamental para ajudar sua organização a cumprir seus requisitos, como atender à conformidade regulatória e ao gerenciamento de registros. Este artigo discute o log de atividades do Power BI baseado em APIs REST do Power BI.

Você pode acompanhar as atividades do usuário do Microsoft Fabric, incluindo operações do Power BI, usando o log de auditoria.

Pré-requisitos

  • Você precisa ser um administrador do Fabric.

  • Instale os cmdlets de Gerenciamento do Power BI localmente ou use os cmdlets de Gerenciamento do Power BI no Azure Cloud Shell.

Registo de atividades

O log de atividades do Power BI contém uma cópia completa das atividades do Power BI em uma matriz JSON. Você pode encontrar uma lista de todas as atividades do Power BI na lista de operações do Fabric.

ActivityEvents REST API

Você pode usar um aplicativo administrativo baseado nas APIs REST do Power BI para exportar eventos de atividade para um repositório de blob ou banco de dados SQL. Em seguida, você pode criar um relatório de uso personalizado sobre os dados exportados. Na chamada da API REST ActivityEvents, você deve especificar uma data de início e uma data de término e, opcionalmente, um filtro para selecionar atividades por tipo de atividade ou ID de usuário. Como o log de atividades pode conter uma grande quantidade de dados, a API ActivityEvents atualmente só suporta o download de até um dia de dados por solicitação. Em outras palavras, a data de início e a data de término devem especificar o mesmo dia, como no exemplo a seguir. Certifique-se de especificar os DateTime valores no formato UTC (Tempo Universal Coordenado).

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

Se o número de entradas for grande, a API ActivityEvents retornará apenas cerca de 5.000 a 10.000 entradas e um token de continuação. Chame a API ActivityEvents novamente com o token de continuação para obter o próximo lote de entradas, e assim por diante, até obter todas as entradas e não receber mais um token de continuação. O exemplo a seguir mostra como usar o token de continuação:

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

Se os resultados incluírem um token de continuação, continue a chamar a API usando esse token para obter o restante dos dados até que um token de continuação não seja mais retornado. É possível que uma chamada retorne um token de continuação sem entradas de evento. O exemplo a seguir mostra como fazer um loop com um token de continuação retornado na resposta:

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

Se o intervalo de tempo entre startDateTime e endDateTime exceder 1 hora, são necessárias várias solicitações para baixar os dados em continuationUri resposta.

O exemplo a seguir mostra como baixar dados por 1 hora e 5 minutos:

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
}

Para saber mais sobre como usar a API REST do Power BI, incluindo exemplos de como obter eventos de atividade de auditoria, consulte Admin - Obter eventos de atividade na documentação de referência da API REST do Power BI.

Cmdlet Get-PowerBIActivityEvent

Baixe eventos de atividade usando os cmdlets de Gerenciamento do Power BI para PowerShell. O cmdlet Get-PowerBIActivityEvent manipula automaticamente o token de continuação para você. O Get-PowerBIActivityEvent cmdlet usa um parâmetro StartDateTime e um parâmetro EndDateTime com as mesmas restrições da API REST ActivityEvents . Em outras palavras, a data de início e a data de término devem fazer referência ao mesmo valor de data porque você só pode recuperar os dados de atividade por um dia de cada vez.

O script a seguir demonstra como baixar todas as atividades do Power BI. O comando converte os resultados do JSON em objetos .NET para acesso direto às propriedades de atividades individuais. Estes exemplos mostram os menores e maiores carimbos de data/hora possíveis para um dia para garantir que nenhum evento seja perdido:

Login-PowerBI

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

$activities.Count
$activities[0]

Filtrar dados de atividade

Você pode filtrar eventos de atividade por tipo de atividade e ID de usuário. O script a seguir demonstra como baixar apenas os dados de evento para a atividade ViewDashboard . Para obter informações adicionais sobre parâmetros suportados, use o comando 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]

Nota

Um exemplo do PowerShell está disponível para ajudá-lo a saber como filtrar e recuperar eventos do log de atividades do Power BI. Para obter mais informações, consulte Acessar o log de atividades do Power BI.