Microsoft Defender For Cloud: Multi-Cloud CSPM Configuratie

💼 Management Samenvatting

Multi-cloud omgevingen vormen een complexe uitdaging voor beveiligingsteams omdat elke cloudprovider eigen beveiligingsmodellen, configuratie-interfaces en compliance-frameworks heeft. Microsoft Defender for Cloud biedt met multi-cloud CSPM een geïntegreerde oplossing die beveiligingsposture beoordeelt en beheert over Azure, Amazon Web Services (AWS) en Google Cloud Platform (GCP) heen vanuit één centrale console. Deze geünificeerde aanpak elimineert de noodzaak voor organisaties om meerdere beveiligingsplatformen te beheren en zorgt voor consistente beveiligingsstandaarden en compliance-rapportage ongeacht waar workloads draaien.

Aanbeveling
IMPLEMENTEER VOOR MULTI-CLOUD SECURITY POSTURE
Risico zonder
High
Risk Score
8/10
Implementatie
7u (tech: 4u)
Van toepassing op:
Azure
AWS
Google Cloud Platform
Multi-cloud omgevingen

Nederlandse overheidsorganisaties en bedrijven in kritieke sectoren gebruiken steeds vaker meerdere cloudproviders tegelijkertijd om optimaal gebruik te maken van de sterke punten van elk platform, om vendor lock-in te voorkomen, en om te voldoen aan specifieke vereisten zoals data residency of technische specialisaties. Deze multi-cloud strategie brengt echter aanzienlijke beveiligingsuitdagingen met zich mee omdat elke cloudprovider eigen beveiligingsservices, configuratie-interfaces en compliance-rapportage heeft. Zonder geïntegreerde posture management ontstaan gefragmenteerde beveiligingsinzichten waarbij beveiligingsteams moeten schakelen tussen verschillende consoles, verschillende terminologieën moeten begrijpen, en verschillende compliance-rapportages moeten samenvoegen om een compleet beeld te krijgen van de beveiligingspositie. Deze fragmentatie leidt tot blinde vlekken waarbij misconfiguraties in één cloudprovider onopgemerkt blijven omdat beveiligingsteams gefocust zijn op een andere provider, tot inconsistente beveiligingsstandaarden waarbij dezelfde beveiligingscontrole anders wordt geïmplementeerd in verschillende clouds, en tot inefficiënte compliance-rapportage waarbij auditors en bestuurders geen eenduidig overzicht krijgen van de totale beveiligingspositie. Multi-cloud CSPM lost deze problemen op door alle cloudomgevingen te verbinden met één centrale beveiligingsconsole die uniforme beveiligingsstandaarden toepast, geïntegreerde attack path analysis biedt over cloudgrenzen heen, en geconsolideerde compliance-rapportage genereert die voldoet aan BIO, AVG, NIS2 en andere relevante frameworks. Zonder multi-cloud CSPM blijven organisaties kwetsbaar voor beveiligingsincidenten die ontstaan door inconsistenties tussen cloudproviders en kunnen zij niet aantoonbaar voldoen aan compliance-vereisten die uniforme beveiligingsstandaarden vereisen.

PowerShell Modules Vereist
Primary API: Azure API
Connection: Connect-AzAccount
Required Modules: Az.Accounts, Az.Security

Implementatie

Microsoft Defender for Cloud multi-cloud CSPM breidt de posture management-functionaliteit uit naar AWS en GCP naast Azure, waardoor organisaties hun volledige multi-cloud landschap kunnen beheren vanuit één centrale console. De oplossing verbindt AWS-accounts via AWS CloudFormation templates of directe API-integratie, en GCP-projecten via Google Cloud Resource Manager API, waarna alle cloudresources worden geïndexeerd in de cloud security graph die relaties legt tussen resources, identiteiten, netwerken en data-opslag ongeacht de onderliggende cloudprovider. De posture-analyse evalueert alle resources tegen uniforme beveiligingsbenchmarks zoals CIS Benchmarks, die zijn aangepast voor elke cloudprovider maar consistent worden toegepast, waardoor organisaties kunnen verzekeren dat dezelfde beveiligingsstandaarden worden gehandhaafd in alle cloudomgevingen. Attack path analysis werkt over cloudgrenzen heen en simuleert hoe aanvallers kunnen bewegen tussen Azure, AWS en GCP resources, wat essentieel is omdat moderne aanvallen vaak meerdere cloudomgevingen betrekken. Governance dashboards tonen geconsolideerde compliance-scores voor alle cloudproviders, inclusief trendanalyse die laat zien hoe de beveiligingspositie evolueert over tijd, en geautomatiseerde aanbevelingen die prioriteren op basis van risico-impact ongeacht waar de resource zich bevindt. De kosten voor multi-cloud CSPM zijn afhankelijk van het aantal verbonden cloudaccounts en de omvang van de resources, maar bieden aanzienlijke kostenbesparingen vergeleken met het beheren van afzonderlijke CSPM-oplossingen voor elke cloudprovider.

Vereisten en Voorbereiding

Voor het succesvol implementeren van Microsoft Defender for Cloud multi-cloud CSPM moeten organisaties voldoen aan een uitgebreide reeks technische, licentie- en organisatorische vereisten die essentieel zijn voor een soepele integratie van meerdere cloudproviders en optimale werking van de geïntegreerde beveiligingsoplossing. Deze vereisten vormen de fundamentele basis waarop de multi-cloud posture management-oplossing wordt gebouwd en zijn cruciaal om ervoor te zorgen dat de implementatie succesvol verloopt zonder onverwachte belemmeringen, configuratiefouten of beveiligingslekken die kunnen leiden tot gedeeltelijke dekking, inconsistente beveiligingsstandaarden, of niet-naleving van compliance-vereisten.

