Microsoft AZ-400: Beveiliging, Compliance en DevSecOps — Studiegids
Onderdeel van de Microsoft DevOps Engineer Expert AZ-400 — Studiegids. Oefen met geverifieerde antwoorden in het Microsoft-examencentrum, of doe getimede oefentests op ExamRoll.io.
Overzicht
Security, compliance en DevSecOps in op Azure gerichte delivery pipelines vereisen dat risicodetectie wordt verschoven naar de vroegst mogelijke stadia, beleid continu wordt afgedwongen en het verzamelen van bewijs wordt geautomatiseerd. Effectieve implementaties verenigen application security testing (SAST/DAST/SCA), secrets governance, scannen van infrastructure-as-code (IaC) en wettelijke controles in de CI/CD-levenscyclus. In Azure DevOps en GitHub betekent dit dat er bij elke pull request analyzers worden uitgevoerd, merges worden tegengehouden met quality thresholds, deployments worden uitgevoerd met identiteiten met minimale rechten (least-privilege) die tijdsgebonden secrets ophalen uit Azure Key Vault, en de ‘posture’ continu wordt gemonitord met Microsoft Defender for DevOps en Defender for Cloud. Het doel is niet alleen om problemen te vinden, maar ook om te voorkomen dat onveilige wijzigingen beschermde resources bereiken, compliance aan te tonen via audit trails en een veilige ontwikkelsnelheid (secure velocity) te behouden.
Shift-left security, OWASP Top 10-mitigaties en pipeline hardening
Shift-left security begint met SAST en SCA tijdens de PR, aangevuld met het scannen op secrets en gerichte DAST vóór de promotie naar een volgende omgeving. SAST brengt kwetsbaarheden op codeniveau aan het licht, zoals injectiepunten, onveilige deserializers en ontbrekende output encoding. Integreer SonarQube/SonarCloud of GitHub code scanning (bijv. CodeQL) om elke change set te analyseren; verrijk pull requests met issues die gekoppeld zijn aan specifieke regels; en dwing quality gates af die de build laten mislukken wanneer kwetsbaarheids- of coverage-drempels niet worden gehaald. Richt SAST op de klassen van de OWASP Top 10:
- Injection: verplicht het gebruik van geparametriseerde queries/ORM, valideer/normaliseer input en verbied dynamische SQL/string-samenvoeging. Dwing dit af via SAST-regelsets en unit tests die het gebruik van goedgekeurde data access helpers valideren.
- Cross-Site Scripting (XSS): vereis output encoding en een Content Security Policy. SAST taint analysis moet onvertrouwde input traceren naar ‘sinks’ (innerHTML, Response.Write).
- Cross-Site Request Forgery (CSRF): dwing anti-forgery tokens en SameSite cookies af. Pipelines kunnen framework-analyzers uitvoeren om te controleren of middleware/instellingen zijn ingeschakeld.
- Insecure Deserialization: sta onveilige binaire/XML-serializers niet toe, beperk de toegestane types en geef de voorkeur aan JSON-serializers die met veilige standaardinstellingen zijn geconfigureerd. SAST-controles en dependency-beleid voorkomen het gebruik van bibliotheken waarvan bekend is dat ze onveilig zijn.
DAST valideert draaiende builds in een staging-omgeving. Automatiseer OWASP ZAP of een equivalent als een pipeline-taak na de implementatie naar een niet-productieomgeving, met gebruik van geauthenticeerde scans en een regelset die is afgestemd op uw applicatieprofiel. Blokkeer promotie op basis van een kwetsbaarheidsbaseline: blokkeer bij nieuw geïntroduceerde High/Critical-bevindingen en leg geaccepteerde uitzonderingen vast met een vervaldatum.
Software Composition Analysis (SCA) detecteert kwetsbare third-party packages vóór de merge. Gebruik Dependabot om PR’s voor versie-updates aan te maken en OWASP Dependency-Check om SBOM’s en CVE-rapporten te genereren in CI. Dwing licentiecompliance af door allow/deny-lijsten te definiëren (bijv. copyleft weigeren voor propriëtaire producten) en builds te laten mislukken die niet-toegestane licenties bevatten. Het scannen op secrets moet worden uitgevoerd bij elke commit en in CI: implementeer GitHub Advanced Security secret scanning of integreer Gitleaks/Microsoft Security DevOps om hardgecodeerde credentials, tokens en sleutels te onderscheppen; blokkeer de merge wanneer een secret-patroon wordt gedetecteerd en roteer de betreffende credentials.
Het ‘hardenen’ van de pipeline is niet-onderhandelbaar. Vergrendel branch protections, vereis PR-reviews en dwing statuscontroles af voor SAST/SCA/DAST. Gebruik in Azure Pipelines ‘protected resources’, ’environment approvals and checks’ en ‘required templates’ om beveiligingsstappen te standaardiseren. Geef de voorkeur aan kortlevende tokens met minimale rechten (least-privilege); vermijd statische credentials volledig met workload identity federation. Beperk self-hosted agents tot privénetwerken, geef hun identiteiten een minimale scope en schakel script-injectie uit door templates af te dwingen die willekeurige scriptstappen voor niet-vertrouwde repositories niet toestaan.
Secrets, identiteiten, Azure Key Vault en certificaatrotatie
Azure Key Vault is de autoritatieve opslagplaats voor secrets, sleutels en certificaten. Integreer het rechtstreeks met CI/CD om secrets in platte tekst te elimineren:
- Pipeline secrets: koppel in Azure DevOps een variabelegroep aan een Key Vault met behulp van een service connection die alleen toegang heeft tot de benodigde secret-namen. Secrets worden tijdens runtime opgehaald en gemaskeerd in logs. Gebruik in GitHub Actions
undefined
met federated identity om tokens te verkrijgen en Key Vault aan te roepen; vermijd het opslaan van client secrets in de repository-instellingen.
- Toegang via managed identity: laat workloads en deployment agents waar mogelijk authenticeren met Microsoft Entra ID via managed identity of workload identity federation, zodat er geen secrets worden opgeslagen. Beperk de toegang tot Key Vault met RBAC of access policies volgens het principe van ’least privilege’ (alleen get/list voor specifieke secret-versies; geen purge/delete).
- Certificaatrotatie: sla TLS/MTLS-certificaten op in Key Vault Certificates met automatische rotatie via geïntegreerde CA’s. Configureer de verbruikende services (App Service, Application Gateway, AKS Ingress via CSI Secrets Store) om naar Key Vault te verwijzen, zodat vernieuwde certificaten worden opgepakt zonder een nieuwe deployment. Gebruik Event Grid op
undefined
-events van Key Vault om een automation runbook of Function te triggeren die de bindings valideert en caches opwarmt. Houd het gebruik van certificaatversies bij in deployment-manifesten; pin versies wanneer dat nodig is en voer een bewuste upgrade uit tijdens onderhoudsvensters.
Verhard (harden) de Key Vault met private endpoints, firewallregels, purge protection, soft-delete en logging naar Log Analytics of storage voor auditdoeleinden. Weiger toegang tussen tenants, tenzij expliciet gerechtvaardigd, en roteer routinematig de toegang voor break-glass accounts.
Dependencies, containers, IaC en compliance-as-code
Dependency-scanning moet zowel beveiligingsdefecten als licenties afhandelen. Dependabot stelt continu veilige updates voor; gebruik ‘dependency review policies’ om PR’s te blokkeren die kwetsbare versies introduceren. OWASP Dependency-Check (of ecosysteemeigen tools zoals npm audit, pip-audit) moet in CI draaien om SBOM’s (CycloneDX/SPDX) te genereren en de build te laten mislukken wanneer drempelwaarden voor ernst of licentieregels worden overschreden. Voor geavanceerd licentiebeheer, koppel het met een SCA-platform dat juridische beleidshandhaving en herstelworkflows ondersteunt.
Beveiliging van container-images begint in CI en wordt voortgezet in de registry en tijdens runtime:
- Trivy: voer uit als een pipeline-stap om Dockerfiles en gebouwde images te scannen op CVE’s en misconfiguraties in het OS/pakketten; laat de build mislukken bij ‘Critical’/‘High’ bevindingen. Dwing het gebruik van minimale base images en rootless containers af.
- Vulnerability scanning in Azure Container Registry: schakel Microsoft Defender for Containers in om images te scannen bij push/import en volgens een schema. Maak bevindingen zichtbaar in Defender for Cloud, exporteer ze naar work items en dwing ‘deployment gates’ af die images met onopgeloste ‘Critical’/‘High’ problemen blokkeren.
- Defender for Containers: breid de bescherming uit naar AKS/ECS/Kubernetes met runtime threat detection, kube-bench-stijl controles en ‘admission control’. Gebruik policy om alleen te pullen van vertrouwde ACR’s die zijn ondertekend met Notation/ACR content trust en verifieer handtekeningen in CI en bij ‘cluster admission’.
IaC-beveiliging zorgt ervoor dat cloudresources standaard veilig worden geprovisioned:
- Checkov en tfsec: scan Terraform- en Kubernetes-manifesten op onveilige configuraties (publieke opslag, open security groups, ontbrekende encryptie). Laat builds mislukken op basis van drempelwaarden voor ernst; maak een baseline van de bestaande ’technical debt’ om te focussen op nieuwe/gewijzigde resources.
- ARM/Bicep linting: schakel de Bicep linter (bicepconfig.json) en de ARM Template Tool Kit (arm-ttk) in om regels af te dwingen voor tagging, HTTPS-only endpoints, customer-managed keys en diagnostische instellingen. Combineer met ‘what-if deployments’ om drift te detecteren vóór de ‘apply’.
Compliance-as-Code gebruikt Azure Policy en Defender for Cloud om continu controles af te dwingen en hierover te rapporteren:
- Wijs Azure Policy-initiatieven toe die zijn afgestemd op CIS, NIST, ISO 27001 of interne baselines; selecteer effecten zoals ‘Deny’ voor kritieke ‘guardrails’ (bijv. publieke IP’s op databases), ‘DeployIfNotExists’ voor diagnostiek en ‘Audit’ voor observeerbaarheid. Sla policy-definities op als geversioneerde artefacten, test met policy-as-code pipelines en promoot via pull requests.
- Gebruik de ‘regulatory compliance’-dashboards van Defender for Cloud om de conformiteit van controles te visualiseren over subscriptions en management groups heen. Integreer met Azure Monitor en exporteer bewijsmateriaal naar Log Analytics of Event Hubs voor opname in een SIEM.
- Onderhoud audit trails: Azure Activity Logs voor policy-gebeurtenissen en -toewijzingen, Resource Graph voor compliance-queries, Azure DevOps/GitHub audit logs voor wijzigingen in repo’s en pipelines, en ‘release evidence’ dat automatisch wordt vastgelegd als artefacten van een pipeline-run.
SonarQube/SonarCloud, pipeline-beveiliging en Microsoft Defender for DevOps
SonarQube/SonarCloud biedt afdwingbare quality gates die de technische kwaliteit afstemmen op beveiliging. Hanteer “Clean as You Code” door gates in te stellen op nieuwe code: minimale codedekking op nieuwe/gewijzigde regels (bijv. 80%+), nul nieuwe kritieke kwetsbaarheden of ‘blocker code smells’, en weinig duplicatie. Als de gate faalt, moet de pipeline ook falen. Publiceer de dekking van testframeworks (JaCoCo, Cobertura, VSTest) en stem de kwaliteitsprofielen per taal af om security hotspots en op OWASP afgestemde regels op te nemen. Volg de ratio’s voor technische schuld en de hersteltijden; rapporteer trends om de verantwoordelijkheid van het team te stimuleren.
Pipeline-beveiliging is afhankelijk van service connections met minimale rechten, beveiligde resources en uitgebreide masking van secrets:
- Service connections moeten gebruikmaken van workload identity federation of managed identities met beperkte scopes (abonnement/resourcegroep, specifieke ACR of Key Vault). Schakel goedkeuringen en controles in voor service connections en environments, zodat eigenaren het gebruik moeten autoriseren. Beperk “Use”-permissies tot vertrouwde pipelines; schakel “Grant access permission to all pipelines” uit.
- Beveiligde resources in Azure DevOps beschermen service connections, variabelengroepen, secure files en environments. Vereis controles zoals goedkeurders, vensters tijdens kantooruren, resultaten van Azure Monitor-query’s en externe REST policy engines. Behandel ze als gates vóór implementaties en als voorwaarden voor het lezen van gevoelige data (bijv. het ophalen van productiegeheimen).
- Masking van secrets moet worden afgedwongen in alle logs; beperk de uitbreiding van variabelen in scripts; vermijd het weergeven van secrets; en geef de voorkeur aan API’s met een scope van system.accessToken boven het opslaan van PAT’s. Scan periodiek de pipeline-logs op onbedoelde lekken van secrets en roteer deze bij detectie.
Microsoft Defender for DevOps verenigt de security posture van repositories en pipelines in GitHub en Azure DevOps. Verbind organisaties/projecten met Defender for Cloud om risicosignalen voor code, secrets, IaC en afhankelijkheden op te nemen en geconsolideerde aanbevelingen te presenteren. Het correleert bevindingen aan eigenaren, ondersteunt onderdrukkingsworkflows met een vervaldatum en meet de adoptie van branch protections, vereiste reviewers en status checks. Combineer Defender for DevOps met de Microsoft Security DevOps-taak/actie om meerdere analyzers (bijv. Semgrep, Trivy, tfsec, Gitleaks, Bandit) in één stap te orkestreren en SARIF te publiceren naar code scanning. Gebruik Defender for Cloud om governance-initiatieven te creëren die DevOps best practices volgen en afdwingen (bijv. secret scanning ingeschakeld, vereist aantal reviewers ≥ 2, non-admin merges uitgeschakeld), waardoor de hygiëne van de repository wordt verheven tot een auditeerbare controlemaatregel.
Praktijkscenario
Spotify moet de veilige levering standaardiseren voor een nieuwe microservicestack die op AKS wordt gehost, met .NET en Node.js, met repo’s in GitHub Enterprise Cloud en implementaties via multi-stage YAML-pipelines in Azure DevOps. De uitdaging is om kwetsbare afhankelijkheden en verkeerd geconfigureerde infrastructuur te stoppen vóór de merge, statische credentials te elimineren en de promotie van images met kritieke CVE’s te blokkeren, terwijl er auditeerbaar bewijs van compliance wordt geproduceerd.
- Dwing SAST/SCA en het scannen van secrets af tijdens PR’s
- Kies SonarCloud voor meertalige SAST met PR-decoratie en quality gates; stel nieuwe-code-dekking in op ≥ 80% en nul nieuwe kritieke kwetsbaarheden. Dependabot is ingeschakeld om automatisch PR’s aan te maken voor veilige upgrades en GitHub dependency review blokkeert PR’s die bekende CVE’s introduceren. GitHub Advanced Security secret scanning plus Gitleaks in CI zorgt voor defense-in-depth tegen het blootstellen van credentials.
- Voeg geauthenticeerde DAST toe vóór promotie
- Gebruik OWASP ZAP in een pipeline-fase die gericht is op de staging-omgeving met vooraf ingestelde testaccounts. Een release check blokkeert de productie als er nieuwe High/Critical problemen verschijnen. ZAP is gekozen vanwege de op OWASP afgestemde dekking en eenvoudige CI-automatisering.
- Beveilig identiteiten en secrets met Key Vault en workload identity federation
- Vervang client secrets van service principals door Microsoft Entra workload identity federation voor service connections, waardoor opgeslagen secrets worden verwijderd. Pipelines halen runtime secrets en DB-credentials op uit Azure Key Vault via get/list-permissies met minimale rechten. Dit elimineert langlopende credentials en centraliseert de rotatie.
- Implementeer certificaatautomatisering
- Sla ingress- en mTLS-certificaten op in Key Vault met automatische rotatie. AKS haalt certificaten op via de Secrets Store CSI driver om te voorkomen dat secrets naar Kubernetes worden gekopieerd. Event Grid triggert een Function om de koppelingen te verifiëren na vernieuwing. Dit ontwerp minimaliseert downtime en menselijke fouten bij rotatie.
- Beveilig containers en registries
- Voer Trivy uit in CI om Dockerfiles en gebouwde images te scannen; laat de build falen bij Critical/High. Push alleen ‘schone’ images naar ACR. Schakel Defender for Containers in om ACR te scannen bij een push en periodiek, en breng bevindingen naar boven in Defender for Cloud. Release checks ondersteund door policy blokkeren de implementatie van images met onopgeloste Critical/High CVE’s. Trivy biedt snelle feedback; Defender voegt continue, registry-native zekerheid toe.
- Scan IaC en lint Bicep/ARM
- Gebruik Checkov en tfsec om Terraform- en Helm-charts te scannen; dwing tagging, encryptie en netwerkcontroles af. De Bicep linter en ARM TTK draaien in CI voor Azure-native templates. Falende controles blokkeren merges; baselines beperken de ruis tot nieuwe/gewijzigde resources. Deze tools zijn gekozen vanwege hun brede dekking van regels en sterke ondersteuning voor Azure.
- Codificeer compliance en bewijsmateriaal
- Wijs Azure Policy-initiatieven toe voor CIS Azure en bedrijfsbaselines; dwing Deny af op kritieke ‘guardrails’ en DeployIfNotExists voor diagnostiek. Voer de resultaten naar de reguleringsdashboards van Defender for Cloud. Exporteer Activity Logs en Defender-aanbevelingen naar Log Analytics voor onveranderlijk bewijs. Policy zorgt voor continue handhaving; dashboards geven audit-klare overzichten.
- Vergrendel pipelines en beveiligde resources
- Beperk service connections tot gescopete abonnementen/resourcegroepen; vereis goedkeuringen voor environments en Azure Monitor-querycontroles voor productie. Bescherm variabelengroepen en secure files; maskeer alle secrets. Beveilig self-hosted agents met private networking. Deze functies verminderen de ‘blast radius’ en zorgen voor menselijke tussenkomst bij risicovolle acties.
- Consolideer de posture met Microsoft Defender for DevOps
- Verbind de GitHub-organisatie en het Azure DevOps-project met Defender for Cloud om bevindingen van code, secrets en IaC te aggregeren en de adoptie van repository-beveiligingen te volgen. Gebruik de Microsoft Security DevOps-actie/taak om Semgrep, Trivy, tfsec en Gitleaks te orkestreren met SARIF-publicatie, wat zorgt voor gestandaardiseerde scanning over services heen. Dit centraliseert risicobeheer en herstelworkflows.
Elke tool/functie is geselecteerd voor de vroegst mogelijke detectie, automatische handhaving en auditeerbaarheid: SonarCloud en ZAP houden risico’s in code en tijdens runtime tegen; Dependabot en Trivy versnellen veilige updates; Key Vault en identity federation verwijderen statische secrets; Checkov/tfsec en Azure Policy voorkomen drift; beveiligde resources en goedkeuringen beheersen de ‘blast radius’; Defender for DevOps en Defender for Cloud leveren eenvormig, actiegericht posture management.
← Releasebeheer en Deploymentstrategieën · Alle domeinen · Teststrategie en Quality Engineering →
Oefen deze vragen → · Getimede oefening op ExamRoll.io →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
Slaag voor je examen →