Gerenciar relatórios de governança de acesso a dados usando o PowerShell do SharePoint Online

Embora a governança de acesso a dados esteja disponível no Centro de administração do SharePoint, algumas organizações preferem usar o PowerShell para gerenciar configurações em escala por meio de scripts e automação. Este artigo descreve como usar o módulo do PowerShell do SharePoint Online para gerenciar relatórios de governança de acesso a dados.

Antes de começar

Verifique se sua organização atende aos Pré-requisitos para o Gerenciamento Avançado do SharePoint, incluindo os requisitos do módulo PowerShell do SharePoint Online.

O suporte do PowerShell para governança de acesso a dados está disponível no módulo Microsoft.Online.SharePoint.PowerShell e na versão 16.0.25409 ou posterior.

Ao se conectar ao SharePoint, execute o comando Connect-SPOServicesem o parâmetro Credential . De acordo com as práticas recomendadas de segurança, não há suporte para entrar usando o parâmetro credential.

Criar relatórios usando o PowerShell

Para obter sintaxe geral do PowerShell, parâmetros e exemplos, consulte Start-SPODataAccessGovernanceInsight.

Para obter exemplos específicos de relatório, consulte as seguintes seções deste artigo.

Gerar um relatório de estado de permissão do site

Você precisa entender a configuração de permissões em sua organização, especialmente após a adoção do Copilot, pois ela respeita as permissões de usuário e conteúdo. O risco de exposição de dados do Copilot aumenta com o número de usuários com permissões ou acesso. O relatório de estado de permissão do site fornece insights profundos sobre a exposição potencial, com base no número exclusivo de usuários que têm permissões para todos os sites do SharePoint e do OneDrive em sua organização.

Execute este relatório primeiro para obter uma visão geral rápida das permissões em sua organização. Este relatório é um relatório de snapshot. Ele fornece a snapshot ou status mais recente de toda a organização na data de geração do relatório.

Para gerar um relatório para todos os seus sites do SharePoint, execute o seguinte comando:

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload SharePoint -CountOfUsersMoreThan 0  -Name "OrgWidePermissionedUsersReportSharePoint"

Para gerar um relatório para todas as suas contas do OneDrive for Business, execute o seguinte comando:

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers -ReportType Snapshot -Workload OneDriveForBusiness -CountOfUsersMoreThan 0  -Name "OrgWidePermissionedUsersReportODB"

Lembre-se destes pontos importantes sobre o relatório:

  • Como esses relatórios são abrangentes e provavelmente abrangem todos os dados em seu locatário, você pode criar até dois relatórios. Você pode criar um relatório por carga de trabalho.
  • O primeiro relatório sempre leva até cinco dias para ser concluído, independentemente do tamanho da sua organização. Os relatórios subsequentes são concluídos em 24 horas.
  • Esses relatórios capturam dados até 48 horas antes da geração do relatório.
  • Depois de gerados, você pode executar esses relatórios novamente uma vez a cada 30 dias.

Esses comandos geram uma lista de todos os sites em que pelo menos um usuário pode acessar qualquer conteúdo no site. Para obter mais informações sobre como interpretar o relatório, consulte Como exibir as permissões de site para o relatório da sua organização.

Depois de entender a extensão do compartilhamento excessivo em seu locatário, você poderá acompanhar outros desvios especificamente de sites ativos nos últimos 28 dias. Você pode gerar relatórios sobre sites que estão ativos nos principais fatores de possível compartilhamento excessivo, como "Compartilhamento de links" ou conteúdo compartilhado com "Todos, exceto usuários externos" nos últimos 28 dias.

Gerar um relatório de estado de permissão de usuário

Embora o relatório de permissão de site para toda a organização ajude você a entender o estado atual das permissões em todo o locatário, alguns cenários exigem a descoberta de sites acessíveis a um determinado usuário. Para obter mais informações, consulte Obter a linha de base de permissões de site da sua organização com o relatório snapshot. A seção a seguir descreve como a governança de acesso a dados ajuda você a gerar esse relatório usando o PowerShell.

Primeiro, busque o UPN ou o nome UPN principal do usuário para o qual você deseja gerar o relatório usando o comando Get-MgUser . Em seguida, execute o seguinte comando do PowerShell, que dispara o relatório listando os sites do SharePoint acessíveis a esses usuários.

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionsReport -ReportType Snapshot -Workload SharePoint -Name "UserSharePointReport" -UserEmailList "a@contoso.com","b@contoso.com"

Importante

Embora o parâmetro seja nomeado UserEmailList, o relatório requer nomes UPN. Você pode incluir até 100 usuários em uma única solicitação.

Para listar as contas do OneDrive acessíveis a determinados usuários, especifique a carga de trabalho como OneDriveForBusiness.

