SharePoint Online Migratie: Planning En Uitvoering

💼 Management Samenvatting

Een succesvolle migratie naar SharePoint Online vereist een gestructureerde aanpak waarin technische migratie, organisatorische voorbereiding en governance naadloos samenvallen. Voor Nederlandse overheidsorganisaties is deze migratie geen louter technische operatie maar een strategisch programma dat bewaartermijnen, compliance-vereisten en continuïteit van dienstverlening moet waarborgen.

Aanbeveling
IMPLEMENT
Risico zonder
Medium
Risk Score
7/10
Implementatie
200u (tech: 80u)
Van toepassing op:
M365
SharePoint Online

Veel Nederlandse overheidsorganisaties beschikken nog over omvangrijke SharePoint on-premises omgevingen of andere documentmanagementsystemen waarin jaren aan kritieke informatie is opgeslagen. Deze omgevingen bevatten vaak essentiële documenten zoals collegebesluiten, vergaderstukken, contracten en correspondentie die onder de Archiefwet vallen en gedurende decennia bewaard moeten blijven. Een ondoordachte migratie kan leiden tot verlies van documenten, corruptie van metadata, verlies van versiegeschiedenis en het niet naleven van compliance-vereisten zoals vastgelegd in de BIO, AVG en Archiefwet. Zonder een gestructureerde migratieaanpak ontstaat het risico dat organisaties niet kunnen voldoen aan hun wettelijke verplichtingen, dat audits falen en dat de continuïteit van dienstverlening wordt verstoord. Bovendien vereisen moderne cloudomgevingen zoals SharePoint Online een andere aanpak voor beveiliging, governance en informatiearchitectuur. Zonder een weloverwogen migratieplan kunnen organisaties vastlopen in een hybride situatie waarin oude en nieuwe systemen naast elkaar blijven draaien, wat leidt tot hoge beheerkosten, verwarring bij gebruikers en complexiteit in compliance-rapportages. Een gestructureerde migratieaanpak lost deze problemen op door een gefaseerd pad te bieden waarin elke stap wordt gecontroleerd, gedocumenteerd en gevalideerd voordat de volgende fase begint.

PowerShell Modules Vereist
Primary API: SharePoint Online PowerShell
Connection: Connect-SPOService
Required Modules: Microsoft.Online.SharePoint.PowerShell, PnP.PowerShell

Implementatie

Deze beheersmaatregel beschrijft een volledige migratiemethodiek voor het overzetten van content, sites en functionaliteit naar SharePoint Online. De methodiek omvat zes hoofdfasen: assessment en planning, voorbereiding van de doelomgeving, pilotmigratie, gefaseerde productiemigratie, validatie en acceptatie, en tenslotte decommissionering van de bronomgeving. Elke fase bevat concrete activiteiten, exitcriteria en verantwoordelijkheden. De maatregel behandelt verschillende migratiescenario's: migratie vanuit SharePoint on-premises, migratie vanuit andere documentmanagementsystemen zoals Documentum of Alfresco, en migratie vanuit gedeelde netwerkschijven. De aanpak is gebaseerd op best practices van Microsoft en is afgestemd op de specifieke vereisten van Nederlandse overheidsorganisaties, inclusief aandacht voor bewaartermijnen, gevoeligheidsclassificaties en auditvereisten. De implementatie omvat het gebruik van professionele migratietools zoals SharePoint Migration Tool (SPMT), Azure Data Box voor grote hoeveelheden data, en Power Automate voor het automatiseren van migratieprocessen. De maatregel beschrijft ook hoe metadata behouden blijft, hoe versiegeschiedenis wordt overgezet en hoe permissies correct worden gemigreerd.

Vereisten

Voor het succesvol uitvoeren van een SharePoint Online migratie zijn uitgebreide voorbereidingen noodzakelijk op zowel technisch als organisatorisch gebied. Deze voorbereidingen vormen de fundamentele basis voor een gecontroleerde migratie en zijn essentieel om risico's te minimaliseren, compliance te waarborgen en continuïteit van dienstverlening te garanderen. Organisaties die deze vereisten niet volledig begrijpen of implementeren, lopen het risico dat migraties falen, data verloren gaat of compliance-vereisten worden geschonden.

De primaire technische vereiste is een actieve Microsoft 365-tenant met SharePoint Online ingeschakeld en voldoende licenties voor alle gebruikers die toegang nodig hebben tot gemigreerde content. De exacte licentierechten die nodig zijn variëren per Microsoft 365-abonnement, maar alle abonnementen die SharePoint Online bevatten zijn geschikt voor basis migratie. Voor geavanceerde functies zoals sensitivity labels, advanced compliance en lange bewaartermijnen zijn specifieke licenties zoals Microsoft 365 E3 of E5 vereist. Het is belangrijk om te verifiëren dat alle gebruikers die toegang nodig hebben tot gemigreerde content daadwerkelijk beschikken over de juiste licenties, omdat ontbrekende licenties kunnen leiden tot toegangsproblemen en gebruikersweerstand.

