Dia 15: SharePoint Online — Sites e Permissões para PME

1. Introdução ao SharePoint Online

O SharePoint Online é a plataforma de colaboração e gestão de conteúdo da Microsoft 365, incluída na maioria dos planos M365 comerciais. Para uma PME portuguesa, o SharePoint substitui partilhas de rede interna, pastas partilhadas em servidores de ficheiros e até Drives de rede mapeados — oferecendo versionamento, controlo de acessos granular, integração nativa com Teams e acesso de qualquer dispositivo.

Ao contrário do SharePoint Server (on-premises), o SharePoint Online não requer manutenção de infraestrutura física, patches de segurança nem actualizações cumulativas. A Microsoft gere a infraestrutura; o administrador da PME foca-se em estrutura de sites, permissões e governança. A gestão faz-se através do Centro de Administração do SharePoint ou via PowerShell com o módulo Microsoft.Online.SharePoint.PowerShell.

Para administradores que já gerem SharePoint e Teams em contexto empresarial, este artigo aprofunda a estrutura de sites, permissões, bibliotecas e partilha externa — com comandos PowerShell executáveis e listas de verificação práticas.

Antes de começar, é necessário instalar o módulo PowerShell adequado. Existem dois módulos: o Microsoft.Online.SharePoint.PowerShell (clássico, usado neste artigo) e o PnP.PowerShell (mais moderno, focado em implementação de artefactos). Para gestão administrativa ao nível do tenant, o módulo clássico é suficiente.

# Instalar o módulo SharePoint Online (executar como Administrador)
Install-Module -Name Microsoft.Online.SharePoint.PowerShell -Force -AllowClobber
# Verificar versão instalada
Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name, Version

2. Tipos de Sites

O SharePoint Online oferece três tipos principais de sites, cada um com um propósito distinto. Compreender a diferença é fundamental para estruturar correctamente uma PME — usar o tipo errado leva a problemas de permissões, navegação confusa e dificuldade de manutenção.

Tipo de Site Template Uso Típico Grupo M365
Team Site STS#3 Colaboração em equipa, projectos Sim
Communication Site SITEPAGEPUBLISHING#0 Intranet, portais, páginas informativas Opcional
Hub Site N/A (registo de site existente) Agrupar sites relacionados, navegação comum Sim

2.1 Team Site

O Team Site é o tipo mais comum. Cada Team Site cria automaticamente um Grupo Microsoft 365 com caixa de correio partilhada, calendário, planner e site SharePoint. É ideal para equipas de departamentos (Vendas, RH, Financeiro) ou projectos específicos. Quando se cria uma equipa no Microsoft Teams, um Team Site SharePoint é criado em segundo plano.

2.2 Communication Site

O Communication Site é orientado para comunicação unidireccional — poucos editores, muitos leitores. Usa-se para intranets corporativas, páginas de políticas internas, manuais de procedimentos ou portais de departamento. Não cria automaticamente um Grupo M365, o que dá mais controlo sobre quem pode editar.

2.3 Hub Site

O Hub Site não é um tipo de site autónomo — é uma função aplicada a um Team Site ou Communication Site existente que passa a funcionar como “guarda-chuva” de outros sites associados. Fornece navegação consistente, imagem de marca partilhado e agregação de notícias.

ℹ Hub Site para organizar departamentos

Um Hub Site no SharePoint permite agrupar vários Team Sites relacionados sob uma navegação comum — ideal para organizar departamentos. Exemplo: Hub “Vendas” agrega Team Sites de Vendas Norte, Vendas Sul, Apoio ao Cliente e Relatórios Comerciais.

Os comandos abaixo demonstram a criação dos três tipos via PowerShell. O parâmetro -Owner é obrigatório e deve ser um utilizador com licença M365 atribuída.

