Compartilhar via


Gerir relatórios de governação de acesso a dados com o PowerShell do SharePoint Online

Embora a governação de acesso a dados esteja disponível no portal do centro de administração do SharePoint, as grandes organizações geralmente procuram suporte do PowerShell para gerir o dimensionamento através de scripting e automatização. Este artigo descreve como utilizar o módulo do PowerShell do SharePoint Online para gerir relatórios de governação de acesso a dados.

Importante

  • O suporte do PowerShell para a governação de acesso a dados está disponível no módulo "Microsoft.Online.SharePoint.PowerShell" e na versão "16.0.25409" e posteriormente.
  • Execute o comando Connect-SPOServicesem o parâmetro Credential . Não suportamos o início de sessão com o parâmetro Credential inline com as práticas de segurança mais recentes.

O que preciso para criar um relatório de governação de acesso a dados?

Quais são os requisitos de licença?

A sua organização tem de ter a licença correta e cumprir determinadas permissões ou funções administrativas para utilizar a funcionalidade descrita neste artigo.

Em primeiro lugar, a sua organização tem de ter uma das seguintes licenças base:

  • Office 365 E3, E5 ou A5
  • Microsoft 365 E1, E3, E5 ou A5

Além disso, precisa de, pelo menos, uma destas licenças:

  • Microsoft 365 Copilot licença: tem de ser atribuída uma licença copilot a pelo menos um utilizador na sua organização (este utilizador não precisa de ser administrador do SharePoint).
  • Licença de Gestão Avançada do Microsoft SharePoint: Disponível como uma compra autónoma.

Requisitos de administrador

Tem de ser um administrador do SharePoint ou ter permissões equivalentes.

Informações adicionais

Se a sua organização tiver uma licença copilot e, pelo menos, uma pessoa na sua organização lhe for atribuída uma licença copilot, os administradores do SharePoint obterão automaticamente acesso às funcionalidades de Gestão Avançada do SharePoint necessárias para a implementação do Copilot.

Para organizações sem uma licença copilot, pode utilizar as funcionalidades de Gestão Avançada do SharePoint ao comprar uma licença de Gestão Avançada do SharePoint autónoma.

O que preciso de ter antes de começar?

Tem de ser administrador do SharePoint ou ter permissões equivalentes no Microsoft 365 para executar os scripts de administração do PowerShell.

Antes de utilizar os scripts do PowerShell neste artigo, tem de efetuar os seguintes passos:

  1. Se ainda não o fez, transfira a Shell de Gerenciamento do SharePoint Online mais recente.

    Observação

    Se você instalou uma versão anterior do Shell de Gerenciamento do SharePoint Online, vá até Adicionar ou remover programas e desinstale o "Shell de Gerenciamento do SharePoint Online".

  2. Ligue-se ao SharePoint como Administrador do SharePoint ou com permissões equivalentes no Microsoft 365 no Microsoft 365. Para saber como, consulte Introdução ao Shell de Gerenciamento do SharePoint Online.

Como fazer criar todos os relatórios com o PowerShell?

Utilize o comando Start-SPODataAccessGovernanceInsight para gerar todos os relatórios com filtros e parâmetros adequados

Como fazer gerar um relatório de estado de permissão do site com o PowerShell?

Tem de compreender as permissões configuradas na sua organização, especialmente na sequência da adoção do Copilot, uma vez que respeita as permissões de utilizador e conteúdo. O risco de exposição de dados da Copilot aumenta com o número de utilizadores com permissões/acesso. Este relatório fornece informações aprofundadas sobre a "exposição" (o número exclusivo de utilizadores com permissões) de todos os sites do SharePoint e do OneDrive na sua organização.

Recomendamos que execute primeiro este relatório para obter uma descrição geral rápida das permissões na sua organização.

Este relatório é um relatório "snapshot". Fornece a snapshot/status mais recente de toda a organização a partir da data de geração do relatório.

Para gerar um relatório para todos os 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 para empresas, execute o seguinte comando:

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

Reveja as seguintes informações importantes sobre as execuções do relatório.

  • Uma vez que estes relatórios são abrangentes e são susceptíveis de abranger todos os dados no seu inquilino, o número máximo de relatórios permitidos é 2; uma por carga de trabalho.
  • O primeiro relatório demora sempre até cinco dias a concluir, independentemente do tamanho da organização. Os relatórios subsequentes são concluídos dentro de 24 horas.
  • Estes relatórios capturam dados até 48 horas antes da geração do relatório.
  • Uma vez gerados, podem ser executados novamente uma vez a cada 30 dias.