Voor het uitvoeren van migraties zijn specifieke beheerdersrechten vereist. De minimale rol die nodig is voor het uitvoeren van migraties is de SharePoint-beheerder, die specifieke machtigingen heeft voor het beheren van SharePoint-configuratie-instellingen en het migreren van content. Voor organisaties die gebruik maken van een globale beheerderrol zijn deze rechten automatisch aanwezig, maar het principe van least privilege vereist dat alleen de SharePoint-beheerder rol wordt toegekend wanneer deze voldoende is. Voor het migreren van grote hoeveelheden data of het gebruik van geavanceerde migratietools zijn bovendien aanvullende rechten vereist, zoals toegang tot Azure Data Box of Azure Storage accounts. Het is belangrijk om te begrijpen dat migratie-acties directe impact hebben op alle sites en gebruikers binnen de tenant, wat betekent dat deze activiteiten met zorg moeten worden uitgevoerd en dat er duidelijkheid moet zijn over wie bevoegd is om migraties uit te voeren.

Voor geautomatiseerde migratie en monitoring via PowerShell is PowerShell versie 5.1 of hoger vereist, samen met de Microsoft.Online.SharePoint.PowerShell module en de PnP.PowerShell module. De PnP.PowerShell module bevat uitgebreide cmdlets voor migratie-activiteiten, zoals Invoke-PnPSiteTemplate voor het migreren van site-configuraties, Copy-PnPFile voor het kopiëren van documenten, en Get-PnPSite voor het inventariseren van bronomgevingen. De SharePoint Migration Tool (SPMT) is een grafische tool die beschikbaar is via de Microsoft Download Center en die specifiek is ontworpen voor migraties vanuit SharePoint on-premises, gedeelde netwerkschijven en Google Workspace naar SharePoint Online. Voor zeer grote migraties of beperkte netwerkconnectiviteit is Azure Data Box beschikbaar, wat fysieke apparaten zijn die naar organisaties worden verzonden om data lokaal te kopiëren voordat deze naar Microsoft-datacenters worden verzonden. Deze tools kunnen worden geïnstalleerd en geconfigureerd volgens de documentatie van Microsoft, en regelmatige updates zijn aanbevolen om toegang te hebben tot de nieuwste functies en bugfixes.

Een essentieel onderdeel van de voorbereiding is de ontwikkeling van een uitgebreid migratieplan dat duidelijk definieert welke content wordt gemigreerd, welke volgorde wordt gehanteerd, welke tools worden gebruikt en welke validatiecriteria gelden. Dit plan moet rekening houden met verschillende data-classificatieniveaus, waarbij vertrouwelijke en geclassificeerde informatie strengere migratieprocessen en validatie vereisen dan algemene informatie. Het plan moet specificeren welke sites, documentbibliotheken en lijsten worden gemigreerd, welke metadata behouden moet blijven, welke permissies moeten worden overgezet en hoe versiegeschiedenis wordt behandeld. Dit plan vormt de basis voor alle migratie-activiteiten en moet worden goedgekeurd door zowel het management als de informatiebeveiligings- en complianceafdelingen voordat migratie plaatsvindt.

Een gestructureerd proces voor het inventariseren van de bronomgeving is cruciaal omdat zonder volledig overzicht van de broncontent het onmogelijk is om een gefundeerde migratieplanning te maken of om risico's te identificeren. Dit proces omvat het analyseren van alle sites, documentbibliotheken, lijsten en content in de bronomgeving, het identificeren van de grootte van elke component, het inventariseren van permissies en metadata, en het identificeren van afhankelijkheden zoals workflows, webparts en customizations. Het is belangrijk om gebruikers en proceseigenaren te betrekken bij dit inventarisatieproces om ervoor te zorgen dat alle kritieke content wordt geïdentificeerd en dat er duidelijkheid is over de businesswaarde van verschillende componenten. Een goed uitgevoerde inventarisatie moet resulteren in een compleet overzicht van alle content die moet worden gemigreerd, inclusief prioritering op basis van businesskritiek en compliance-vereisten.

Gebruikersbewustzijnstraining is cruciaal omdat technische migratie alleen onvoldoende is wanneer gebruikers niet begrijpen waarom migratie plaatsvindt, hoe de nieuwe omgeving werkt of waar ze hun content kunnen vinden. Training moet gebruikers informeren over de voordelen van SharePoint Online, zoals verbeterde samenwerking, moderne interface en mobiele toegang. Training moet ook praktische richtlijnen bieden over hoe gebruikers toegang krijgen tot de nieuwe omgeving, hoe ze documenten kunnen vinden die zijn gemigreerd, en hoe ze moeten werken met nieuwe functionaliteiten zoals moderne sites en Teams-integratie. Training moet worden aangeboden in verschillende formaten, zoals online tutorials, workshops en quick reference guides, en moet worden gepland vóór de migratie zodat gebruikers voorbereid zijn wanneer hun content beschikbaar komt in SharePoint Online.