De primaire licentievereiste betreft Microsoft Defender for Cloud met het CloudPosture-prijsplan dat moet zijn geactiveerd op ten minste één Azure-abonnement, omdat dit de centrale hub vormt waarmee AWS en GCP omgevingen worden verbonden. Voor AWS-integratie moeten organisaties beschikken over AWS-accounts met IAM-rechten die voldoende zijn om CloudFormation stacks te deployen, IAM roles te creëren, en beveiligingsconfiguraties te lezen via AWS Security Hub en AWS Config APIs. Deze rechten zijn typisch beschikbaar via de SecurityAudit managed policy of een aangepaste IAM policy die specifiek is ontworpen voor Defender for Cloud integratie. Voor GCP-integratie moeten organisaties beschikken over GCP-projecten met Service Account rechten die voldoende zijn om Cloud Asset Inventory te lezen, Security Command Center APIs aan te roepen, en beveiligingsconfiguraties te evalueren. Het is belangrijk om te realiseren dat multi-cloud CSPM aanvullende kosten met zich meebrengt bovenop de standaard Defender CSPM-kosten, omdat de service resources moet monitoren en analyseren in meerdere cloudomgevingen, wat extra compute- en storage-capaciteit vereist.

De technische omgeving vereist PowerShell versie 5.1 of hoger voor Windows-systemen, of PowerShell Core versie 7.0 of hoger voor cross-platform ondersteuning, samen met de Azure PowerShell-modules Az.Accounts en Az.Security die zijn geïnstalleerd en up-to-date zijn. Voor AWS-integratie moeten organisaties beschikken over de AWS Tools for PowerShell of AWS CLI die zijn geconfigureerd met de juiste credentials en regio-instellingen, hoewel de meeste integratiestappen kunnen worden uitgevoerd via de Azure Portal of AWS CloudFormation templates. Voor GCP-integratie moeten organisaties beschikken over de Google Cloud SDK (gcloud CLI) die is geconfigureerd met de juiste project en service account credentials. Netwerkconnectiviteit is essentieel omdat Defender for Cloud moet kunnen communiceren met AWS en GCP APIs over het internet, wat betekent dat organisaties met strikte firewallregels mogelijk whitelisting moeten configureren voor de relevante API-endpoints van elke cloudprovider.

Microsoft Defender for Cloud moet reeds zijn ingeschakeld op ten minste één Azure-abonnement met het CloudPosture-prijsplan geactiveerd voordat multi-cloud integratie kan worden geconfigureerd, omdat de Azure-omgeving fungeert als de centrale hub waarmee externe cloudomgevingen worden verbonden. De Azure-omgeving moet beschikken over voldoende resources en configuraties om als referentie te dienen voor beveiligingsstandaarden, en moet voldoen aan de basisvereisten voor Defender CSPM zoals beschreven in de bijbehorende best practice. Het is raadzaam om eerst de Azure-omgeving volledig te configureren en te valideren voordat AWS of GCP omgevingen worden toegevoegd, zodat eventuele configuratiefouten of beveiligingsproblemen in de Azure-omgeving kunnen worden opgelost voordat multi-cloud integratie wordt geïmplementeerd.

Voor effectieve multi-cloud posture-analyse is het belangrijk dat elke verbonden cloudomgeving minstens tien representatieve resources bevat, zoals compute-instances, databases, opslagservices en netwerkconfiguraties, zodat de cloud security graph voldoende context heeft om relaties te leggen en accurate aanbevelingen te genereren. Organisaties moeten documenteren welke cloudaccounts en projecten binnen scope vallen voor multi-cloud CSPM monitoring, welke resources bewust buiten scope worden gehouden en waarom, en hoe beveiligingsstandaarden worden toegepast in elke cloudomgeving. Deze documentatie is essentieel voor compliance-audits en helpt beveiligingsteams te begrijpen welke resources worden bewaakt en welke niet, wat belangrijk is voor accurate risico-assessments en beveiligingsrapportage.

Organisatorische voorbereiding is cruciaal omdat multi-cloud CSPM verschillende teams en verantwoordelijkheden betrekt, waaronder Azure-beheerders, AWS-beheerders, GCP-beheerders, security engineers, compliance officers en bestuurders. Organisaties moeten duidelijke rollen en verantwoordelijkheden definiëren voor wie verantwoordelijk is voor het configureren en onderhouden van de multi-cloud integratie, wie toegang heeft tot de geconsolideerde beveiligingsconsole, en wie verantwoordelijk is voor het reageren op beveiligingsaanbevelingen in elke cloudomgeving. Training en documentatie zijn essentieel omdat beveiligingsteams moeten begrijpen hoe de geïntegreerde console werkt, hoe aanbevelingen worden geprioriteerd over cloudgrenzen heen, en hoe compliance-rapportage wordt geconsolideerd uit meerdere cloudproviders. Het is belangrijk om te realiseren dat multi-cloud CSPM een culturele verandering vereist waarbij teams moeten leren werken met een geünificeerde beveiligingsconsole in plaats van provider-specifieke tools, wat tijd en training vereist om effectief te zijn.

Financiële overwegingen zijn belangrijk omdat multi-cloud CSPM aanvullende kosten met zich meebrengt bovenop de standaard Defender CSPM-kosten voor Azure. De exacte kosten zijn afhankelijk van het aantal verbonden cloudaccounts, het aantal resources dat wordt bewaakt, en het gebruik van specifieke functies zoals cross-cloud attack path analysis. Organisaties moeten een kostenanalyse uitvoeren voordat multi-cloud integratie wordt geïmplementeerd om te begrijpen wat de maandelijkse kosten zullen zijn op basis van hun specifieke multi-cloud landschap, en moeten budgetgoedkeuring verkrijgen van de juiste stakeholders. Het is belangrijk om te realiseren dat hoewel multi-cloud CSPM kosten met zich meebrengt, de waarde die wordt geboden in termen van geconsolideerde beveiligingsinzichten, consistente beveiligingsstandaarden, en geïntegreerde compliance-rapportage deze investering rechtvaardigt, vooral voor organisaties die al meerdere cloudproviders gebruiken en die worstelen met gefragmenteerde beveiligingsinzichten en inconsistente compliance-rapportage.