Estes comandos geram uma lista de todos os sites onde pelo menos um utilizador pode aceder a qualquer conteúdo dentro do site. Mais informações sobre a lista de sites e como interpretar os resultados são fornecidas aqui.

Assim que compreender a extensão da partilha excessiva no seu inquilino, pode controlar mais desvios especificamente de sites ativos nos últimos 28 dias. Pode gerar relatórios em sites ativos em fatores-chave de potencial partilha excedida, como "Partilhar ligações" ou conteúdo partilhado com "Todos, exceto utilizadores externos", nos últimos 28 dias.

Como fazer gerar uma etiqueta de confidencialidade no relatório de ficheiros com o PowerShell?

Execute este comando do PowerShell para acionar o relatório para listar sites onde itens específicos foram etiquetados com uma determinada "etiqueta", a partir da data de geração do relatório.

Primeiro, obtenha o nome da etiqueta ou o GUID da etiqueta com o módulo "Segurança e conformidade" do PowerShell.

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

Em seguida, utilize o Nome e o GUID para obter sites com ficheiros etiquetados com o nome de etiqueta ou GUID especificado.

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

Observação

Atualmente, o relatório para contas "OneDriveForBusiness" com ficheiros etiquetados não é suportado.

Pode utilizar relatórios de atividade de ligação de partilha para identificar sites que estão ativos em colaboração e precisam de uma intervenção mais rápida para mitigar qualquer potencial risco de partilha excedida. Estes relatórios baseados em "RecentActivity" identificam sites que estão a gerar o maior número de ligações de partilha nos últimos 28 dias.

Pode gerar os seguintes relatórios de atividade de ligação de partilha:

  • Sites que criaram ligações de partilha "Qualquer pessoa" nos últimos 28 dias
  • Sites que criaram ligações de partilha "Pessoas na sua organização" nos últimos 28 dias
  • Sites que criaram ligações de partilha "Pessoas específicas" (convidados) nos últimos 28 dias

Importante

Se não tiver uma licença de Gestão Avançada do Microsoft SharePoint, tem de ativar a recolha de dados para relatórios baseados em "RecentActivity", para que o produto comece a recolher os dados de auditoria relevantes para criar este relatório. Depois de os ativar, os dados são recolhidos e armazenados durante 28 dias. Pode gerar os relatórios 24 horas depois e estes contêm dados do ponto de recolha. Se não gerar relatórios mesmo uma vez em três meses, a recolha de dados será colocada em pausa e terá de ativá-la novamente. Para ativar a recolha de dados para estes relatórios, veja Como fazer gerir a recolha de dados para relatórios recentes baseados em atividades?.

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

Indique o valor da carga de trabalho como "OneDriveForBusiness" para obter todas as contas do OneDrive com os mesmos critérios.

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

Indique o valor da carga de trabalho como "OneDriveForBusiness" para obter todas as contas do OneDrive com os mesmos critérios.

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

Indique o valor da carga de trabalho como "OneDriveForBusiness" para obter todas as contas do OneDrive com os mesmos critérios.

Como fazer identificar conteúdos partilhados com Todos, exceto utilizadores externos nos últimos 28 dias com o PowerShell?

Embora a partilha de ligações seja uma das contribuidor possíveis de partilha excedida, outra chave contribuidor é "Todos, exceto os utilizadores externos" (EEEU). A EEEU torna o conteúdo "público" (visível para toda a organização) e facilita a descoberta de conteúdos e acesso a outras pessoas. Estes relatórios identificam sites que utilizaram ativamente a EEEU em vários âmbitos nos últimos 28 dias.

Pode gerar os seguintes relatórios de atividade EEEU:

  • Sites partilhados com Todos exceto utilizadores externos nos últimos 28 dias
  • Itens partilhados com Todos, exceto utilizadores externos nos últimos 28 dias

Importante

Atualmente, o relatório EEEU para o OneDriveForBusiness só suporta o nível do item. O relatório EEEU para o OneDriveForBusiness ao nível do site não é suportado. Se não tiver uma licença de Gestão Avançada do Microsoft SharePoint, tem de ativar a recolha de dados para relatórios baseados em "RecentActivity", para que o produto comece a recolher os dados de auditoria relevantes para criar este relatório. Depois de os ativar, os dados são recolhidos e armazenados durante 28 dias. Pode gerar os relatórios 24 horas depois e estes contêm dados do ponto de recolha. Se não gerar relatórios mesmo uma vez em três meses, a recolha de dados será colocada em pausa e terá de ativá-la novamente. Para ativar a recolha de dados para estes relatórios, veja Como fazer gerir a recolha de dados para relatórios recentes baseados em atividades?.