Een gestructureerd proces voor validatie en acceptatie is nodig om ervoor te zorgen dat gemigreerde content correct is overgezet en dat alle functionaliteit werkt zoals verwacht. Dit proces moet duidelijk definiëren welke validatieactiviteiten worden uitgevoerd, wie verantwoordelijk is voor het uitvoeren van deze activiteiten, en welke acceptatiecriteria gelden voordat een migratie als succesvol wordt beschouwd. Validatie moet omvatten het controleren van het aantal gemigreerde documenten, het verifiëren van metadata en permissies, het testen van functionaliteit zoals zoeken en workflows, en het valideren dat compliance-vereisten zoals bewaartermijnen en gevoeligheidsclassificaties correct zijn overgezet. Wanneer validatie problemen identificeert, moeten deze worden gedocumenteerd en opgelost voordat de migratie wordt geaccepteerd.

Implementatie

Gebruik PowerShell-script sharepoint-online-migration.ps1 (functie Invoke-Monitoring) – PowerShell script voor monitoring van migratie-status en validatie.

De implementatie van een SharePoint Online migratie begint met een uitgebreide assessment van de bronomgeving. Deze assessment vormt de basis voor alle verdere planning en moet daarom zo volledig mogelijk zijn. Het proces begint met het inventariseren van alle sites, subsites, documentbibliotheken en lijsten in de bronomgeving. Voor SharePoint on-premises omgevingen kan dit worden gedaan met behulp van PowerShell-scripts die gebruik maken van de SharePoint Server Management Shell, waarbij alle site-collections worden geïnventariseerd, de grootte van elke site wordt bepaald en de structuur wordt gedocumenteerd. Voor andere bronsystemen zoals gedeelde netwerkschijven of andere documentmanagementsystemen moeten specifieke inventarisatiemethoden worden gebruikt, zoals het scannen van bestandssystemen met tools zoals TreeSize of het exporteren van inventarisaties vanuit het bronsysteem. De inventarisatie moet ook metadata bevatten zoals het aantal documenten per bibliotheek, de totale grootte, het aantal gebruikers met toegang, en informatie over workflows, customizations en afhankelijkheden.

Na de inventarisatie wordt een gedetailleerde migratieplanning opgesteld. Deze planning moet een gefaseerde aanpak beschrijven waarin content wordt gegroepeerd op basis van prioriteit, complexiteit en businesskritiek. Kritieke sites en documentbibliotheken die essentieel zijn voor dagelijkse operaties krijgen hoge prioriteit en worden als eerste gemigreerd tijdens een pilotfase. Minder kritieke content kan in latere fasen worden gemigreerd. De planning moet ook duidelijk maken welke tools worden gebruikt voor welke type migratie: SharePoint Migration Tool (SPMT) voor standaard SharePoint-migraties, Azure Data Box voor zeer grote hoeveelheden data, of aangepaste PowerShell-scripts voor specifieke scenario's. Voor elke fase moeten duidelijke exitcriteria worden gedefinieerd, zoals het percentage succesvol gemigreerde documenten, de validatie van metadata en permissies, en de acceptatie door proceseigenaren.

Voordat de daadwerkelijke migratie begint, moet de doelomgeving in SharePoint Online worden voorbereid. Dit omvat het creëren van de benodigde site-structuur, het configureren van metadata-architectuur zoals term sets en content types, het instellen van beveiligingsinstellingen en het configureren van compliance-instellingen zoals sensitivity labels en retentiebeleid. De site-structuur moet aansluiten bij de organisatiestructuur en moet rekening houden met moderne SharePoint-best practices zoals het gebruik van hub sites voor logische groepering. Metadata-architectuur moet worden ontworpen om ervoor te zorgen dat gemigreerde documenten correct worden geclassificeerd en dat zoekfunctionaliteit effectief werkt. Beveiligingsinstellingen moeten worden geconfigureerd om ervoor te zorgen dat permissies correct worden overgezet en dat gevoelige content wordt beschermd. Compliance-instellingen moeten worden ingesteld om ervoor te zorgen dat bewaartermijnen en andere compliance-vereisten worden nageleefd.

De pilotmigratie vormt een kritieke fase waarin een beperkte set content wordt gemigreerd om het migratieproces te valideren en om lessen te leren voordat de volledige migratie begint. De pilot moet representatief zijn voor de volledige migratie en moet verschillende type content omvatten, zoals documentbibliotheken met verschillende grootten, lijsten met complexe metadata, en sites met workflows of customizations. Tijdens de pilot moeten alle aspecten van het migratieproces worden getest, inclusief de migratie zelf, de validatie, en de acceptatie door gebruikers. Problemen die tijdens de pilot worden geïdentificeerd moeten worden gedocumenteerd en opgelost voordat de volledige migratie begint. De pilot moet resulteren in een gevalideerd migratieproces en in duidelijkheid over tijdsduur, resources en risico's.

