Foundation handleiding

Microsoft 365 tenant koppelen voor een diepe Foundation assessment.

Deze handleiding helpt je om de Microsoft 365 tenant goed voor te bereiden op een volledige Foundation scan. Het doel is niet alleen om een verbinding te maken, maar om de tenant zó in te richten dat Foundation echt diep kan kijken naar identity, beleidslagen, logging, Defender-signalen, mailsecurity en compliance-relevante gaps.

De scan gebruikt een appregistratie met certificaat, Microsoft Graph application permissions en voor de diepere maillaag ook Exchange RBAC for Applications. Daarmee ontstaat een assessment dat bruikbaar is voor governance, auditvoorbereiding, NIS2, CBW en de inhoudelijke prioritering van verbetermaatregelen. Hieronder staat de inrichting stap voor stap uitgewerkt.

Het certificaat en/of het wachtwoord worden nooit opgeslagen. Na afronding van de scan kunnen het certificaat en desgewenst ook de volledige appregistratie weer worden verwijderd. Wanneer binnen 14 dagen gebruik wordt gemaakt van de herscan, moeten de appregistratie en het certificaat nog wel actief blijven bestaan.
Stap 1

Maak een nieuwe appregistratie in Microsoft Entra

Maak eerst een aparte appregistratie aan die alleen bedoeld is voor Foundation.

  • Open het Microsoft Entra admin center.
  • Ga naar `App registrations` en kies `New registration`.
  • Gebruik een duidelijke naam, bijvoorbeeld `Amuneth Foundation Assessment`.
  • Kies voor `Accounts in this organizational directory only`.
  • Laat de redirect URI leeg; voor deze appregistratie is die niet nodig.
  • Sla de `Application (client) ID` en `Directory (tenant) ID` direct op, want die heb je later nodig in Foundation.
Maak een nieuwe appregistratie in Microsoft Entra
Stap 2

Voeg de Microsoft Graph application permissions toe

Geef daarna de appregistratie de rechten die Foundation nodig heeft om de tenant goed te beoordelen.

  • Open binnen de appregistratie `API permissions`.
  • Kies `Add a permission` > `Microsoft Graph` > `Application permissions`.
  • Voeg minimaal deze rechten toe:
  • `Directory.Read.All`
  • `AuditLog.Read.All`
  • `Policy.Read.All`
  • `Policy.Read.ConditionalAccess`
  • `Reports.Read.All`
  • `SecurityEvents.Read.All`
  • `UserAuthenticationMethod.Read.All`
  • `IdentityRiskyUser.Read.All`
  • `IdentityRiskEvent.Read.All`
  • `SecurityIncident.Read.All`
  • `SecurityAlert.Read.All`
  • Voeg voor Intune en BYOD daarnaast toe:
  • `Device.Read.All`
  • `DeviceManagementManagedDevices.Read.All`
  • `DeviceManagementConfiguration.Read.All`
  • `DeviceManagementApps.Read.All`
  • `DeviceManagementServiceConfig.Read.All`
  • Voeg voor applicaties en OAuth daarnaast toe:
  • `Application.Read.All`
  • `DelegatedPermissionGrant.Read.All`
  • `AppRoleAssignment.ReadWrite.All` alleen wanneer ook remediation gewenst is
  • Voeg voor domeinen en mail via Graph daarnaast toe:
  • `Domain.Read.All`
  • `Organization.Read.All`
  • `Mail.ReadBasic.All`
  • Klik daarna op `Grant admin consent` voor de tenant.
Voeg de Microsoft Graph application permissions toe
Stap 3

Maak via de prompt een certificaat en PFX met wachtwoord

Voor Foundation gebruiken we app-only toegang op basis van een certificaat. Maak het certificaat lokaal aan en exporteer zowel een `.pfx` voor Foundation als een publiek `.cer`-bestand voor de appregistratie.

  • Open `PowerShell` of `Windows Terminal` als beheerder.
  • Maak eerst een certificaat in de local machine store.
  • Exporteer daarna het certificaat als `.pfx` met wachtwoord voor gebruik in Foundation.
  • Exporteer daarnaast ook het publieke certificaat als `.cer` voor upload in de appregistratie.
  • Bewaar het PFX-bestand, het CER-bestand en het wachtwoord apart en veilig.
$cert = New-SelfSignedCertificate `
  -Subject "CN=Amuneth Foundation Assessment" `
  -CertStoreLocation "Cert:\LocalMachine\My" `
  -KeyExportPolicy Exportable `
  -KeySpec Signature `
  -KeyLength 2048 `
  -KeyAlgorithm RSA `
  -HashAlgorithm SHA256

$pwd = ConvertTo-SecureString "KiesHierEenSterkWachtwoord" -AsPlainText -Force

Export-PfxCertificate `
  -Cert $cert `
  -FilePath "C:\Temp\Amuneth-Foundation-Assessment.pfx" `
  -Password $pwd

Export-Certificate `
  -Cert $cert `
  -FilePath "C:\Temp\Amuneth-Foundation-Assessment.cer"