Implementatie en Configuratie

De implementatie van Microsoft Defender for Cloud multi-cloud CSPM begint met het configureren van de Azure-omgeving als centrale hub, gevolgd door het toevoegen van AWS-accounts en GCP-projecten via geautomatiseerde integratiestappen die beveiligingsconnectiviteit tot stand brengen tussen de verschillende cloudproviders. Het proces vereist zorgvuldige planning en coördinatie tussen verschillende teams omdat configuratiewijzigingen nodig zijn in meerdere cloudomgevingen, en omdat beveiligingsrechten en service accounts moeten worden geconfigureerd in elke provider om Defender for Cloud toegang te verlenen tot beveiligingsconfiguraties en compliance-data.

Voor AWS-integratie navigeert een beheerder naar Microsoft Defender for Cloud in de Azure Portal, selecteert de Environment settings sectie, en kiest voor het toevoegen van een AWS-account. Defender for Cloud genereert automatisch een AWS CloudFormation template die moet worden gedeplyoed in het AWS-account, waarbij de template een IAM role creëert die Defender for Cloud toestaat om AWS Security Hub, AWS Config, en andere beveiligingsservices te lezen. De beheerder moet de CloudFormation stack deployen in het AWS-account met de juiste rechten, waarna Defender for Cloud automatisch de AWS-omgeving begint te monitoren en resources toevoegt aan de cloud security graph. Het proces kan worden geautomatiseerd via PowerShell-scripts die de Azure Resource Manager API gebruiken om de AWS-connector te creëren, en AWS CLI of CloudFormation APIs gebruiken om de benodigde AWS-resources te deployen. Na configuratie duurt het enkele uren voordat alle AWS-resources zijn geïndexeerd en de eerste posture-analyse is voltooid, waarbij de tijd afhankelijk is van het aantal resources in het AWS-account.

Voor GCP-integratie navigeert een beheerder naar de Environment settings in Defender for Cloud, selecteert het toevoegen van een GCP-project, en volgt de instructies om een service account te creëren in het GCP-project met de benodigde rechten voor Cloud Asset Inventory en Security Command Center. Defender for Cloud genereert automatisch de benodigde IAM-bindings en service account credentials die moeten worden geconfigureerd in het GCP-project, waarbij de beheerder de credentials moet kopiëren en invoeren in de Azure Portal om de verbinding tot stand te brengen. Het proces kan worden geautomatiseerd via PowerShell-scripts die de Azure Resource Manager API gebruiken om de GCP-connector te creëren, en gcloud CLI gebruiken om de benodigde GCP-resources te configureren. Na configuratie begint Defender for Cloud automatisch met het monitoren van GCP-resources en het toevoegen ervan aan de cloud security graph, waarbij het enkele uren duurt voordat alle resources zijn geïndexeerd en de eerste posture-analyse is voltooid.

Na het toevoegen van AWS-accounts en GCP-projecten moeten organisaties beveiligingsstandaarden configureren die consistent worden toegepast over alle cloudproviders heen. Defender for Cloud biedt ingebouwde security policies die zijn gebaseerd op CIS Benchmarks, die zijn aangepast voor elke cloudprovider maar consistent worden geëvalueerd, waardoor organisaties kunnen verzekeren dat dezelfde beveiligingsstandaarden worden gehandhaafd in Azure, AWS en GCP. Organisaties kunnen ook aangepaste security policies creëren die specifieke beveiligingsvereisten codificeren, zoals data encryption-standaarden, netwerksegmentatie-regels, of identity access management-vereisten, waarbij deze policies automatisch worden toegepast op alle verbonden cloudomgevingen. Het is belangrijk om regelmatig te reviewen welke security policies actief zijn en of zij nog steeds voldoen aan de beveiligingsvereisten van de organisatie, omdat beveiligingsstandaarden evolueren en nieuwe bedreigingen ontstaan die aanvullende controles vereisen.

Attack path analysis over cloudgrenzen heen vereist aanvullende configuratie omdat Defender for Cloud moet begrijpen hoe resources in verschillende cloudproviders met elkaar verbonden zijn, bijvoorbeeld wanneer een Azure-application een AWS S3 bucket gebruikt voor data-opslag, of wanneer een GCP-workload communiceert met een Azure-database. Organisaties moeten netwerkconnectiviteit documenteren tussen cloudproviders, bijvoorbeeld VPN-verbindingen, ExpressRoute-verbindingen, of directe internetconnectiviteit, zodat Defender for Cloud accurate attack paths kan simuleren die meerdere cloudomgevingen betrekken. Deze documentatie kan worden toegevoegd aan Defender for Cloud via de attack path analysis configuratie, waarbij organisaties kunnen specificeren welke resources in verschillende cloudproviders met elkaar verbonden zijn en hoe deze verbindingen worden gebruikt, wat essentieel is voor accurate risico-assessments en beveiligingsaanbevelingen.

Na configuratie moeten organisaties regelmatig verifiëren dat de multi-cloud integratie correct functioneert door de status van verbonden cloudaccounts te controleren, door te verifiëren dat resources worden gedetecteerd en geïndexeerd, en door te controleren of beveiligingsaanbevelingen worden gegenereerd voor alle cloudomgevingen. Defender for Cloud biedt statusindicatoren in de Environment settings die laten zien of verbindingen actief zijn, of er fouten zijn opgetreden tijdens het ophalen van beveiligingsdata, en of resources correct worden bewaakt. Organisaties moeten processen implementeren voor het regelmatig monitoren van deze statusindicatoren, waarbij waarschuwingen worden gegenereerd wanneer verbindingen falen of wanneer resources niet worden gedetecteerd, zodat problemen snel kunnen worden opgelost voordat zij leiden tot gaten in de beveiligingsdekking of niet-naleving van compliance-vereisten.