# Ligar ao SharePoint Online
Connect-SPOService -Url https://exemplo-admin.sharepoint.com
# Verificar sites existentes
Get-SPOSite | Select-Object Title, Url, Template, PartilhaCapability
# Criar Team Site
New-SPOSite -Url https://exemplo.sharepoint.com/sites/vendas -Owner [email protected] -Template STS#3 -Title "Vendas"
# Criar Communication Site
New-SPOSite -Url https://exemplo.sharepoint.com/sites/intranet -Owner [email protected] -Template SITEPAGEPUBLISHING#0 -Title "Intranet"
# Criar Hub Site (registar um site existente como Hub)
Register-SPOHubSite -Site https://exemplo.sharepoint.com/sites/hub-vendas -Title "Hub Vendas"
# Associar site ao Hub
Add-SPOHubSiteAssociation -Site https://exemplo.sharepoint.com/sites/vendas -HubSite https://exemplo.sharepoint.com/sites/hub-vendas

3. Permissões e Grupos

O modelo de permissões do SharePoint baseia-se em níveis de permissão herdados de cima para baixo: o site tem permissões, as bibliotecas herdam do site, as pastas herdam da biblioteca e os ficheiros herdam da pasta. A herança pode ser quebrada em qualquer nível, mas isso aumenta a complexidade de gestão — deve ser usado com moderação.

Cada Team Site cria automaticamente três grupos de SharePoint com níveis de permissão predefinidos:

Grupo Nível de Permissão Acesso Típico
[Site] Members Edit (Contribute) Membros da equipa — editam conteúdo
[Site] Owners Full Control Administradores do site
[Site] Visitors Read Leitores — só visualizam

Quando um Team Site está ligado a um Grupo M365, adicionar utilizadores ao grupo M365 adiciona-os automaticamente ao grupo de SharePoint correspondente. Isto simplifica a gestão — em vez de gerir permissões site a site, gerem-se membros do Grupo M365 (que pode ser feito a partir do Teams, Outlook ou Centro de Administração M365).

Para PMEs, a recomendação é manter a herança de permissões sempre que possível e gerir acessos ao nível do site. Se uma pasta ou biblioteca precisa de acesso restrito, criar um site separado é preferível a quebrar a herança — facilita a auditoria e reduz erros de configuração.

# Verificar permissões do site
Get-SPOUser -Site https://exemplo.sharepoint.com/sites/vendas | Select-Object LoginName, IsSiteAdmin, Groups
# Verificar grupos de SharePoint do site
Get-SPOSiteGroup -Site https://exemplo.sharepoint.com/sites/vendas | Select-Object Title, Owner, Users
# Adicionar utilizador a um grupo de SharePoint
Add-SPOUser -Site https://exemplo.sharepoint.com/sites/vendas -Group "Vendas Members" -LoginName [email protected]
# Remover utilizador de um grupo
Remove-SPOUser -Site https://exemplo.sharepoint.com/sites/vendas -Group "Vendas Members" -LoginName [email protected]

4. Bibliotecas e Listas

As bibliotecas de documentos são o coração do SharePoint — substituem as pastas partilhadas de rede. Cada biblioteca suporta versionamento, check-out/check-in, metadados personalizados (colunas), vistas filtradas e políticas de retenção. As listas são tabelas estruturadas para registos (contactos, tarefas, inventário, pedidos) e podem incluir validação de dados, fluxos Power Automate e regras de formato condicional.

4.1 Estrutura de pastas recomendada

A tentação de replicar a estrutura de pastas do servidor de ficheiros antigo é forte, mas o SharePoint funciona melhor com menos níveis de pastas e mais metadados. Uma boa prática:

  • Máximo 3 níveis de profundidade de pastas
  • Usar colunas de metadados (Departamento, Ano, Tipo de Documento) em vez de pastas
  • Criar vistas filtradas por metadados — mais eficiente que navegar pastas
  • Activar versionamento mínor e májor em bibliotecas críticas
  • Configurar políticas de retenção para conformidade (ex.: apagar após 7 anos)

4.2 Listas vs Bibliotecas