Start-SPODataAccessGovernanceInsight -ReportEntity PermissionsReport -ReportType Snapshot -Workload OneDriveForBusiness -Name "UserOneDriveReport" -UserEmailList "a@contoso.com","b@contoso.com"

Gere um relatório sobre sites e arquivos compartilhados por meio de grupos especiais do SharePoint

Os relatórios de permissão de site informam quais sites são compartilhados em excesso. Para localizar os itens exatos nos quais os grupos especiais "Todos, exceto usuários externos" (EEEU) ou "Todos" são os destinatários, gere este relatório. Para obter mais informações sobre o relatório e como interpretar sua saída, consulte Obter detalhes de permissão em nível de item para "Todos, exceto usuários externos" e "Todos".

Importante

Este relatório requer a versão 16.0.27215.12000 do módulo Microsoft.Online.SharePoint.PowerShell ou posterior, publicado em 30 de abril de 2026. Você também precisa da função de Administrador de Gerenciamento Avançado do SharePoint, que um Administrador global deve atribuir. Para obter mais informações, consulte Atribuir a função de Administrador de Gerenciamento Avançado do SharePoint.

Para gerar o relatório para EEEU, execute o seguinte comando:

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsers -ReportType Snapshot

Para gerar o relatório para Todos, altere o valor do parâmetro ReportEntity :

Start-SPODataAccessGovernanceInsight -ReportEntity Everyone -ReportType Snapshot

Lembre-se destes pontos importantes sobre o relatório:

  • O relatório não usa um parâmetro de carga de trabalho . A saída abrange o SharePoint e o OneDrive.
  • O arquivo de saída é limitado a 1 milhão de linhas.
  • As permissões concedidas ao EEEU ou Todos para arquivos e grupos do sistema não estão incluídas.

Para acompanhar o relatório e baixar os resultados, consulte Acompanhar relatórios usando o PowerShell e Exibir e baixar relatórios usando o PowerShell.

Gerar um rótulo de confidencialidade no relatório de arquivos com o PowerShell

Execute este comando do PowerShell para disparar o relatório para listar sites em que itens específicos foram rotulados com um determinado rótulo, a partir da data de geração do relatório.

Primeiro, recupere o nome do rótulo ou o GUID do rótulo usando o módulo do PowerShell de Segurança & Conformidade.

Get-Label | Format-Table -Property DisplayName, Name, GUID, ContentType

Em seguida, use o nome e o GUID para recuperar sites com arquivos rotulados com o nome de rótulo ou GUID fornecido.

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret

Observação

Atualmente, não há suporte para o relatório de OneDriveForBusiness contas com arquivos rotulados.

Use relatórios de atividades de link de compartilhamento para identificar sites que estão ativos na colaboração e precisam de uma intervenção mais rápida para mitigar qualquer risco potencial de compartilhamento excessivo. Esses relatórios recentes baseados em atividades identificam os sites que mais compartilham links nos últimos 28 dias.

Gere os seguintes relatórios de atividades de link de compartilhamento:

  • Sites que criaram Qualquer pessoa que compartilhou links nos últimos 28 dias
  • Sites que criaram People em sua organização compartilhando links nos últimos 28 dias
  • Sites que criaram pessoas específicas (convidados) compartilhando links nos últimos 28 dias
Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Anyone -Workload SharePoint -ReportType RecentActivity

Forneça o valor OneDriveForBusiness da carga de trabalho para obter todas as contas do OneDrive com os mesmos critérios.

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_PeopleInYourOrg -Workload SharePoint -ReportType RecentActivity

Forneça o valor OneDriveForBusiness da carga de trabalho para obter todas as contas do OneDrive com os mesmos critérios.

Start-SPODataAccessGovernanceInsight -ReportEntity SharingLinks_Guests -Workload SharePoint -ReportType RecentActivity

Forneça o valor OneDriveForBusiness da carga de trabalho para obter todas as contas do OneDrive com os mesmos critérios.

Identifique o conteúdo compartilhado com "Todos, exceto usuários externos" nos últimos 28 dias

Embora o compartilhamento de links possa contribuir para um possível compartilhamento excessivo, outro contribuidor importante é "Todos, exceto usuários externos" (EEEU). A EEEU torna o conteúdo público (visível para toda a organização) e facilita que outras pessoas descubram conteúdo e tenham acesso. Esses relatórios identificam sites que usaram ativamente a EEEU em vários escopos nos últimos 28 dias.

Você pode gerar os seguintes relatórios de atividades da EEEU:

  • Sites compartilhados com todos, exceto usuários externos nos últimos 28 dias
  • Itens compartilhados com Todos, exceto usuários externos nos últimos 28 dias

Importante