Monitoring en Verificatie

Gebruik PowerShell-script multi-cloud-cspm.ps1 (functie Invoke-Monitoring) – Controleert de status van multi-cloud CSPM integraties voor AWS en GCP via Azure Resource Manager API.

Effectieve monitoring van Microsoft Defender for Cloud multi-cloud CSPM is essentieel om te verzekeren dat de geïntegreerde beveiligingsoplossing continu actief blijft en adequate beveiligingsbescherming biedt voor alle verbonden cloudomgevingen, ongeacht of resources zich bevinden in Azure, AWS of GCP. Regelmatige verificatie voorkomt dat verbindingen falen, dat resources niet worden gedetecteerd, of dat beveiligingsaanbevelingen niet worden gegenereerd, wat kan gebeuren door configuratiewijzigingen in cloudaccounts, wijzigingen in IAM-rechten, netwerkproblemen, of menselijke fouten tijdens beheeractiviteiten. Zonder actieve monitoring bestaat het risico dat multi-cloud CSPM gedeeltelijk of volledig stopt met functioneren zonder dat beveiligingsteams hiervan op de hoogte worden gesteld, waardoor cloudomgevingen kwetsbaar worden voor aanvallen, misconfiguraties en beveiligingsincidenten die niet worden gedetecteerd of gereageerd.

De monitoring kan worden uitgevoerd via verschillende methoden, waaronder de Azure Portal waar statusindicatoren worden getoond voor elke verbonden cloudaccount, Azure PowerShell met de Get-AzSecurityConnector-cmdlet uit de Az.Security-module, of de Azure Resource Manager API voor geautomatiseerde monitoring en integratie met bestaande monitoring-systemen. De meest directe methode is het gebruik van de Azure Portal waar beheerders naar Microsoft Defender for Cloud kunnen navigeren, de Environment settings sectie kunnen selecteren, en de status kunnen controleren van alle verbonden AWS-accounts en GCP-projecten. Statusindicatoren tonen of verbindingen actief zijn, of er fouten zijn opgetreden tijdens het ophalen van beveiligingsdata, hoeveel resources worden bewaakt in elke cloudomgeving, en wanneer de laatste succesvolle synchronisatie heeft plaatsgevonden. Beheerders moeten regelmatig deze statusindicatoren controleren, bij voorkeur dagelijks of ten minste wekelijks, om snel te kunnen reageren op eventuele problemen met de multi-cloud integratie.

Naast het controleren van verbindingsstatus is het belangrijk om te verifiëren dat resources daadwerkelijk worden gedetecteerd en geïndexeerd in de cloud security graph voor alle verbonden cloudomgevingen. Dit kan worden geverifieerd via de Azure Portal door naar de Cloud Security Posture Management-sectie te navigeren, de posture-scores te controleren voor elke cloudprovider, en te verifiëren dat aanbevelingen worden gegenereerd voor resources in alle cloudomgevingen. Beheerders moeten ook controleren of attack path analysis correct werkt over cloudgrenzen heen door specifieke attack paths te bekijken die resources in meerdere cloudproviders betrekken, en door te verifiëren dat geconsolideerde compliance-rapportages correct worden gegenereerd voor alle verbonden cloudomgevingen. Automatische monitoring kan worden geïmplementeerd met behulp van Azure Monitor alertregels die worden geactiveerd wanneer verbindingen falen, wanneer resources niet worden gedetecteerd, of wanneer er problemen worden gedetecteerd met de posture-analyse of cloud security graph. Deze alertregels kunnen worden geconfigureerd om beveiligingsteams te informeren via e-mail, SMS, push-notificaties, of integratie met incidentbeheersystemen zoals ServiceNow, Jira of Microsoft Teams, waardoor snelle respons wordt gegarandeerd wanneer problemen worden gedetecteerd.

Het monitoringproces dient regelmatig te worden uitgevoerd, bij voorkeur dagelijks of ten minste wekelijks, afhankelijk van het risicoprofiel van de organisatie, de kritikaliteit van de multi-cloud workloads, en de compliance-vereisten die van toepassing zijn. Voor organisaties met hoge beveiligingsvereisten, kritieke multi-cloud workloads, of strikte compliance-verplichtingen zoals NIS2, BIO of ISO 27001, is dagelijkse monitoring aanbevolen om snel te kunnen reageren op eventuele wijzigingen in de integratieconfiguratie en om te verzekeren dat de beveiligingsbescherming continu actief blijft voor alle cloudomgevingen. Geautomatiseerde monitoring via Azure Automation runbooks, Logic Apps workflows, of Azure Functions kan de belasting op beheerders aanzienlijk verminderen terwijl continue controle wordt gegarandeerd, en kan worden gecombineerd met rapportage naar beveiligingsdashboards, SIEM-systemen, of compliance-rapportagetools, zodat de status van multi-cloud CSPM zichtbaar is voor alle belanghebbenden, inclusief beveiligingsteams, compliance-officers, en bestuurders.

Compliance en Auditing

Microsoft Defender for Cloud multi-cloud CSPM vormt een essentieel onderdeel van de compliance-positie van organisaties die meerdere cloudproviders gebruiken, omdat het voldoet aan meerdere beveiligingsstandaarden en compliance-frameworks die vereist zijn voor Nederlandse overheidsorganisaties, bedrijven in kritieke sectoren, en organisaties die moeten voldoen aan internationale beveiligingsstandaarden. De implementatie van multi-cloud CSPM is niet alleen een best practice voor multi-cloud beveiliging, maar ook een expliciete vereiste volgens verschillende erkende beveiligingsstandaarden die worden gebruikt binnen de Nederlandse publieke sector en daarbuiten, en het niet implementeren van deze oplossing kan leiden tot niet-naleving van compliance-vereisten, audit-bevindingen, en potentiële boetes of handhavingsmaatregelen wanneer organisaties niet kunnen aantonen dat zij uniforme beveiligingsstandaarden handhaven over alle cloudomgevingen heen.