De gefaseerde productiemigratie volgt de planning die is opgesteld tijdens de assessment en is gevalideerd tijdens de pilot. Migraties worden uitgevoerd in batches, waarbij elke batch wordt gemigreerd, gevalideerd en geaccepteerd voordat de volgende batch begint. Tijdens elke batch moeten migratie-activiteiten worden gemonitord om problemen vroegtijdig te identificeren en op te lossen. Validatie moet worden uitgevoerd voor elke batch om ervoor te zorgen dat content correct is overgezet en dat functionaliteit werkt zoals verwacht. Acceptatie door proceseigenaren moet worden verkregen voordat een batch als compleet wordt beschouwd. Door deze gefaseerde aanpak kunnen problemen snel worden geïdentificeerd en opgelost zonder dat de volledige migratie wordt beïnvloed.

Validatie en acceptatie vormen een integraal onderdeel van het migratieproces en moeten worden uitgevoerd voor elke gemigreerde batch. Validatie omvat het controleren van het aantal gemigreerde documenten en het vergelijken hiervan met het aantal documenten in de bronomgeving, het verifiëren dat metadata correct is overgezet, het controleren dat permissies correct zijn gemigreerd, en het testen van functionaliteit zoals zoeken en workflows. Acceptatie door proceseigenaren betekent dat eigenaren van content bevestigen dat hun content correct is gemigreerd en dat zij tevreden zijn met het resultaat. Wanneer validatie of acceptatie problemen identificeert, moeten deze worden gedocumenteerd en opgelost voordat de migratie wordt voltooid. Een gestructureerd validatie- en acceptatieproces zorgt ervoor dat migraties van hoge kwaliteit zijn en dat gebruikers tevreden zijn met het resultaat.

Na voltooiing van de migratie en acceptatie door alle stakeholders, kan de bronomgeving worden gedecommissioneerd. Dit proces moet zorgvuldig worden uitgevoerd om ervoor te zorgen dat alle content daadwerkelijk is gemigreerd en dat er geen kritieke afhankelijkheden meer bestaan. Voordat decommissionering plaatsvindt, moet worden bevestigd dat alle content is gemigreerd en gevalideerd, dat gebruikers toegang hebben tot de nieuwe omgeving en dat er geen actieve processen meer afhankelijk zijn van de bronomgeving. Decommissionering moet worden gedocumenteerd en moet worden goedgekeurd door het management en de informatiebeveiligingsafdeling. Na decommissionering moeten servers worden uitgeschakeld of hergebruikt volgens de IT-beleidsregels van de organisatie.

Monitoring

Gebruik PowerShell-script sharepoint-online-migration.ps1 (functie Invoke-Monitoring) – PowerShell script voor monitoring van migratie-status, validatie en voortgang.

Continue monitoring tijdens de migratie is essentieel om te waarborgen dat het proces volgens planning verloopt en dat problemen vroegtijdig worden geïdentificeerd en opgelost. Monitoring omvat het volgen van de voortgang van migraties, het controleren van migratiestatus, het identificeren van fouten en problemen, en het rapporteren van voortgang aan stakeholders. Deze monitoring moet worden uitgevoerd door het migratieteam met regelmatige rapportages aan het management en proceseigenaren over de status van de migratie.

Migratievoortgang moet worden gemonitord op verschillende niveaus: per batch, per site, en per documentbibliotheek. Voor elke migratie moeten metrics worden verzameld zoals het aantal documenten dat is gemigreerd, het aantal documenten dat nog moet worden gemigreerd, de snelheid van migratie, en het aantal fouten dat is opgetreden. Deze metrics kunnen worden verzameld via migratietools zoals SharePoint Migration Tool, die ingebouwde rapportage-functionaliteit biedt, of via aangepaste PowerShell-scripts die migratiestatus monitoren. Door voortgang regelmatig te monitoren kunnen problemen vroegtijdig worden geïdentificeerd en kan de migratieplanning worden aangepast indien nodig.

Fouten en problemen die optreden tijdens migraties moeten worden gedocumenteerd, geanalyseerd en opgelost. Fouten kunnen verschillende oorzaken hebben, zoals corrupte bestanden, ontbrekende permissies, netwerkproblemen of beperkingen in de doelomgeving. Elke fout moet worden gedocumenteerd met informatie over de oorzaak, de impact en de oplossing. Fouten moeten worden geclassificeerd op basis van ernst en impact, waarbij kritieke fouten die migratie blokkeren hoge prioriteit krijgen. Door fouten systematisch te documenteren en op te lossen, kunnen vergelijkbare problemen in toekomstige migraties worden voorkomen.