Atualmente, o relatório EEEU para o OneDrive for Business dá suporte apenas ao nível de item. Não há suporte para relatórios EEEU do OneDrive for Business no nível do site. Se você não tiver uma licença do Microsoft Gerenciamento Avançado do SharePoint, deverá habilitar a coleta de dados para relatórios recentes baseados em atividades para que os dados de auditoria relevantes sejam coletados para criar o relatório. Depois de habilitá-la, os dados são coletados e armazenados por 28 dias. Você pode gerar o relatório 24 horas depois e ele contém dados do ponto de coleta. Se você não gerar relatórios nem uma vez a cada três meses, a coleta de dados será pausada e você deverá habilitá-la novamente. Para habilitar a coleta de dados para esses relatórios, consulte a seção Gerenciar coleta de dados para relatórios recentes baseados em atividades.

Identificar sites compartilhados com "Todos, exceto usuários externos" nos últimos 28 dias

Quando você adiciona EEEU a uma associação ao site (proprietários, membros ou visitantes), todo o conteúdo do site se torna público e mais propenso a compartilhamento excessivo. Execute o seguinte comando do PowerShell para disparar o relatório para capturar esses sites nos últimos 28 dias para sites do SharePoint:

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersAtSite -Workload SharePoint -ReportType RecentActivity -Name "PublicSiteViaEEEU"

Identificar itens compartilhados com "Todos, exceto usuários externos" nos últimos 28 dias

Execute o seguinte comando do PowerShell para disparar o relatório a fim de capturar itens específicos (arquivos, pastas ou listas) que você compartilhou com a EEEU nos últimos 28 dias para sites do SharePoint:

Start-SPODataAccessGovernanceInsight -ReportEntity EveryoneExceptExternalUsersForItems -Workload SharePoint -ReportType RecentActivity -Name "PublicItemsViaEEEU"

Observação

Substitua o valor da carga de trabalho por OneDriveForBusiness para obter itens compartilhados com "Todos, exceto usuários externos" para todas as contas do OneDrive com os mesmos critérios.

Gerenciar a coleta de dados para relatórios recentes com base em atividades

Importante

Se você não tiver uma licença do Microsoft Gerenciamento Avançado do SharePoint, deverá habilitar a coleta de dados para relatórios recentes baseados em atividades para que os dados de auditoria relevantes sejam coletados para criar o relatório. Depois de habilitá-lo, você poderá gerar o relatório 24 horas depois e ele conterá dados do ponto de coleta. Os dados são armazenados por 28 dias. Se você não gerar relatórios nem uma vez a cada três meses, a coleta de dados será pausada e você deverá habilitá-la novamente.

Habilitar a coleta de dados para relatórios recentes baseados em atividades

Esse comando do PowerShell começa a coletar dados de auditoria para relatórios sobre atividades dos últimos 28 dias.

Start-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

Os valores aplicáveis para o parâmetro ReportEntity são SharingLinksAnyone, SharingLinksPeopleInYourOrg, SharingLinksGuests, EveryoneExceptExternalUsersAtSite, EveryoneExceptExternalUsersForItems, CopilotAppInsights

Desabilitar a coleta de dados para relatórios recentes baseados em atividades

Esse comando do PowerShell interrompe a coleta de dados de auditoria para relatórios sobre atividades dos últimos 28 dias.

Stop-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

Verifique o status de coleta de dados para relatórios recentes baseados em atividades

Depois que a coleta de dados estiver habilitada, os relatórios poderão ser gerados após 24 horas. Para marcar se os relatórios podem ser gerados, use o comando do PowerShell Get-SPOAuditDataCollectionStatusForActivityInsights. O comando retorna o status atual da coleta de dados, que pode ser NotInitiated, InProgressou Paused. Os relatórios podem ser gerados quando o status é InProgress.

Get-SPOAuditDataCollectionStatusForActivityInsights -ReportEntity SharingLinks_Anyone

Acompanhar relatórios usando o PowerShell

Importante

Cada criação de relatório retorna um GUID que você pode usar para rastrear o status do relatório.

Start-SPODataAccessGovernanceInsight -ReportEntity SensitivityLabelForFiles -Workload SharePoint -ReportType Snapshot -FileSensitivityLabelGUID "a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1" -FileSensitivityLabelName Secret
ReportId                             Status
--------                             ------
a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 NotStarted

Use o comando Get-SPODataAccessGovernanceInsight para obter o status atual de um relatório de governança de acesso a dados específico usando a ID do relatório.

Get-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportId          : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportEntity      : SharingLinks_Anyone
Status            : InQueue
Workload          : SharePoint
TriggeredDateTime : 11/13/2024 19:32:34
CreatedDateTime   : 11/13/2024 20:09:23
ReportStartTime   : 10/17/2024 19:32:33
ReportEndTime     : 11/13/2024 19:32:33
ReportType        : RecentActivity
SitesFound        : 120