Maak via de prompt een certificaat en PFX met wachtwoord
Stap 4

Upload het certificaat in de appregistratie

Nu de export klaarstaat, moet het publieke `.cer`-certificaat aan de appregistratie gekoppeld worden.

  • Open de eerder gemaakte appregistratie.
  • Ga naar `Certificates & secrets`.
  • Kies `Upload certificate`.
  • Upload hier het publieke `.cer`-bestand, niet het `.pfx`-bestand.
  • Controleer of het certificaat actief zichtbaar is in de appregistratie.
Upload het certificaat in de appregistratie
Stap 5

Start daarna de Foundation assessment

Wanneer de appregistratie, rechten en certificaat goed staan, kun je de scan direct uitvoeren.

  • Open Foundation M365.
  • Vul `Tenant ID` en `Client ID` in.
  • Upload het `.pfx`-bestand.
  • Voer het gekozen PFX-wachtwoord in.
  • Start de scan.
  • Na afronding staat het rapport klaar in Foundation en ontvangt de gebruiker een e-mail.
Start daarna de Foundation assessment
Permissionmatrix

Volledige Graph rechten voor de diepe M365 scan

Minimaal vereist

  • Directory.Read.All
  • AuditLog.Read.All
  • Policy.Read.All
  • Policy.Read.ConditionalAccess
  • Reports.Read.All
  • SecurityEvents.Read.All
  • UserAuthenticationMethod.Read.All
  • IdentityRiskyUser.Read.All
  • IdentityRiskEvent.Read.All
  • SecurityIncident.Read.All
  • SecurityAlert.Read.All

Aanvullend voor Intune en BYOD

  • Device.Read.All
  • DeviceManagementManagedDevices.Read.All
  • DeviceManagementConfiguration.Read.All
  • DeviceManagementApps.Read.All
  • DeviceManagementServiceConfig.Read.All

Aanvullend voor applicaties en OAuth

  • Application.Read.All
  • DelegatedPermissionGrant.Read.All
  • AppRoleAssignment.ReadWrite.All alleen wanneer ook remediation gewenst is

Aanvullend voor domeinen en mail via Graph

  • Domain.Read.All
  • Organization.Read.All
  • Mail.ReadBasic.All
Graph endpoints

Wat Foundation technisch uitleest tijdens de premium scan

Identity

  • GET /users
  • GET /users?$select=id,displayName,userPrincipalName,accountEnabled,userType,signInActivity,assignedLicenses
  • GET /directoryRoles
  • GET /directoryRoles/{id}/members
  • GET /roleManagement/directory/roleAssignments
  • GET /identityProtection/riskyUsers
  • GET /identityProtection/riskDetections
  • GET /users/{id}/authentication/methods

Conditional Access

  • GET /identity/conditionalAccess/policies
  • GET /policies/authorizationPolicy
  • GET /policies/authenticationMethodsPolicy

Applications

  • GET /applications
  • GET /servicePrincipals
  • GET /oauth2PermissionGrants
  • GET /appRoleAssignments

Devices en Intune

  • GET /deviceManagement/managedDevices
  • GET /deviceManagement/deviceCompliancePolicies
  • GET /deviceManagement/deviceConfigurations
  • GET /deviceManagement/mobileApps
  • GET /deviceAppManagement/managedAppPolicies
  • GET /devices

Security en Audit

  • GET /security/alerts_v2
  • GET /security/incidents
  • GET /security/secureScores
  • GET /security/secureScoreControlProfiles
  • GET /auditLogs/signIns
  • GET /auditLogs/directoryAudits

Reports en domains

  • GET /reports/getOffice365ActiveUserDetail(period='D30')
  • GET /reports/getEmailActivityUserDetail(period='D30')
  • GET /reports/getMailboxUsageDetail(period='D30')
  • GET /reports/getSharePointSiteUsageDetail(period='D30')
  • GET /reports/getOneDriveUsageAccountDetail(period='D30')
  • GET /reports/getTeamsUserActivityUserDetail(period='D30')
  • GET /domains
Scanhoofdstukken

Welke hoofdstukken terugkomen in het premium rapport

  • Domein 1 - Identity & Users
  • Domein 2 - Privileged Access
  • Domein 3 - Conditional Access
  • Domein 4 - BYOD & Intune
  • Domein 5 - Mail Security
  • Domein 6 - Applications, OAuth & Secrets
  • Domein 7 - Risk, Logs & Monitoring
  • Domein 8 - Data, SharePoint, OneDrive & Teams
  • Domein 9 - Secure Score & Licenties
  • Domein 10 - Compliance / NIS2 / ISO mapping

Binnen deze hoofdstukken werkt Foundation per control met status, risico, aanbeveling, Graph-evidence en waar relevant de koppeling naar NIS2 en ISO 27001.

Wat je nodig hebt

Controlelijst voor live gebruik

  • Een Entra appregistratie met certificaat
  • Graph application permissions met admin consent
  • Graph-rechten voor risky users, risk detections, incidents en alerts
  • Tenant ID, client ID, PFX-bestand en PFX-wachtwoord klaar voor de intake in Foundation