Aspecto Biblioteca Lista
Conteúdo principal Ficheiros (Office, PDF, imagens) Registos estruturados (texto, datas, números)
Versionamento Sim (menor e maior) Sim (com item-level versioning activado)
Checkout Sim Não
Integração Teams Separador Ficheiros no Teams Separador Lista no Teams

4.3 Armazenamento e quotas

O SharePoint Online oferece 1 TB de armazenamento base por tenant mais 10 GB por licença M365 (plano E3/Business Premium). O administrador pode definir quotas individuais por site. Em PMEs, normalmente não é necessário restringir quotas — a conjunto de armazenamento partilhada é suficiente.

# Verificar storage usado
Get-SPOSite -Identity https://exemplo.sharepoint.com/sites/vendas | Select-Object StorageUsage, StorageQuota
# Definir quota de armazenamento específica (em MB)
Set-SPOSite -Identity https://exemplo.sharepoint.com/sites/vendas -StorageQuota 51200
# Verificar storage total do tenant
Get-SPOTenant | Select-Object StorageQuota, StorageQuotaAllocated

5. Partilha Externa

O partilha externa permite partilhar sites, bibliotecas e ficheiros individuais com utilizadores externos à organização (clientes, fornecedores, consultores). É uma funcionalidade poderosa mas com risco de exposição de dados se mal configurada. O SharePoint tem quatro níveis de capacidade de partilha:

Nível Valor PowerShell Descrição
Disabled Disabled Sem partilha externa
ExternalUserPartilhaOnly ExternalUserPartilhaOnly Convidados individuais (por ficheiro/pasta)
ExternalUserAndGuestPartilha ExternalUserAndGuestPartilha Inclui links “qualquer pessoa” (anonymous)
ExistingExternalUserPartilha ExistingExternalUserPartilha Apenas convidados já existentes no diretório

⚠ Hierarquia de partilha externa

O partilha externa ao nível do site sobrepõe-se ao nível do tenant — se o tenant bloqueia partilha externa, nenhum site pode partilhar mesmo que configurado. Mas se o tenant permite, um site pode ser mais restritivo independentemente. Verificar sempre a configuração do tenant antes de configurar sites.

Para PMEs, a configuração recomendada é ExternalUserPartilhaOnly ao nível do tenant, e permitir que sites específicos sejam mais restritivos se necessário. O nível ExternalUserAndGuestPartilha (links “qualquer pessoa”) deve ser usado com cautela — qualquer pessoa com o link acede sem autenticação.

# Verificar configuração de partilha do tenant
Get-SPOTenant | Select-Object PartilhaCapability, ExternalUserExpirationRequired, ExternalUserExpireInDays
# Configurar partilha externa ao nível do site
Set-SPOSite -Identity https://exemplo.sharepoint.com/sites/vendas -PartilhaCapability ExternalUserPartilhaOnly
# Configurar expiração automática de acessos externos (90 dias)
Set-SPOTenant -ExternalUserExpirationRequired $true -ExternalUserExpireInDays 90
# Verificar links partilhados externamente
Get-SPOSite -Identity https://exemplo.sharepoint.com/sites/vendas | Select-Object PartilhaCapability

6. Modelos e Site Designs

Os Site Designs e Site Scripts permitem automatizar a configuração de novos sites — criar bibliotecas, listas, aplicar temas, configurar permissões e executar fluxos Power Automate aquando da criação do site. Para uma PME com vários departamentos, isto garante consistência: todos os Team Sites de Vendas têm a mesma estrutura base, sem intervenção manual.

6.1 Site Scripts

Um Site Script é um ficheiro JSON que define acções a executar quando um site é criado: criar listas, adicionar colunas, aplicar tema, associar a Hub Site, configurar partilha externa. Pode incluir até 30 acções por script.

6.2 Site Designs

