Quando um auditor solicita um mapa completo de quem tem acesso a o que no seu ambiente SharePoint, verificar manualmente cada site é lento e propenso a erros. O principal desafio é que as permissões do SharePoint podem ser herdadas, exclusivas e em camadas por meio de grupos do Microsoft 365, grupos de segurança e atribuições diretas de usuários. Este guia explica como usar as ferramentas internas de administração do SharePoint e o PowerShell para gerar um relatório de permissões que atenda aos requisitos de auditoria. Você aprenderá as etapas exatas para exportar dados de permissão de todos os sites, documentar configurações de compartilhamento externo e verificar níveis de acesso para conformidade.
Principais Conclusões: Gerar um Relatório de Auditoria de Permissões do SharePoint
- Centro de administração do SharePoint > Sites ativos > Exportar: Exporta um CSV com URL do site, proprietário e status de compartilhamento externo de todos os sites.
- Cmdlets Get-SPOSite e Get-SPOSiteGroup do PowerShell: Recuperam dados detalhados de permissão, incluindo usuários, grupos e definições de função para cada site.
- Centro de administração do SharePoint > Políticas > Compartilhamento: Mostra as configurações de compartilhamento externo no nível da organização e do site que os auditores costumam revisar.
Por que as Permissões do SharePoint São Difíceis de Auditar
As permissões do SharePoint não são armazenadas em uma única tabela plana. Um usuário pode ter acesso por meio de uma permissão direta em um site, associação em um grupo do Microsoft 365, inclusão em um grupo do SharePoint ou herança de um site pai. O modelo de permissão inclui três camadas: o nível do site, o nível da lista ou biblioteca e o nível do item. Os auditores precisam ver todos os caminhos de acesso, não apenas as atribuições diretas.
Outra complicação é que as configurações de compartilhamento externo diferem entre o nível da organização e cada site. Um site pode permitir compartilhamento com qualquer pessoa, enquanto o padrão do locatário é mais restritivo. O relatório de auditoria deve capturar tanto a política de compartilhamento efetiva quanto as permissões reais concedidas a usuários externos.
O SharePoint não possui um único relatório interno que combine todos esses dados. Você deve usar o centro de administração do SharePoint para um inventário de sites de alto nível e o PowerShell para despejos detalhados de permissões. Este guia cobre ambos os métodos para que você possa produzir um pacote de auditoria completo.
Etapas para Exportar Permissões do SharePoint para uma Auditoria
Método 1: Exportar Inventário de Sites do Centro de Administração do SharePoint
- Abra o centro de administração do SharePoint
Faça login no Microsoft 365 como administrador do SharePoint ou administrador global. Vá para o centro de administração do Microsoft 365, selecione Centros de administração e depois escolha SharePoint. Como alternativa, navegue diretamente para https://admin.microsoft.com/SharePoint. - Navegue para Sites ativos
No menu de navegação à esquerda, selecione Sites ativos. Esta página lista todos os sites do SharePoint no seu locatário, incluindo sites de equipe, sites de comunicação e sites de hub. - Aplique filtros para restringir o escopo
Se o auditor precisar apenas de um subconjunto de sites (por exemplo, todos os sites em um hub específico ou com um determinado modelo), use a barra de filtros na parte superior. Você pode filtrar por tipo de site, associação ao hub ou URL. - Exporte a lista de sites
Clique no botão Exportar na barra de ferramentas. A exportação gera um arquivo CSV que contém a URL do site, título, modelo, proprietário, armazenamento usado e o status de Compartilhamento externo. A coluna de status de compartilhamento mostra a configuração de compartilhamento externo no nível do site (Qualquer pessoa, Novos e convidados existentes, Convidados existentes ou Somente pessoas da sua organização). - Salve e revise o CSV
Baixe o arquivo CSV e abra-o no Excel. Verifique se a coluna Compartilhamento externo corresponde aos requisitos do auditor. Este arquivo serve como a parte do inventário de sites do relatório de auditoria.
Método 2: Usar PowerShell para Extrair Permissões Detalhadas
A exportação do centro de administração não inclui permissões individuais de usuários ou associações a grupos. Para isso, você precisa do SharePoint Online Management Shell. Instale o módulo se ainda não o fez:
Install-Module -Name Microsoft.Online.SharePoint.PowerShell
- Conecte-se ao SharePoint Online
ExecuteConnect-SPOService -Url https://seulocatario-admin.sharepoint.com. Substituaseulocatariopelo nome do seu locatário. Insira suas credenciais de administrador quando solicitado. - Obtenha todas as coleções de sites
UseGet-SPOSite -Limit Allpara recuperar todas as coleções de sites. Armazene a saída em uma variável, por exemplo$sites = Get-SPOSite -Limit All. O parâmetro-Limit Allgarante que nenhum site seja perdido. - Exporte grupos de permissão no nível do site
ExecuteGet-SPOSiteGroup -Site $site.Urlpara cada site. Este cmdlet retorna os grupos do SharePoint (Visitantes, Membros, Proprietários) e seus membros. Direcione a saída paraExport-Csvpara salvá-la. Exemplo de script:$sites | ForEach-Object { Get-SPOSiteGroup -Site $_.Url | Select-Object Title, Users, Roles, @{N='SiteUrl';E={$_.Url}} | Export-Csv -Path 'C:\auditoria\sitegroups.csv' -NoTypeInformation -Append } - Documente usuários externos e links de compartilhamento
UseGet-SPOExternalUserpara listar todos os usuários externos no locatário. Para links de compartilhamento, executeGet-SPOSite -IncludePersonalSite $false | Get-SPOSharingLinkpara recuperar todos os links de compartilhamento entre sites. Esses dados são críticos para auditores que precisam ver quem tem acesso anônimo. - Verifique permissões exclusivas em subsites e listas
Permissões exclusivas quebram a herança. UseGet-SPOSite -Detailpara ver quais sites têm permissões exclusivas. Para inspeção mais aprofundada, use scripts CSOM (Client Side Object Model) ou ferramentas de terceiros, pois os cmdlets internos não listam permissões no nível do item. Uma verificação simples:Get-SPOSite -Limit All | Where-Object {$_.HasUniqueRoleAssignments -eq $true}lista sites com herança quebrada.
Método 3: Verificar Configurações de Compartilhamento Externo
- Verifique o compartilhamento no nível da organização
No centro de administração do SharePoint, selecione Políticas no menu à esquerda e depois escolha Compartilhamento. A seção Compartilhamento externo mostra o padrão no nível do locatário. Anote a configuração e quaisquer listas de permissão ou bloqueio de domínio. - Compare o compartilhamento no nível do site com o padrão do locatário
Na página Sites ativos, selecione um site, clique em Configurações e encontre a seção Compartilhamento externo. Documente quaisquer sites onde o compartilhamento no nível do site é mais permissivo que o padrão do locatário. Os auditores sinalizam esses como possíveis lacunas de segurança. - Exporte as configurações de compartilhamento de todos os sites
ExecuteGet-SPOSite -Limit All | Select-Object Url, SharingCapabilitye exporte para CSV. A propriedadeSharingCapabilitymostra o nível exato de compartilhamento para cada site.
Lacunas Comuns em Auditorias de Permissão do SharePoint
Script do PowerShell falha com acesso negado
A conta que executa o script deve ter a função de administrador do SharePoint ou administrador global. Se você receber um erro de acesso negado, confirme a atribuição de função no centro de administração do Microsoft 365 em Funções > Atribuições de função. Verifique também se o SharePoint Online Management Shell está conectado à URL correta do locatário.
CSV exportado não inclui todos os usuários
O cmdlet Get-SPOSiteGroup retorna apenas usuários que são membros diretos dos grupos do SharePoint. Usuários que obtêm acesso por meio de uma associação a um grupo do Microsoft 365 não são listados. Para capturá-los, execute Get-UnifiedGroupLinks -Identity "NomeDoGrupo" -LinkType Members do Exchange Online PowerShell. Em seguida, cruze os membros do grupo com as permissões do site.
Permissões exclusivas em subsites ou itens estão faltando
Os cmdlets internos não detalham permissões em nível de subsite, lista ou item. Se o auditor exigir essa profundidade, considere usar uma ferramenta de governança de terceiros ou escrever um script CSOM que enumere todos os objetos protegíveis. Uma solução alternativa mais simples é exportar uma lista de sites com permissões exclusivas e observar que é necessária inspeção manual.
Métodos de Auditoria de Permissão do SharePoint: Centro de Administração vs PowerShell
| Item | Exportação do Centro de Administração do SharePoint | PowerShell (SPO Management Shell) |
|---|---|---|
| Cobertura de dados | URL do site, proprietário, modelo, armazenamento, status de compartilhamento externo | Todos os dados do centro de administração mais membros de grupos, funções, usuários externos, links de compartilhamento |
| Nível de detalhe da permissão | Nenhum (sem permissões de usuário ou grupo) | Grupos no nível do site e seus membros; não inclui associações a grupos do Microsoft 365 ou permissões no nível do item |
| Facilidade de uso | Nenhuma codificação necessária; exportação via navegador | Requer conhecimento de PowerShell e instalação do módulo |
| Automação | Exportação manual a cada vez | Pode ser scriptado e agendado |
| Detalhe do compartilhamento externo | Mostra apenas a configuração de compartilhamento no nível do site | Mostra a configuração de compartilhamento e pode listar usuários externos e links de compartilhamento |
Agora você pode gerar um relatório abrangente de permissões do SharePoint usando a exportação do centro de administração para o inventário de sites e o PowerShell para dados detalhados de permissão. Comece executando a exportação do centro de administração para obter a visão geral de alto nível e complemente com os scripts do PowerShell para capturar associações a grupos e links de compartilhamento externo. Para uma auditoria completa, documente também quaisquer associações a grupos do Microsoft 365 que concedam acesso ao site e sinalize sites com permissões exclusivas para revisão manual. Salve todas as saídas CSV em uma pasta datada e rotule-as claramente para o auditor.