O ReportStartTime e ReportEndTime mostrar o período de dados para o relatório. O status muda para Completed quando a geração do relatório é concluída.

Você também pode exibir o status atual dos relatórios do DAG usando o filtro ReportEntity em vez da ID. O reportID aparece na saída e é necessário mais tarde para baixar um relatório específico.

Get-SPODataAccessGovernanceInsight -ReportEntity PermissionedUsers
ReportId             : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
ReportName           : PermissionReportFor1AsOfSept
ReportEntity         : PermissionedUsers
Status               : Completed
Workload             : SharePoint
TriggeredDateTime    : 09/18/2024 11:06:16
CreatedDateTime      : 09/22/2024 12:12:48
ReportType           : Snapshot
CountOfUsersMoreThan : 1
CountOfSitesInReport : 7
CountOfSitesInTenant : 22
Privacy              : All
Sensitivity          : {All}
Templates            : {All}

ReportId             : b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2
ReportName           : PermissionReportFor1AsOfOct
ReportEntity         : PermissionedUsers
Status               : Completed
Workload             : SharePoint
TriggeredDateTime    : 10/09/2024 14:15:40
CreatedDateTime      : 10/09/2024 15:18:23
ReportType           : Snapshot
CountOfUsersMoreThan : 100
CountOfSitesInReport : 0
CountOfSitesInTenant : 26
Privacy              : All
Sensitivity          : {All}
Templates            : {All}

Exibir e baixar relatórios usando o PowerShell

Para baixar um relatório específico, você precisa do reportID. Obtenha o reportID usando o comando Get-SPODataAccessGovernanceInsight . Em seguida, use o comando Export-SPODataAccessGovernanceInsight para baixar o relatório para um caminho especificado.

Export-SPODataAccessGovernanceInsight -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -DownloadPath "C:\Users\TestUser\Documents\DAGReports"

Esse comando baixa um arquivo CSV para o caminho especificado. Você pode encontrar detalhes sobre o CSV e a exibição de cada relatório em Como acessar os relatórios de governança de acesso a dados no centro de administração do SharePoint.

Observação

O caminho de download padrão é a pasta Downloads .

Executar ações corretivas usando o PowerShell

Depois de gerar relatórios de governança de acesso a dados, você pode executar ações corretivas conforme descrito em Ações corretivas de relatórios de governança de acesso a dados.

A seção a seguir descreve os comandos do PowerShell para iniciar e rastrear revisões de acesso ao site como uma ação corretiva.

Iniciar revisão de acesso ao site usando o PowerShell

Use o comando Start-SPOSiteReview para iniciar uma revisão de acesso ao site para um site específico, listado em um relatório de governança de acesso a dados. O relatório de governança de acesso a dados fornece o contexto sob o qual você deve iniciar a revisão. Recupere a ID do relatório e a ID do site do arquivo CSV e forneça comentários para esclarecer o proprietário do site sobre o objetivo da revisão.

Start-SPOSiteReview -ReportID a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1 -SiteID c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3 -Comment "Check for org wide access"
ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReportEntity            : PermissionedUsers
Status                  : Pending
AdminComment            : Check for org wide access
SiteName                : All Company

Esse comando gera emails para o proprietário do site, conforme descrito em Como iniciar uma revisão de acesso ao site.

Importante

Você pode iniciar até 1.000 revisões de acesso ao site por mês no relatório Permissões do site em toda a organização . Esse limite é redefinido no início de cada novo mês.

Acompanhar revisões de acesso ao site usando o PowerShell

Use o comando Start-SPOSiteReview para rastrear o status das revisões de acesso ao site. Para revisões específicas, use o ReviewID valor conforme mostrado na saída. Para recuperar todas as revisões relacionadas a um módulo de relatório, use o ReportEntity parâmetro.

Get-SPOSiteReview -ReportEntity PermissionedUsers
ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 13-11-2024 20:55:41
ReviewCompletedDateTime :
ReportCreatedDateTime   : 13-11-2024 23:25:41
ReportEndDateTime       : 13-11-2024 23:25:41
ReportEntity            : PermissionedUsers
Status                  : Pending
AdminComment            : Check for org wide access
SiteName                : All Company
ReviewerEmail           :
ReviewerComment         :

ReviewId                : a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1
SiteId                  : c2c2c2c2-dddd-eeee-ffff-a3a3a3a3a3a3
ReviewInitiatedDateTime : 24-10-2024 11:07:39
ReviewCompletedDateTime : 15-11-2024 11:07:39
ReportCreatedDateTime   : 15-10-2024 09:24:47
ReportEndDateTime       : 15-10-2024 11:39:52
ReportEntity            : PermissionedUsers
Status                  : Completed
AdminComment            : Check for org wide access
SiteName                : All Company
ReviewerEmail           : Jon@contosofinance.com
ReviewerComment         : Removed EEEU for sensitive documents