Dia 15: SharePoint Online — Sites e Permissões para PME
Neste artigo
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.
Artigos relacionados no kbase.pt