Validatiestatus moet worden gemonitord om ervoor te zorgen dat gemigreerde content correct is overgezet en dat alle validatiecriteria worden gehaald. Voor elke gemigreerde batch moet worden geverifieerd dat het aantal documenten overeenkomt met het aantal in de bronomgeving, dat metadata correct is overgezet, dat permissies correct zijn gemigreerd, en dat functionaliteit werkt zoals verwacht. Validatiestatus moet worden gedocumenteerd en gerapporteerd aan stakeholders. Wanneer validatie problemen identificeert, moeten deze worden opgelost voordat de migratie wordt geaccepteerd.

Gebruikersacceptatie moet worden gemonitord om ervoor te zorgen dat gebruikers tevreden zijn met gemigreerde content en dat zij toegang hebben tot de nieuwe omgeving. Acceptatie kan worden gemeten via surveys, feedbacksessies, of door het monitoren van gebruikersactiviteit in de nieuwe omgeving. Wanneer gebruikers problemen melden of ontevreden zijn, moeten deze problemen worden geïdentificeerd en opgelost. Door gebruikersacceptatie te monitoren kunnen problemen vroegtijdig worden geïdentificeerd en kan de gebruikerservaring worden verbeterd.

Remediatie

Gebruik PowerShell-script sharepoint-online-migration.ps1 (functie Invoke-Remediation) – PowerShell script voor remediatie van migratieproblemen en herstel van gemigreerde content.

Wanneer migratieproblemen optreden, moet een gestructureerd remediatieproces worden gevolgd om de situatie te analyseren en passende corrigerende maatregelen te nemen. Dit proces moet worden uitgevoerd door het migratieteam in samenwerking met proceseigenaren en technische specialisten om ervoor te zorgen dat alle aspecten van de situatie worden geëvalueerd en dat passende maatregelen worden genomen om problemen op te lossen.

Het identificeren van migratieproblemen begint met het analyseren van foutmeldingen, validatieresultaten en gebruikersfeedback. Foutmeldingen moeten worden geclassificeerd op basis van ernst en impact, waarbij kritieke fouten die migratie blokkeren hoge prioriteit krijgen. Validatieresultaten moeten worden geanalyseerd om te identificeren welke content niet correct is gemigreerd of welke functionaliteit niet werkt zoals verwacht. Gebruikersfeedback moet worden verzameld en geanalyseerd om te identificeren welke problemen gebruikers ervaren en welke content ontbreekt of niet toegankelijk is.

Voor ontbrekende of corrupte documenten moeten herstelpogingen worden uitgevoerd. Dit kan betekenen dat documenten opnieuw worden gemigreerd vanuit de bronomgeving, dat corrupte bestanden worden gerepareerd voordat migratie plaatsvindt, of dat alternatieve bronnen worden gebruikt wanneer documenten niet beschikbaar zijn in de bronomgeving. Herstelpogingen moeten worden gedocumenteerd en gevalideerd om ervoor te zorgen dat problemen daadwerkelijk zijn opgelost.

Voor ontbrekende of incorrecte metadata moeten corrigerende maatregelen worden genomen. Dit kan betekenen dat metadata handmatig wordt toegevoegd of gecorrigeerd, dat metadata automatisch wordt gegenereerd op basis van bestandsnamen of andere bronnen, of dat metadata wordt geïmporteerd vanuit andere systemen. Corrigerende maatregelen moeten worden gedocumenteerd en gevalideerd om ervoor te zorgen dat metadata correct is.

Voor ontbrekende of incorrecte permissies moeten corrigerende maatregelen worden genomen. Dit kan betekenen dat permissies handmatig worden toegevoegd of gecorrigeerd, dat permissies worden geïmporteerd vanuit de bronomgeving, of dat permissies opnieuw worden geconfigureerd volgens het beveiligingsbeleid van de organisatie. Corrigerende maatregelen moeten worden gedocumenteerd en gevalideerd om ervoor te zorgen dat permissies correct zijn en dat beveiliging wordt gewaarborgd.

Wanneer migratieproblemen niet kunnen worden opgelost door remediatie, moeten alternatieve oplossingen worden overwogen. Dit kan betekenen dat bepaalde content handmatig wordt overgezet, dat content in een andere structuur wordt georganiseerd, of dat bepaalde functionaliteit wordt uitgefaseerd of vervangen door alternatieve oplossingen. Alternatieve oplossingen moeten worden geëvalueerd op basis van impact, kosten en risico's, en moeten worden goedgekeurd door proceseigenaren en het management voordat zij worden geïmplementeerd.

Compliance en Auditing

Migratie naar SharePoint Online is essentieel voor het voldoen aan compliance-vereisten die van toepassing zijn op Nederlandse organisaties, met name in de publieke sector en gereguleerde industrieën. Zonder adequate migratie kunnen organisaties niet voldoen aan verplichtingen voor documentbeheer, retentiebeleid en informatiebeheer. Deze sectie beschrijft de specifieke compliance-vereisten per framework en legt uit hoe migratie bijdraagt aan het voldoen aan deze verplichtingen.

