SMART Migration meldt zich bij Microsoft 365 aan als app-registratie in Microsoft Entra ID, met een certificaat in plaats van een wachtwoord. U maakt het certificaat, de app-registratie en de bijbehorende machtigingen aan en voert vervolgens de ID's in de M365-verbinding in.
Het werk bestaat uit vier stappen:
- Een zelfondertekend certificaat aanmaken: hiermee bewijst de app zijn identiteit tegenover Microsoft 365.
- De app-registratie aanmaken: de identiteit waaronder SMART Migration draait.
- De machtigingen verlenen: wat de app-registratie mag lezen en schrijven.
- De gegevens invoeren in SMART Migration: de M365-verbinding.
Stap 1 — Een zelfondertekend certificaat aanmaken
Section titled “Stap 1 — Een zelfondertekend certificaat aanmaken”Het script maakt twee bestanden aan: een .pfx-bestand met de privésleutel, dat bij SMART Migration blijft en geheim wordt gehouden, en een .cer-bestand met de openbare sleutel, dat u naar Azure uploadt.
- Open PowerShell ISE of Visual Studio Code als Administrator.
- Plak het onderstaande script.
- Vervang
c:\dev\MyCert.pfxenc:\dev\MyCert.cerdoor de gewenste paden, enMyPassworddoor een eigen wachtwoord. - Voer het script uit.
# Create the certificate$mycert = New-SelfSignedCertificate -DnsName "MyDomain.com" -CertStoreLocation "cert:\LocalMachine\My" -NotAfter (Get-Date).AddYears(5) -KeySpec KeyExchange -KeyFriendlyName MyKeyName -FriendlyName MyFriendlyName# Export private key to .pfx (keep this secret)$mycert | Export-PfxCertificate -FilePath c:\dev\MyCert.pfx -Password $(ConvertTo-SecureString -String "MyPassword" -AsPlainText -Force)# Export public key to .cer (this gets uploaded to Azure)$mycert | Export-Certificate -FilePath c:\dev\MyCert.cerHet certificaat is vijf jaar geldig (-NotAfter).
De namen in het script zijn labels
MyDomain.com kan elke willekeurige aanduiding zijn; het hoeft geen echt domein te zijn. MyKeyName en MyFriendlyName geven het certificaat een naam in het Windows-certificaatarchief. U kunt ze wijzigen of laten zoals ze zijn.
Het certificaat op de computer installeren is optioneel en niet nodig voor de verbinding: Het certificaat op de computer installeren
Stap 2 — De app-registratie aanmaken
Section titled “Stap 2 — De app-registratie aanmaken”- Open in de Azure-portal Microsoft Entra ID (voorheen Azure Active Directory).
- Kopieer de Tenant ID van de overzichtspagina en bewaar deze: de verbinding heeft hem nodig.
- Klik op App registrations en daarna op New registration. De standaardinstellingen volstaan.
- Open in de nieuwe app-registratie Certificates & secrets, klik op Upload certificate, kies het
.cer-bestand en klik op Add. - Kopieer de Application (client) ID en bewaar deze eveneens.

Stap 3 — De machtigingen verlenen
Section titled “Stap 3 — De machtigingen verlenen”De machtigingen bepalen wat de app-registratie mag lezen en schrijven. Een beheerder verleent vervolgens toestemming voor de hele organisatie.
- Klik op API permissions en daarna op Add a permission.
- Voeg de SharePoint- en Microsoft Graph-machtigingen uit de onderstaande tabellen toe, elk als Application permission.
- Klik op Grant admin consent for (gevolgd door de naam van uw organisatie). Pas dan worden de machtigingen van kracht.