Um Site Design associa um ou mais Site Scripts a um modelo de site (Team Site ou Communication Site) e pode ser apresentado como opção ao utilizador final no momento de criação de um novo site. Os Site Designs podem também ser aplicados via API ou PowerShell a sites já existentes.

# Definir Site Script (JSON com acções)
$siteScript = @{
  "$schema" = "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json"
  actions = @(
    @{
      verb = "createSPList"
      listName = "Documentos Comerciais"
      template = "documentLibrary"
    },
    @{
      verb = "setSiteExternalPartilhaCapability"
      capability = "ExternalUserPartilhaOnly"
    },
    @{
      verb = "associateHubSite"
      hubSiteUrl = "https://exemplo.sharepoint.com/sites/hub-vendas"
    }
  )
}
$json = $siteScript | ConvertTo-Json -Depth 5
# Registar o Site Script
Add-SPOSiteScript -Title "Estrutura Vendas" -Content $json
# Criar Site Design associado ao template Team Site
Add-SPOSiteDesign -Title "Site de Vendas" -WebTemplate "64" -SiteScriptIds <script-id> -Description "Estrutura padrão para sites de vendas"

O valor 64 em -WebTemplate corresponde a Team Site; 68 corresponde a Communication Site. O ID do Site Script criado é devolvido por Add-SPOSiteScript e deve ser usado em -SiteScriptIds.

6.3 Modelos PnP

Para PMEs que precisam de automação mais avançada, o PnP PowerShell oferece cmdlets como Get-PnPSiteTemplate e Invoke-PnPSiteTemplate que extraem e aplicam configurações completas de um site (listas, vistas, tipos de conteúdo, permissões, imagem de marca) como ficheiros XML ou JSON. É uma alternativa mais poderosa aos Site Scripts tradicionais.

7. Erros Comuns e Lista de Verificação

Os erros mais frequentes na implementação de SharePoint Online em PMEs resultam de falta de planeamento da estrutura, permissões quebradas e partilha externa descontrolado. A tabela abaixo resume os cenários típicos e as respectivas soluções.

Problema Causa Solução
Permissões não aplicadas a novos ficheiros Herança quebrada na biblioteca Restaurar herança ou re-aplicar permissões manualmente
Utilizadores externos não conseguem aceder Tenant bloqueia partilha externa Verificar Get-SPOTenant PartilhaCapability antes de configurar site
Excesso de sites órfãos sem proprietário Criação de sites sem governança Restringir criação de sites no tenant; usar Site Designs
Navegação confusa entre sites Falta de Hub Sites Implementar Hub Sites por departamento
Armazenamento esgotado Quotas não monitorizadas Monitorizar Get-SPOSite StorageUsage; definir quotas
Links “qualquer pessoa” sem expiração GuestPartilha activo sem política Activar ExternalUserExpirationRequired no tenant

7.1 Lista de Verificação de Implementação

Verificação Comando / Acção
Tenant permite partilha externa? Get-SPOTenant PartilhaCapability
Sites têm owner definido? Get-SPOSite OwnerEmail
Hub Sites configurados por departamento? Get-SPOHubSite
Expiração de acessos externos activa? Get-SPOTenant ExternalUserExpirationRequired
Quotas de armazenamento monitorizadas? Get-SPOSite StorageUsage
Criação de sites restrita? Get-SPOTenant RequireCreator
Site Designs aplicados? Get-SPOSiteDesign

Após verificar todos os pontos acima, a implementação de SharePoint Online está pronta para produção. O próximo passo natural é integrar os sites SharePoint com o Microsoft Teams, tema abordado na continuidade deste curso.

✓ Resumo do Dia 15

Hoje cobrimos os três tipos de sites (Team, Communication, Hub), o modelo de permissões por herança, a estrutura de bibliotecas e listas, configuração de partilha externa e automização com Site Designs. Para uma PME, o essencial é: planear a estrutura antes de criar sites, manter a herança de permissões, usar Hub Sites para organizar departamentos e restringir o partilha externa ao nível necessário.