De Baseline Informatiebeveiliging Overheid (BIO) bevat in Thema 18.01 specifieke vereisten voor records management en documentclassificatie. Nederlandse overheidsorganisaties die onder de BIO vallen moeten uitgebreide migratieprocessen implementeren om ervoor te zorgen dat documenten correct worden overgezet, dat bewaartermijnen behouden blijven, en dat documenten worden geclassificeerd volgens gevoeligheidsniveaus. Tijdens migratie moeten organisaties kunnen aantonen dat alle documenten zijn gemigreerd, dat metadata behouden is gebleven, en dat compliance-instellingen correct zijn geconfigureerd. Tijdens BIO-audits controleren auditors of migratie correct is uitgevoerd en of documenten daadwerkelijk worden beheerd volgens het beleid. Het niet voldoen aan BIO-vereisten tijdens migratie kan leiden tot negatieve audit-rapportages en kan gevolgen hebben voor de financiering en het vertrouwen van burgers in de overheidsorganisatie.

ISO 27001:2022 controle A.12.3.1 vereist information classification en labeling procedures die specificeren hoe informatie moet worden geclassificeerd en gelabeld. Deze controle vereist dat organisaties tijdens migratie ervoor zorgen dat classificaties en labels behouden blijven en dat documenten correct worden geclassificeerd in de nieuwe omgeving. Tijdens ISO 27001-certificering audits moeten organisaties kunnen aantonen dat migratie is uitgevoerd volgens het classificatiebeleid en dat documenten correct zijn gelabeld. Het niet behouden van classificaties tijdens migratie kan leiden tot niet-naleving van ISO 27001, wat kan resulteren in het verlies van certificering en reputatieschade.

De Algemene Verordening Gegevensbescherming (AVG), ook wel bekend als GDPR, bevat in Artikel 5 specifieke vereisten voor data minimization en purpose limitation. Deze vereisten vereisen dat organisaties tijdens migratie kunnen aantonen welke persoonsgegevens worden gemigreerd, voor welk doel deze gegevens worden verwerkt, en hoe lang deze gegevens worden bewaard. Migratieprocessen moeten ervoor zorgen dat persoonsgegevens correct worden overgezet, dat bewaartermijnen behouden blijven, en dat toegangscontroles correct zijn geconfigureerd. Tijdens AVG-audits door de Autoriteit Persoonsgegevens controleren auditors of migratie correct is uitgevoerd en of persoonsgegevens daadwerkelijk worden beheerd volgens AVG-vereisten. Het niet voldoen aan AVG-vereisten tijdens migratie kan worden beschouwd als een schending van Artikel 5, wat kan leiden tot boetes tot €20 miljoen of 4% van de wereldwijde jaaromzet, afhankelijk van welke hoger is.

De Archiefwet vereist dat Nederlandse overheidsorganisaties documenten archiveren volgens specifieke bewaartermijnen en dat documenten worden geclassificeerd volgens hun archiefwaarde. Migratieprocessen moeten ervoor zorgen dat bewaartermijnen behouden blijven, dat archiefclassificaties correct zijn overgezet, en dat documenten kunnen worden gearchiveerd volgens de Archiefwet. Zonder adequate migratie kunnen organisaties niet voldoen aan Archiefwet-vereisten omdat het onmogelijk is om duizenden documenten handmatig te classificeren en te archiveren. Tijdens Archiefwet-audits controleren auditors of migratie correct is uitgevoerd en of documenten daadwerkelijk worden beheerd volgens de Archiefwet.

Compliance & Frameworks

Automation

Gebruik het onderstaande PowerShell script om deze security control te monitoren en te implementeren. Het script bevat functies voor zowel monitoring (-Monitoring) als remediation (-Remediation).