Microsoft Graph
Section titled “Microsoft Graph”| Machtiging | Type | Gebruikt voor | Waarom |
|---|---|---|---|
Files.ReadWrite.All | Application | OneDrive | Bestanden lezen en schrijven in alle sitecollecties |
Group.ReadWrite.All | Application | OneDrive en Teams | Alle groepen lezen en schrijven: Teams-provisioning |
Sites.ReadWrite.All | Application | Teams | Items lezen en schrijven in alle sitecollecties |
User.Read.All | Application | Beide | Volledige gebruikersprofielen lezen: discovery van gebruikers en OneDrive |
SharePoint
Section titled “SharePoint”| Machtiging | Type | Waarom |
|---|---|---|
Sites.FullControl.All | Application | Volledig beheer van alle sitecollecties: nodig voor de migratie |
TermStore.Read.All | Application | Beheerde metadata lezen: behoudt metadata tijdens de migratie |
TermStore.ReadWrite.All | Application | Beheerde metadata lezen en schrijven: wanneer metadata wordt gemigreerd of getransformeerd |
Minder machtigingen zonder Content Governance
Wanneer u Content Governance (de SMART Migration App voor MS Teams) niet gebruikt, kunnen de Microsoft Graph-machtigingen worden beperkt tot alleen Files.Read.All. Dat volstaat voor toegang tot bestanden, ook bestanden groter dan 2 GB. De SharePoint-machtigingen blijven hetzelfde.
Stap 4 — De gegevens invoeren in SMART Migration
Section titled “Stap 4 — De gegevens invoeren in SMART Migration”- Open uw M365-verbinding in SMART Migration.
- Voer de Application (client) ID en de Tenant ID uit stap 2 in.
- Voer het pad naar het
.pfx-bestand en het bijbehorende wachtwoord in.

Meer dan één tenant
Section titled “Meer dan één tenant”Een commerciële licentie wordt op één server geïnstalleerd, maar is niet gebonden aan een tenant of een klant: die ene installatie kan met zoveel Microsoft 365-tenants werken als u nodig hebt (Waar een licentie kan draaien). Een partnerlicentie werkt alleen met de eigen tenant en domeinen van de partner. Geef elke tenant een eigen app-registratie — stap 1 tot en met 3 in die tenant — en een eigen M365-verbinding in SMART Migration (stap 4).
- Met de Nextcloud-app leest een job uit elke tenant via de verbinding van die tenant; de bestemming is altijd Nextcloud.
- In de IDE, binnen één tenant, leest en schrijft een job via dezelfde verbinding.
- In de IDE, tussen twee tenants, leest een job via de verbinding van de brontenant en schrijft hij via die van de doeltenant.
Toegang beperken tot geselecteerde sites
Section titled “Toegang beperken tot geselecteerde sites”Standaard geven de bovenstaande machtigingen toegang tot alle SharePoint-sites. Om de app-registratie te beperken tot de sites die u eraan toewijst, bijvoorbeeld in een productieomgeving, gebruikt u Sites.Selected in plaats van Sites.FullControl.All en Sites.ReadWrite.All.
Meer lezen: Sites.Selected permissions: what it is and how to use it
Microsoft Graph-machtigingen per taak
Section titled “Microsoft Graph-machtigingen per taak”Voeg alleen toe wat u nodig hebt:
| Machtiging | Wanneer u deze nodig hebt |
|---|---|
Files.Read.All | Toegang tot bestanden groter dan 2 GB |
Sites.Read.All | Discovery van SharePoint-sites |
User.Read.All | Discovery van gebruikers en OneDrive-locaties |
Group.ReadWrite.All | Teams-provisioning voor Content Governance |
Sites.Selected | Toegang tot alleen geselecteerde sites |
Gebruikersgegevens uit Microsoft Entra ID lezen
Section titled “Gebruikersgegevens uit Microsoft Entra ID lezen”SMART Migration leest gebruikersgegevens uit Microsoft 365, zoals weergavenaam, afdeling en OneDrive-URL, via de virtuele lijst Tenant users. Daarvoor is een van deze Microsoft Graph-machtigingen nodig, afhankelijk van de velden die u gebruikt:
User.Read.All: het volledige gebruikersprofiel.User.ReadBasic.All: alleen basisvelden (naam, e-mail, foto).
De manier waarop u de lijst filtert, bepaalt de snelheid:
=enINfilteren op de server: snel, en de aangewezen keuze voor tenants met meer dan 3.000 gebruikers.BeginsWithenContainsfilteren in SMART Migration na het lezen: trager bij grote tenants.
App-only-toegang moet zijn toegestaan
Bij app-only-authenticatie moet SharePoint Online app-only-toegang tot Microsoft Graph toestaan. Dit stelt u in via het SharePoint admin center.
Toestemmingsfout: The user or administrator has not consented to use the application with ID …