De Baseline Informatiebeveiliging Overheid (BIO) vereist in thema 11.01 en 12.06 dat organisaties beleidsmatige borging en kwetsbaarheidsbeheer implementeren voor alle kritieke systemen, ongeacht waar deze systemen zich bevinden. Voor multi-cloud omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij uniforme beveiligingsstandaarden toepassen in alle cloudomgevingen, dat zij continue beveiligingsbeoordeling uitvoeren voor alle cloudresources, en dat zij geconsolideerde compliance-rapportage kunnen genereren die laat zien hoe beveiligingsvereisten worden ingevuld over cloudgrenzen heen. Multi-cloud CSPM helpt organisaties te voldoen aan deze BIO-vereisten door geïntegreerde posture-analyse te bieden die alle cloudomgevingen omvat, door uniforme beveiligingsstandaarden toe te passen via geconsolideerde security policies, en door compliance-rapportage te genereren die laat zien hoe BIO-vereisten worden ingevuld in Azure, AWS en GCP. Organisaties moeten documenteren hoe multi-cloud CSPM wordt gebruikt om BIO-vereisten in te vullen, welke beveiligingsstandaarden worden toegepast in elke cloudomgeving, en hoe compliance-rapportage wordt geconsolideerd uit meerdere cloudproviders, zodat auditors en toezichthouders kunnen verifiëren dat adequate beveiligingsmaatregelen zijn geïmplementeerd over alle cloudomgevingen heen.

De ISO 27001-standaard voor informatiebeveiligingsmanagementsystemen vereist in controles A.18.2.2 en A.18.2.3 dat organisaties structurele evaluatie van compliance en technische conformiteit uitvoeren voor alle informatiebeveiligingssystemen, inclusief systemen die worden beheerd door externe partijen of die zich bevinden in verschillende geografische locaties of cloudomgevingen. Voor multi-cloud omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij uniforme beveiligingsstandaarden toepassen in alle cloudomgevingen, dat zij continue compliance-evaluatie uitvoeren voor alle cloudresources, en dat zij geconsolideerde audit-evidence kunnen genereren die laat zien hoe ISO 27001-vereisten worden ingevuld over cloudgrenzen heen. Multi-cloud CSPM helpt organisaties te voldoen aan deze ISO 27001-vereisten door geïntegreerde compliance-rapportage te bieden die alle cloudomgevingen omvat, door uniforme beveiligingsstandaarden toe te passen via geconsolideerde security policies, en door audit-evidence te genereren die laat zien hoe ISO 27001-vereisten worden ingevuld in Azure, AWS en GCP. Organisaties moeten de multi-cloud CSPM-bewijzen toevoegen aan het Statement of Applicability en ondertekenen wijzigingen via het bestaande ISMS-proces, waarbij zij documenteren hoe beveiligingsstandaarden worden toegepast in elke cloudomgeving en hoe compliance-rapportage wordt geconsolideerd uit meerdere cloudproviders.

De NIS2-richtlijn, die van toepassing is op organisaties in kritieke sectoren en digitale dienstverleners in de Europese Unie, vereist in artikel 21 dat organisaties passende en evenredige technische en organisatorische maatregelen nemen om de risico's voor de beveiliging van netwerk- en informatiesystemen te beheersen, inclusief het identificeren en beoordelen van risico's, het implementeren van beveiligingsmaatregelen, en het monitoren en detecteren van beveiligingsincidenten over alle systemen heen, ongeacht waar deze systemen zich bevinden. Voor multi-cloud omgevingen betekent dit dat organisaties moeten kunnen aantonen dat zij uniforme beveiligingsstandaarden toepassen in alle cloudomgevingen, dat zij continue risicobeoordeling uitvoeren voor alle cloudresources, en dat zij geïntegreerde beveiligingsmonitoring implementeren die beveiligingsincidenten kan detecteren ongeacht in welke cloudomgeving deze optreden. Multi-cloud CSPM helpt organisaties te voldoen aan artikel 21 door uitgebreide multi-cloud beveiliging te bieden die misconfiguraties identificeert in alle cloudomgevingen, bedreigingen detecteert over cloudgrenzen heen, beveiligingsincidenten monitort ongeacht waar deze optreden, en automatische aanbevelingen biedt voor het verbeteren van de beveiligingsposture in alle cloudomgevingen. De geconsolideerde attack path analysis en posture-beoordeling vormen essentieel onderdeel van een robuuste cybersecurity-aanpak die vereist is onder NIS2, en Nederlandse organisaties die onder de NIS2-richtlijn vallen, dienen daarom multi-cloud CSPM te implementeren als onderdeel van hun verplichte cybersecurity-maatregelen om te voldoen aan de vereisten voor risicobeheer, incidentdetectie, en incidentrespons over alle cloudomgevingen heen.