PowerShell
<# .SYNOPSIS SharePoint Online Migratie: Planning en Uitvoering .DESCRIPTION Valideert migratieplanning, monitort migratievoortgang en ondersteunt remediatie van migratieproblemen. Essentieel voor gecontroleerde migraties naar SharePoint Online met behoud van metadata, permissies en compliance. .NOTES Filename: sharepoint-online-migration.ps1 Author: Nederlandse Baseline voor Veilige Cloud Category: sharepoint .EXAMPLE .\sharepoint-online-migration.ps1 -Monitoring Controleert migratie-status en validatie .EXAMPLE .\sharepoint-online-migration.ps1 -Remediation Voert remediatie uit van migratieproblemen #> #Requires -Version 5.1 #Requires -Modules PnP.PowerShell [CmdletBinding()] param( [Parameter(Mandatory = $false)] [switch]$Monitoring, [Parameter(Mandatory = $false)] [switch]$Remediation, [Parameter(Mandatory = $false)] [switch]$Revert, [Parameter(Mandatory = $false)] [switch]$WhatIf ) $ErrorActionPreference = 'Stop' Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "SharePoint Online Migratie" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================`n" -ForegroundColor Cyan function Invoke-Monitoring { <# .SYNOPSIS Controleert migratie-status en validatie #> try { Write-Host "Monitoring: Migratie-status controleren..." -ForegroundColor Yellow $siteUrl = Read-Host "Voer SharePoint Online site URL in (bijv. https://contoso.sharepoint.com/sites/sitename)" if (-not $siteUrl) { Write-Host " Site URL is vereist" -ForegroundColor Red exit 1 } Write-Host "`n Verbinden met SharePoint Online..." -ForegroundColor Gray Connect-PnPOnline -Url $siteUrl -Interactive -ErrorAction Stop Write-Host " Verbonden met: $siteUrl" -ForegroundColor Green $result = @{ isCompliant = $false totalSites = 0 totalDocuments = 0 sitesWithMetadata = 0 sitesWithPermissions = 0 validationErrors = @() } # Check site structure Write-Host "`n Controleren site-structuur..." -ForegroundColor Cyan $sites = Get-PnPTenantSite -ErrorAction SilentlyContinue | Where-Object { $_.Url -like "*$siteUrl*" } $result.totalSites = $sites.Count if ($sites.Count -eq 0) { Write-Host " Geen sites gevonden in tenant" -ForegroundColor Yellow } else { Write-Host " Totaal sites: $($sites.Count)" -ForegroundColor Green foreach ($site in $sites) { Write-Host " Site: $($site.Url)" -ForegroundColor Gray # Check if site has content try { Connect-PnPOnline -Url $site.Url -Interactive -ErrorAction SilentlyContinue $lists = Get-PnPList -ErrorAction SilentlyContinue $docLibs = $lists | Where-Object { $_.BaseTemplate -eq 101 } $docCount = 0 foreach ($lib in $docLibs) { $items = Get-PnPListItem -List $lib.Id -ErrorAction SilentlyContinue -PageSize 100 $docCount += $items.Count } $result.totalDocuments += $docCount if ($docCount -gt 0) { Write-Host " Documenten: $docCount" -ForegroundColor Green } } catch { Write-Host " Waarschuwing: Kan site-inhoud niet ophalen" -ForegroundColor Yellow } } } # Check metadata architecture Write-Host "`n Controleren metadata-architectuur..." -ForegroundColor Cyan try { $contentTypes = Get-PnPContentType -ErrorAction SilentlyContinue if ($contentTypes.Count -gt 0) { $result.sitesWithMetadata = 1 Write-Host " Content types gevonden: $($contentTypes.Count)" -ForegroundColor Green } else { Write-Host " Geen content types gevonden" -ForegroundColor Yellow } } catch { Write-Host " Waarschuwing: Kan metadata-architectuur niet controleren" -ForegroundColor Yellow } # Check permissions Write-Host "`n Controleren permissies..." -ForegroundColor Cyan try { $web = Get-PnPWeb -ErrorAction SilentlyContinue $roleAssignments = Get-PnPRoleAssignment -ErrorAction SilentlyContinue if ($roleAssignments.Count -gt 0) { $result.sitesWithPermissions = 1 Write-Host " Role assignments gevonden: $($roleAssignments.Count)" -ForegroundColor Green } else { Write-Host " Geen role assignments gevonden" -ForegroundColor Yellow } } catch { Write-Host " Waarschuwing: Kan permissies niet controleren" -ForegroundColor Yellow } # Determine compliance if ($result.totalSites -gt 0 -and $result.totalDocuments -gt 0) { $result.isCompliant = $true } Write-Host "`n Samenvatting:" -ForegroundColor Cyan Write-Host " Sites: $($result.totalSites)" -ForegroundColor $(if ($result.totalSites -gt 0) { "Green" } else { "Yellow" }) Write-Host " Documenten: $($result.totalDocuments)" -ForegroundColor $(if ($result.totalDocuments -gt 0) { "Green" } else { "Yellow" }) Write-Host " Metadata-architectuur: $(if ($result.sitesWithMetadata -gt 0) { 'Aanwezig' } else { 'Ontbreekt' })" -ForegroundColor $(if ($result.sitesWithMetadata -gt 0) { "Green" } else { "Yellow" }) Write-Host " Permissies: $(if ($result.sitesWithPermissions -gt 0) { 'Aanwezig' } else { 'Ontbreekt' })" -ForegroundColor $(if ($result.sitesWithPermissions -gt 0) { "Green" } else { "Yellow" }) if ($result.isCompliant) { Write-Host "`n[OK] COMPLIANT - Migratie-omgeving is geconfigureerd" -ForegroundColor Green exit 0 } else { Write-Host "`n[WAARSCHUWING] NON-COMPLIANT - Migratie-omgeving vereist configuratie" -ForegroundColor Yellow Write-Host " Overweeg het uitvoeren van voorbereidende configuraties:" -ForegroundColor Cyan Write-Host " - Configureer metadata-architectuur" -ForegroundColor Gray Write-Host " - Controleer permissies" -ForegroundColor Gray Write-Host " - Valideer site-structuur" -ForegroundColor Gray exit 1 } } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } finally { if (Get-PnPConnection -ErrorAction SilentlyContinue) { Disconnect-PnPOnline -ErrorAction SilentlyContinue } } } function Invoke-Remediation { <# .SYNOPSIS Ondersteunt remediatie van migratieproblemen #> try { Write-Host "Remediatie: Migratieproblemen oplossen..." -ForegroundColor Yellow Write-Host "`n Remediatie voor migratieproblemen vereist specifieke acties afhankelijk van het probleem." -ForegroundColor Yellow Write-Host " Dit script biedt ondersteuning voor de volgende scenario's:`n" -ForegroundColor Cyan Write-Host " 1. Ontbrekende metadata:" -ForegroundColor Cyan Write-Host " - Gebruik PnP.PowerShell cmdlets om metadata toe te voegen" -ForegroundColor Gray Write-Host " - Voorbeeld: Set-PnPListItem -List 'Documenten' -Identity <ID> -Values @{MetadataField='Value'}" -ForegroundColor Gray Write-Host "`n 2. Ontbrekende permissies:" -ForegroundColor Cyan Write-Host " - Gebruik Grant-PnPSitePermissions om permissies toe te wijzen" -ForegroundColor Gray Write-Host " - Voorbeeld: Grant-PnPSitePermissions -Identity 'site' -Users 'user@domain.com' -Roles 'Contribute'" -ForegroundColor Gray Write-Host "`n 3. Ontbrekende documenten:" -ForegroundColor Cyan Write-Host " - Herhaal migratie voor specifieke documentbibliotheken" -ForegroundColor Gray Write-Host " - Gebruik SharePoint Migration Tool (SPMT) voor gerichte migraties" -ForegroundColor Gray Write-Host "`n 4. Corrupte bestanden:" -ForegroundColor Cyan Write-Host " - Verifieer bronbestanden in bronsysteem" -ForegroundColor Gray Write-Host " - Herhaal migratie voor specifieke bestanden" -ForegroundColor Gray Write-Host "`n Voor gedetailleerde remediatie-instructies, raadpleeg het migratieplan" -ForegroundColor Yellow Write-Host " en het artikel voor volledige documentatie.`n" -ForegroundColor Yellow exit 0 } catch { Write-Host "`n[FAIL] ERROR: $_" -ForegroundColor Red Write-Host "Error Details: $($_.Exception.Message)" -ForegroundColor Red exit 2 } } function Invoke-Revert { <# .SYNOPSIS Herstelt gemigreerde content (NIET AANBEVOLEN) #> try { Write-Host "Revert: Herstellen van migratie..." -ForegroundColor Yellow Write-Host "`n ⚠️ WAARSCHUWING: Revert functionaliteit is niet beschikbaar voor migraties." -ForegroundColor Red Write-Host " Eenmaal gemigreerde content kan niet automatisch worden teruggedraaid.`n" -ForegroundColor Red Write-Host " Als herstel nodig is:" -ForegroundColor Cyan Write-Host " 1. Documenteer welke content moet worden hersteld" -ForegroundColor Gray Write-Host " 2. Verifieer broncontent in bronsysteem" -ForegroundColor Gray Write-Host " 3. Herhaal migratie voor specifieke content indien nodig" -ForegroundColor Gray Write-Host " 4. Overweeg handmatige correctie indien migratie niet mogelijk is`n" -ForegroundColor Gray exit 0 } catch { Write-Host "ERROR: $_" -ForegroundColor Red exit 2 } } try { if ($Revert) { Invoke-Revert } elseif ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { Invoke-Remediation } else { Write-Host "Usage:" -ForegroundColor Yellow Write-Host " -Monitoring Controleer migratie-status en validatie" -ForegroundColor Gray Write-Host " -Remediation Ondersteuning voor remediatie van migratieproblemen" -ForegroundColor Gray Write-Host " -Revert Herstel informatie (NIET AANBEVOLEN)" -ForegroundColor Red Write-Host "`nVoor gedetailleerde migratie-instructies, raadpleeg het artikel." -ForegroundColor Cyan } } catch { throw } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
Medium: High - Zonder gestructureerde migratieaanpak kunnen documenten verloren gaan, kunnen compliance-vereisten worden geschonden, en kunnen organisaties niet voldoen aan Archiefwet-, AVG- en BIO-verplichtingen. Dit leidt tot: dataverlies, compliance-overtredingen, audit failures, en mogelijke boetes.

Management Samenvatting

Implementeer een gestructureerde migratiemethodiek met assessment, planning, pilot, gefaseerde migratie, validatie en decommissionering. Gebruik SharePoint Migration Tool of Azure Data Box voor migratie. Zorg voor behoud van metadata, permissies en versiegeschiedenis. Valideer en accepteer elke batch voordat de volgende begint. Voldoet aan BIO 18.01, ISO 27001 A.12.3.1, AVG Artikel 5, Archiefwet. Implementatie: 80 uur technisch + 120 uur organisatorisch (planning, training, validatie).