Como fazer identificar sites partilhados com Todos, exceto utilizadores externos nos últimos 28 dias com o PowerShell?

Quando adiciona o EEEU a uma associação a um site (proprietários, membros ou visitantes), todo o conteúdo do site torna-se público e mais propenso a partilha excessiva. Execute o seguinte comando do PowerShell para acionar 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"

Como fazer identificar itens partilhados com Todos, exceto utilizadores externos nos últimos 28 dias com o PowerShell?

Execute o seguinte comando do PowerShell para acionar o relatório para capturar itens específicos (ficheiros/pastas/listas) que foram partilhados com o EEEU nos últimos 28 dias para sites do SharePoint:

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

Observação

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

Como fazer gerir a recolha de dados para relatórios recentes baseados em atividades?

Importante

Se não tiver uma licença de Gestão Avançada do Microsoft SharePoint, tem de ativar a recolha de dados para relatórios baseados em "RecentActivity", para que o produto comece a recolher os dados de auditoria relevantes para criar este relatório. Depois de o ativar, pode gerar os relatórios 24 horas depois e estes contêm dados do ponto de recolha. Os dados são armazenados durante 28 dias. Se não gerar relatórios mesmo uma vez em três meses, a recolha de dados será colocada em pausa e terá de ativá-la novamente.

Como fazer ativar a recolha de dados para relatórios recentes baseados em atividades?

Este comando do PowerShell começa a recolher 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

Como fazer desativar a recolha de dados para relatórios recentes baseados em atividades?

Este comando do PowerShell deixa de recolher dados de auditoria para relatórios sobre atividades dos últimos 28 dias.

Stop-SPOAuditDataCollectionForActivityInsights -ReportEntity SharingLinks_Anyone

Como fazer marcar a status de recolha de dados para relatórios recentes baseados em atividades?

Assim que a recolha de dados estiver ativada, os relatórios podem ser gerados após 24 horas. Para marcar se os relatórios podem ser gerados, utilize o comando do PowerShell Get-SPOAuditDataCollectionStatusForActivityInsights. O comando devolve a recolha de dados atual status, que pode ser NotInitiated, InProgress ou Paused. Os relatórios podem ser gerados quando o status é InProgress.

Get-SPOAuditDataCollectionStatusForActivityInsights -ReportEntity SharingLinks_Anyone

Como fazer controlar relatórios com o PowerShell?

Importante

Todas as criações de relatórios resultam num GUID como saída que pode ser utilizado para controlar o relatório status.

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

Utilize o comando Get-SPODataAccessGovernanceInsight para obter o status atual de um relatório de governação de acesso a dados específico com o 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

ReportStartTime e ReportEndTime indicam o período de dados para gerar o relatório. O status é marcado como "Concluído" quando a geração do relatório estiver concluída.

Também pode ver a status atual dos relatórios DAG com o filtro ReportEntity em vez do ID. O reportID é listado na saída e é necessário mais tarde para transferir 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}

Como fazer ver e transferir relatórios com o PowerShell?

Para transferir um relatório específico, precisa do reportID. Obtenha o reportID com o comando Get-SPODataAccessGovernanceInsight e utilize o comando Export-SPODataAccessGovernanceInsight para transferir o relatório para um caminho especificado.

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

Esta ação transfere um ficheiro CSV para o caminho especificado. Os detalhes do CSV/vista de cada relatório são abordados aqui.

Observação

O caminho de transferência predefinido é a pasta "Transferências".

Como fazer executar ações de remediação com o PowerShell?

Depois de gerar relatórios de governação de acesso a dados, pode executar ações de remediação conforme descrito em Ações de remediação a partir de Relatórios de governação de acesso a dados. A secção seguinte descreve os comandos do PowerShell para acionar e controlar a "revisão de acesso ao site" como uma ação de remediação.

Como fazer iniciar a revisão de acesso ao site com o PowerShell?

Utilize o comando Start-SPOSiteReview para iniciar uma revisão de acesso ao site para um site específico, listado num relatório de governação de acesso a dados. O Relatório de governação de acesso a dados fornece o contexto no qual deve iniciar a revisão. Obtenha o reportID e o ID do site do ficheiro CSV e forneça comentários para dar clareza ao proprietário do site relativamente à finalidade 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

Isto aciona e-mails para o proprietário do site, conforme descrito aqui.

Como fazer controlar as revisões de acesso ao Site com o PowerShell?

Utilize o comando Start-SPOSiteReview para controlar a status de revisões de acesso ao site. Para revisões específicas, pode utilizar o ReviewID valor conforme mostrado na saída. Para obter todas as revisões relacionadas com um módulo de relatórios, utilize 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