Voor auditing en compliance-doeleinden is het belangrijk om regelmatig bewijs te verzamelen dat aantoont dat multi-cloud CSPM actief is en correct functioneert voor alle verbonden cloudomgevingen, inclusief de verbindingsstatus voor AWS-accounts en GCP-projecten, posture-scores voor elke cloudprovider, geconsolideerde aanbevelingen, cross-cloud attack path analyses, en eventuele configuratiewaarschuwingen of aanbevelingen. Dit bewijs kan worden verkregen via de Azure Portal, Azure PowerShell-cmdlets, de Azure Resource Manager API, of geautomatiseerde scripts die regelmatig worden uitgevoerd om compliance-rapportages te genereren. Auditlogboeken moeten worden bewaard voor de vereiste retentietijd, typisch zeven jaar voor Nederlandse overheidsorganisaties volgens de Archiefwet, en moeten regelmatig worden beoordeeld om te verzekeren dat de service actief blijft voor alle cloudomgevingen en dat alle beveiligingsgebeurtenissen correct worden gelogd en opgeslagen. Documentatie van de verbindingsstatus, posture-scores, geconsolideerde aanbevelingen en cross-cloud attack path analyses moeten worden onderhouden voor auditdoeleinden en kunnen worden gebruikt om te demonstreren aan auditors, toezichthouders, en bestuurders dat de organisatie voldoet aan de vereiste beveiligingsstandaarden en dat adequate maatregelen zijn genomen om alle cloudomgevingen te beveiligen met uniforme beveiligingsstandaarden.

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
<# ================================================================================ AZURE POWERSHELL SCRIPT - Nederlandse Baseline voor Veilige Cloud ================================================================================ .SYNOPSIS Microsoft Defender for Cloud: Multi-Cloud CSPM Configuratie .DESCRIPTION BIO Baseline - Thema 11.01, 12.06 ISO 27001 - A.18.2.2, A.18.2.3 NIS2 Richtlijn - Artikel 21 Controleert en configureert Microsoft Defender for Cloud multi-cloud CSPM integraties voor AWS en GCP omgevingen. Biedt geïntegreerde posture management over meerdere cloudproviders vanuit één centrale console. .NOTES Filename: multi-cloud-cspm.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 Related JSON: content/azure/defender-cloud/multi-cloud-cspm.json BIO Controls: 11.01, 12.06 ISO 27001: A.18.2.2, A.18.2.3 NIS2 Article: 21 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Security [CmdletBinding()] param( [Parameter()][switch]$WhatIf, [Parameter()][switch]$Monitoring, [Parameter()][switch]$Remediation, [Parameter()][switch]$Revert ) $ErrorActionPreference = 'Stop' $VerbosePreference = 'Continue' $PolicyName = "Microsoft Defender Multi-Cloud CSPM" function Connect-RequiredServices { try { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } catch { throw "Failed to connect to Azure: $_" } } function Test-Compliance { Write-Verbose "Testing compliance for: $PolicyName..." $result = [PSCustomObject]@{ ScriptName = "multi-cloud-cspm" PolicyName = $PolicyName IsCompliant = $false TotalConnectors = 0 ActiveConnectors = 0 InactiveConnectors = 0 Details = @() Recommendations = @() } try { # Check for AWS connectors try { $awsConnectors = Get-AzSecurityConnector -ResourceGroupName "*" -ErrorAction SilentlyContinue | Where-Object { $_.Kind -eq "aws" -or $_.Properties.CloudName -eq "AWS" } if ($awsConnectors) { foreach ($connector in $awsConnectors) { $result.TotalConnectors++ if ($connector.Properties.OrganizationalData -and $connector.Properties.OrganizationalData.OrganizationName) { $awsAccountName = $connector.Properties.OrganizationalData.OrganizationName } else { $awsAccountName = $connector.Name } # Check connector health status $isHealthy = $connector.Properties.HealthStatus -eq "Healthy" -or $connector.Properties.HealthStatus -eq "Active" if ($isHealthy) { $result.ActiveConnectors++ $result.Details += "✓ AWS Account '$awsAccountName': Connector ACTIVE" } else { $result.InactiveConnectors++ $result.Details += "✗ AWS Account '$awsAccountName': Connector INACTIVE (Status: $($connector.Properties.HealthStatus))" $result.Recommendations += "Herstel AWS connector voor '$awsAccountName' of configureer nieuwe connector via Azure Portal" } } } else { $result.Details += "⚠ Geen AWS connectors gevonden. Multi-cloud CSPM is niet geconfigureerd voor AWS." $result.Recommendations += "Configureer AWS integratie via Azure Portal → Defender for Cloud → Environment settings → Add AWS account" } } catch { Write-Verbose "Error checking AWS connectors: $_" $result.Details += "⚠ Kon AWS connectors niet controleren: $($_.Exception.Message)" } # Check for GCP connectors try { $gcpConnectors = Get-AzSecurityConnector -ResourceGroupName "*" -ErrorAction SilentlyContinue | Where-Object { $_.Kind -eq "gcp" -or $_.Properties.CloudName -eq "GCP" } if ($gcpConnectors) { foreach ($connector in $gcpConnectors) { $result.TotalConnectors++ if ($connector.Properties.OrganizationalData -and $connector.Properties.OrganizationalData.OrganizationName) { $gcpProjectName = $connector.Properties.OrganizationalData.OrganizationName } else { $gcpProjectName = $connector.Name } # Check connector health status $isHealthy = $connector.Properties.HealthStatus -eq "Healthy" -or $connector.Properties.HealthStatus -eq "Active" if ($isHealthy) { $result.ActiveConnectors++ $result.Details += "✓ GCP Project '$gcpProjectName': Connector ACTIVE" } else { $result.InactiveConnectors++ $result.Details += "✗ GCP Project '$gcpProjectName': Connector INACTIVE (Status: $($connector.Properties.HealthStatus))" $result.Recommendations += "Herstel GCP connector voor '$gcpProjectName' of configureer nieuwe connector via Azure Portal" } } } else { $result.Details += "⚠ Geen GCP connectors gevonden. Multi-cloud CSPM is niet geconfigureerd voor GCP." $result.Recommendations += "Configureer GCP integratie via Azure Portal → Defender for Cloud → Environment settings → Add GCP project" } } catch { Write-Verbose "Error checking GCP connectors: $_" $result.Details += "⚠ Kon GCP connectors niet controleren: $($_.Exception.Message)" } # Verify Defender CSPM is enabled on Azure (prerequisite) try { $subscriptions = Get-AzSubscription | Where-Object { $_.State -eq 'Enabled' } $cspmEnabledCount = 0 foreach ($sub in $subscriptions) { Set-AzContext -SubscriptionId $sub.Id | Out-Null try { $pricing = Get-AzSecurityPricing -Name "CloudPosture" -ErrorAction Stop if ($pricing.PricingTier -eq 'Standard') { $cspmEnabledCount++ } } catch { # CSPM not configured for this subscription } } if ($cspmEnabledCount -eq 0) { $result.Details += "⚠ Defender CSPM is niet ingeschakeld op Azure-abonnementen (vereiste voor multi-cloud CSPM)" $result.Recommendations += "Schakel eerst Defender CSPM in op Azure-abonnementen voordat multi-cloud integratie wordt geconfigureerd" } else { $result.Details += "✓ Defender CSPM is ingeschakeld op $cspmEnabledCount Azure-abonnement(en)" } } catch { Write-Verbose "Error checking Defender CSPM status: $_" } # Determine overall compliance # For multi-cloud CSPM, we consider it compliant if: # 1. Defender CSPM is enabled on Azure (prerequisite) # 2. At least one cloud connector (AWS or GCP) is active, OR # 3. Organization explicitly uses only Azure (single-cloud) if ($result.TotalConnectors -eq 0) { # No multi-cloud connectors found - this could be intentional for single-cloud Azure $result.Details += "ℹ Geen multi-cloud connectors gevonden. Als u alleen Azure gebruikt, is dit acceptabel." $result.IsCompliant = $true # Single-cloud Azure is acceptable } else { # Multi-cloud connectors exist - all must be active for compliance $result.IsCompliant = ($result.InactiveConnectors -eq 0) } } catch { $result.Details += "ERROR: $($_.Exception.Message)" } return $result } function Invoke-Remediation { Write-Host "`nStarting remediation for: $PolicyName..." -ForegroundColor Cyan Write-Host "`nLET OP: Multi-cloud CSPM configuratie vereist handmatige stappen in Azure Portal" -ForegroundColor Yellow Write-Host "Dit script kan alleen de status controleren, niet automatisch connectors aanmaken." -ForegroundColor Yellow try { $result = Test-Compliance Write-Host "`nHuidige status:" -ForegroundColor Cyan Write-Host " AWS connectors: $($result.Details | Where-Object { $_ -like '*AWS*' } | Measure-Object | Select-Object -ExpandProperty Count)" -ForegroundColor Gray Write-Host " GCP connectors: $($result.Details | Where-Object { $_ -like '*GCP*' } | Measure-Object | Select-Object -ExpandProperty Count)" -ForegroundColor Gray Write-Host " Actieve connectors: $($result.ActiveConnectors)" -ForegroundColor Green Write-Host " Inactieve connectors: $($result.InactiveConnectors)" -ForegroundColor $(if ($result.InactiveConnectors -gt 0) { 'Red' } else { 'Green' }) if ($result.InactiveConnectors -gt 0) { Write-Host "`n⚠ Inactieve connectors gevonden. Herstel vereist handmatige actie:" -ForegroundColor Yellow Write-Host " 1. Ga naar Azure Portal → Microsoft Defender for Cloud" -ForegroundColor Gray Write-Host " 2. Selecteer Environment settings" -ForegroundColor Gray Write-Host " 3. Controleer status van verbonden cloudaccounts" -ForegroundColor Gray Write-Host " 4. Herstel verbindingen of verwijder en voeg opnieuw toe indien nodig" -ForegroundColor Gray } if ($result.TotalConnectors -eq 0) { Write-Host "`nℹ Geen multi-cloud connectors gevonden." -ForegroundColor Cyan Write-Host "`nOm multi-cloud CSPM te configureren:" -ForegroundColor Yellow Write-Host "`nVoor AWS:" -ForegroundColor Cyan Write-Host " 1. Ga naar Azure Portal → Defender for Cloud → Environment settings" -ForegroundColor Gray Write-Host " 2. Klik op 'Add AWS account'" -ForegroundColor Gray Write-Host " 3. Volg de wizard om CloudFormation template te deployen in AWS" -ForegroundColor Gray Write-Host " 4. Wacht tot AWS-omgeving is geïndexeerd (kan enkele uren duren)" -ForegroundColor Gray Write-Host "`nVoor GCP:" -ForegroundColor Cyan Write-Host " 1. Ga naar Azure Portal → Defender for Cloud → Environment settings" -ForegroundColor Gray Write-Host " 2. Klik op 'Add GCP project'" -ForegroundColor Gray Write-Host " 3. Volg de wizard om service account te configureren in GCP" -ForegroundColor Gray Write-Host " 4. Wacht tot GCP-omgeving is geïndexeerd (kan enkele uren duren)" -ForegroundColor Gray } Write-Host "`nBelangrijke opmerkingen:" -ForegroundColor Cyan Write-Host " • Multi-cloud CSPM vereist Defender CSPM op Azure (CloudPosture Standard tier)" -ForegroundColor Gray Write-Host " • Verbindingen kunnen enkele uren duren om volledig te synchroniseren" -ForegroundColor Gray Write-Host " • Controleer regelmatig de status via Azure Portal" -ForegroundColor Gray Write-Host " • Kosten zijn afhankelijk van aantal verbonden accounts en resources" -ForegroundColor Gray } catch { Write-Error "Remediation failed: $_" } } function Invoke-Monitoring { $result = Test-Compliance Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "Totaal connectors: $($result.TotalConnectors)" -ForegroundColor White Write-Host "Actief: $($result.ActiveConnectors)" -ForegroundColor Green Write-Host "Inactief: $($result.InactiveConnectors)" -ForegroundColor $(if ($result.InactiveConnectors -gt 0) { 'Red' } else { 'Green' }) if ($result.Details) { Write-Host "`nDetails:" -ForegroundColor Yellow $result.Details | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } if ($result.Recommendations) { Write-Host "`nAanbevelingen:" -ForegroundColor Yellow $result.Recommendations | ForEach-Object { Write-Host " • $_" -ForegroundColor Gray } } Write-Host "`nCompliance Status: " -NoNewline -ForegroundColor White if ($result.IsCompliant) { Write-Host "[OK] COMPLIANT" -ForegroundColor Green if ($result.TotalConnectors -gt 0) { Write-Host "`nAlle multi-cloud connectors zijn actief." -ForegroundColor Green } else { Write-Host "`nGeen multi-cloud connectors gevonden. Als u alleen Azure gebruikt, is dit acceptabel." -ForegroundColor Green } } else { Write-Host "[FAIL] NON-COMPLIANT" -ForegroundColor Red Write-Host "`n$($result.InactiveConnectors) connector(s) zijn inactief of niet geconfigureerd." -ForegroundColor Red Write-Host "Voer het script uit met -Remediation voor configuratie-instructies." -ForegroundColor Yellow } return $result } function Invoke-Revert { Write-Host "`n⚠️ WARNING: Multi-cloud CSPM connectors verwijderen wordt NIET aanbevolen" -ForegroundColor Yellow Write-Host "Dit verhoogt het risico op gefragmenteerde beveiligingsinzichten en compliance-problemen." -ForegroundColor Yellow Write-Host "`nAls u toch connectors wilt verwijderen:" -ForegroundColor Gray Write-Host " 1. Ga naar Azure Portal → Defender for Cloud → Environment settings" -ForegroundColor Gray Write-Host " 2. Selecteer de connector die u wilt verwijderen" -ForegroundColor Gray Write-Host " 3. Klik op 'Delete' en bevestig de verwijdering" -ForegroundColor Gray Write-Host "`nLET OP: Dit schakelt monitoring uit voor die cloudomgeving!" -ForegroundColor Red } try { Connect-RequiredServices if ($Monitoring) { Invoke-Monitoring } elseif ($Remediation) { if ($WhatIf) { Write-Host "`n=== WHATIF MODE ===" -ForegroundColor Yellow $result = Test-Compliance Write-Host "Zou configuratie-instructies tonen voor multi-cloud CSPM" -ForegroundColor Yellow if ($result.InactiveConnectors -gt 0) { Write-Host "`nInactieve connectors die aandacht vereisen:" -ForegroundColor Yellow $result.Details | Where-Object { $_ -like "✗*" } | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } } else { Invoke-Remediation } } elseif ($Revert) { Invoke-Revert } else { $result = Test-Compliance Write-Host "`nCompliance Check: $PolicyName" -ForegroundColor Cyan Write-Host "Nederlandse Baseline voor Veilige Cloud" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan if ($result.IsCompliant) { Write-Host "Status: [OK] COMPLIANT" -ForegroundColor Green if ($result.TotalConnectors -gt 0) { Write-Host "`nAlle $($result.TotalConnectors) connector(s) zijn actief." -ForegroundColor Green } else { Write-Host "`nGeen multi-cloud connectors gevonden. Als u alleen Azure gebruikt, is dit acceptabel." -ForegroundColor Green } } else { Write-Host "Status: [FAIL] NON-COMPLIANT" -ForegroundColor Red Write-Host "`n$($result.InactiveConnectors) van $($result.TotalConnectors) connector(s) zijn inactief." -ForegroundColor Red } if ($result.Details) { Write-Host "`nDetails:" -ForegroundColor Yellow $result.Details | ForEach-Object { Write-Host " $_" -ForegroundColor Gray } } Write-Host "`nGebruik -Monitoring voor uitgebreide rapportage" -ForegroundColor Gray Write-Host "Gebruik -Remediation voor configuratie-instructies" -ForegroundColor Gray } } catch { Write-Error $_ exit 1 } finally { Write-Host "`n========================================`n" -ForegroundColor Cyan }

Risico zonder implementatie

Risico zonder implementatie
High: Zonder multi-cloud CSPM blijven beveiligingsinzichten gefragmenteerd over verschillende cloudproviders, waardoor inconsistente beveiligingsstandaarden ontstaan, blinde vlekken onopgemerkt blijven, en compliance-rapportage niet kan worden geconsolideerd. Aanvallers kunnen misconfiguraties in één cloudprovider uitbuiten terwijl beveiligingsteams gefocust zijn op een andere provider, en auditors kunnen niet verifiëren dat uniforme beveiligingsstandaarden worden gehandhaafd over alle cloudomgevingen heen. Dit leidt tot verhoogd risico op beveiligingsincidenten, niet-naleving van BIO, ISO 27001 en NIS2-vereisten, en onvermogen om aantoonbaar te voldoen aan compliance-verplichtingen die uniforme beveiligingsstandaarden vereisen.

Management Samenvatting

Multi-cloud CSPM biedt geïntegreerde posture management over Azure, AWS en GCP vanuit één centrale console, uniforme beveiligingsstandaarden, cross-cloud attack path analysis, en geconsolideerde compliance-rapportage. Configuratie vereist verbinding van AWS-accounts via CloudFormation en GCP-projecten via service accounts, waarna alle cloudresources worden geïndexeerd in de cloud security graph. Implementatie kost gemiddeld vier tot zeven uur aan configuratie en validatie, waarna geconsolideerde posture-scores, aanbevelingen en compliance-rapportages direct beschikbaar zijn voor alle verbonden cloudomgevingen. Kosten zijn afhankelijk van het aantal verbonden cloudaccounts en resources, maar bieden aanzienlijke waarde voor organisaties die meerdere cloudproviders gebruiken.