Azure Storage Account: Diagnostische Logging Inschakelen Voor Audit Trails

💼 Management Samenvatting

Diagnostische logging voor Azure Storage Accounts registreert alle read, write en delete operations op blob, file, table en queue storage naar Log Analytics Workspace. Deze audit trail is essentieel voor security incident investigation, compliance audits en het detecteren van ongeautoriseerde data-toegang of exfiltratie-pogingen.

Aanbeveling
IMPLEMENTEER STORAGE LOGGING
Risico zonder
High
Risk Score
8/10
Implementatie
2u (tech: 2u)
Van toepassing op:
Azure

Zonder diagnostische logging op opslagaccounts ontbreekt cruciale zichtbaarheid in data-toegangspatronen en opslagoperaties. Organisaties kunnen niet detecteren wie welke blobs of bestanden heeft benaderd, wanneer data is gedownload of gewijzigd, of vanaf welke IP-adressen en identiteiten opslagoperaties plaatsvinden. Dit creëert beveiligingsblind spots waarbij data-exfiltratie door gecompromitteerde accounts onopgemerkt blijft. Aanvallers kunnen massaal data downloaden zonder detectie, ongeautoriseerde verwijderoperaties kunnen dataverlies veroorzaken zonder forensisch spoor om te achterhalen wat er is gebeurd, insider threats waarbij medewerkers gevoelige data onbevoegd kopiëren blijven onzichtbaar, en gestolen opslagaccount-sleutels kunnen worden misbruikt zonder dat het gebruik wordt gelogd. Voor compliance is opslagtoegangslogging vaak verplicht: AVG Artikel 32 vereist logging van toegang tot persoonsgegevens, ISO 27001 controle A.12.4.1 eist gebeurtenissenlogging en audit trails, NIS2 Artikel 21 verplicht logging voor kritieke data-opslag, en PCI-DSS Requirement 10.2 vereist audit logs voor systemen met kaarthouderdata. Bij beveiligingsincidenten zonder opslaglogs is forensisch onderzoek onmogelijk omdat niet kan worden achterhaald welke data is gecompromitteerd. Diagnostische logging lost dit op door uitgebreide logging van alle opslagoperaties inclusief leesoperaties waarbij wordt geregistreerd wie welke blob heeft gelezen, schrijfoperaties waarbij nieuwe bestanden worden geüpload of bestaande worden gewijzigd, verwijderoperaties waarbij wordt vastgelegd welke data is verwijderd en door wie, en metadata-operaties zoals het vermelden van containers of het ophalen van blob-eigenschappen. Logs bevatten het IP-adres van de aanroeper, de identiteit van de aanroeper zoals beheerde identiteit, SAS-token of accountsleutel, tijdstempel, operatietype, request- en response-details, en succes- of foutstatus.

PowerShell Modules Vereist
Primary API: Azure API
Connection: Connect-AzAccount
Required Modules: Az.opslag, Az.Monitor

Implementatie

Deze maatregel configureert diagnostische instellingen voor alle Azure Storage Accounts waarbij logging wordt ingeschakeld voor alle opslagservicetypen zoals Blob, File, Table en Queue. De configuratie omvat het per opslagaccount aanmaken van diagnostische instellingen, het selecteren van logcategorieën waarbij minimaal StorageRead, StorageWrite en StorageDelete moeten worden ingeschakeld, en het configureren van de bestemming naar een Log Analytics Workspace voor realtime querying en alerting plus optioneel naar een Storage Account voor langetermijnarchivering wat kosteneffectief is voor retentie van 7 jaar. De logs worden verzonden naar Log Analytics waar KQL-queries kunnen worden uitgevoerd om toegangspatronen te analyseren, waarschuwingen kunnen worden ingesteld op verdachte operaties zoals massale downloads vanaf onbekende IP-adressen of bulkverwijderoperaties, en integratie met Microsoft Sentinel mogelijk is voor SIEM-gebaseerde dreigingsdetectie. De implementatie vereist per opslagaccount configuratie via de Azure Portal onder Diagnostische instellingen of via PowerShell Set-AzDiagnosticSetting voor bulkimplementatie. Kosten zijn afhankelijk van het volume aan opslagoperaties maar doorgaans tussen de twee en vijf euro per opslagaccount per maand voor Log Analytics-opname. Retentie moet minimaal 90 dagen zijn maar 7 jaar voor compliance-gereguleerde opslag. De implementatie kost 2 uur technisch werk en is verplicht voor alle opslagaccounts met gevoelige data. Dit voldoet aan CIS Azure Benchmark controle 3.6 Level 1, BIO 12.04 loggingvereisten en ISO 27001 A.12.4.1.

Vereisten

Voor het inschakelen van diagnostische logging op Azure Storage Accounts zijn specifieke vereisten nodig om een complete audit trail te kunnen creëren. De primaire vereiste is de aanwezigheid van een of meer Azure Storage Accounts binnen het Azure-abonnement. Deze opslagaccounts kunnen verschillende servicetypen bevatten zoals Blob Storage voor objectopslag, File Storage voor gedeelde bestandsopslag, Table Storage voor NoSQL-datastructuur en Queue Storage voor berichtenwachtrijen. Elke opslagaccount moet individueel worden geconfigureerd met diagnostische instellingen, wat betekent dat organisaties met meerdere opslagaccounts een systematische aanpak moeten volgen om alle accounts te voorzien van logging. De tweede cruciale vereiste is de beschikbaarheid van een Log Analytics Workspace, ook wel afgekort als LAW. Dit werkgebied functioneert als centrale verzamellocatie voor alle loggegevens die worden gegenereerd door de opslagaccounts. Het Log Analytics Workspace biedt de infrastructuur voor het opslaan, doorzoeken en analyseren van loggegevens met behulp van Kusto Query Language, beter bekend als KQL. Organisaties moeten ervoor zorgen dat het Log Analytics Workspace zich in dezelfde Azure-regio bevindt als de opslagaccounts indien mogelijk, om datatransferkosten te minimaliseren en de latentie te reduceren. Daarnaast moet het Log Analytics Workspace beschikken over voldoende capaciteit om de verwachte hoeveelheid loggegevens op te slaan, waarbij rekening moet worden gehouden met retentievereisten die kunnen variëren van 90 dagen tot 7 jaar afhankelijk van compliance-verplichtingen. Naast deze primaire vereisten zijn er ook permission-vereisten die moeten worden vervuld. De gebruiker of service principal die de diagnostische instellingen configureert, moet beschikken over de juiste Azure Role-Based Access Control-rollen. Specifiek is de rol van Contributor of Storage Account Contributor vereist op het niveau van het opslagaccount, terwijl de rol van Contributor of Log Analytics Contributor nodig is op het niveau van het Log Analytics Workspace. Voor automatisering via PowerShell of ARM-templates kunnen ook service principals worden gebruikt met dezelfde rollen toegewezen. Een bijkomende overweging betreft de netwerkvereisten indien opslagaccounts of het Log Analytics Workspace zich achter een Virtual Network bevinden of beperkingen hebben op basis van firewallregels. In dergelijke gevallen moeten organisaties ervoor zorgen dat de juiste uitgaande netwerkverbindingen zijn geconfigureerd zodat loggegevens succesvol kunnen worden verzonden naar het Log Analytics Workspace. Voor opslagaccounts met private endpoints kunnen aanvullende configuratiestappen nodig zijn om logging te faciliteren zonder de beveiligingsgrenzen te compromitteren.

Monitoring

Gebruik PowerShell-script storage-account-logging-enabled.ps1 (functie Invoke-Monitoring) – Controleren.

Monitoring van diagnostische logging voor Azure Storage Accounts is essentieel om ervoor te zorgen dat alle opslagoperaties worden vastgelegd en beschikbaar zijn voor beveiligingsanalyse en compliance-doeleinden. Het controleproces omvat meerdere aspecten die regelmatig moeten worden geëvalueerd om de continuïteit en volledigheid van de logging te garanderen. De primaire monitoringtaak bestaat uit het verifiëren van de diagnostische instellingen per opslagaccount. Dit houdt in dat moet worden gecontroleerd of voor elk opslagaccount binnen de Azure-omgeving diagnostische instellingen actief zijn en correct zijn geconfigureerd. De verificatie moet bevestigen dat minimaal de logcategorieën StorageRead, StorageWrite en StorageDelete zijn ingeschakeld, aangezien deze de kernoperaties omvatten die cruciaal zijn voor een complete audit trail. Daarnaast moet worden gecontroleerd of de bestemming correct is geconfigureerd naar het Log Analytics Workspace en dat er geen configuratiefouten zijn die kunnen leiden tot het niet verzenden van logs. Een belangrijk monitoringaspect betreft de daadwerkelijke ontvangst van loggegevens in het Log Analytics Workspace. Alleen het hebben van diagnostische instellingen is niet voldoende; organisaties moeten actief controleren of logs daadwerkelijk aankomen en worden opgeslagen. Dit kan worden gemonitord door middel van KQL-queries die de hoeveelheid binnenkomende logs per opslagaccount analyseren en trends identificeren. Een plotselinge afname in het volume van ontvangen logs kan wijzen op een configuratiefout, een probleem met de netwerkverbinding, of mogelijk zelfs een beveiligingsincident waarbij logging is uitgeschakeld. Beveiligingsteams moeten ook regelmatig controleren of de retentie-instellingen correct zijn geconfigureerd en of logs daadwerkelijk worden bewaard voor de vereiste periode. Voor compliance-gereguleerde opslagaccounts moet vaak een retentie van 7 jaar worden gegarandeerd, wat betekent dat monitoring moet aantonen dat logs niet voortijdig worden verwijderd of verloren gaan. Daarnaast moet worden gemonitord of de opslagcapaciteit van het Log Analytics Workspace toereikend is om de verwachte retentieperiode te ondersteunen zonder dat logs verloren gaan wegens capaciteitsproblemen. Effectieve monitoring vereist ook het instellen van waarschuwingen op kritieke gebeurtenissen. Wanneer diagnostische instellingen worden gewijzigd of uitgeschakeld, moeten beveiligingsteams onmiddellijk worden gewaarschuwd. Dit kan worden bereikt door middel van Azure Monitor-waarschuwingen die worden geactiveerd wanneer wijzigingen worden gedetecteerd in de diagnostische instellingenconfiguratie. Daarnaast kunnen waarschuwingen worden ingesteld op ongebruikelijke patronen in de logging zelf, zoals een volledige stopzetting van logactiviteit voor een specifiek opslagaccount, wat kan wijzen op een technisch probleem of mogelijk een beveiligingsincident. De monitoringstrategie moet ook periodieke controles omvatten om te verifiëren dat nieuwe opslagaccounts automatisch worden voorzien van diagnostische logging. Wanneer organisaties nieuwe opslagaccounts aanmaken, moeten deze onmiddellijk worden geconfigureerd met logging om te voorkomen dat er beveiligingsblind spots ontstaan. Automatisering kan hierbij helpen door middel van Azure Policy-definities die automatisch diagnostische instellingen toepassen op nieuwe resources, maar ook deze policies moeten regelmatig worden gemonitord om te zorgen dat ze correct functioneren.

Implementatie

Gebruik PowerShell-script storage-account-logging-enabled.ps1 (functie Invoke-Implementation) – Implementeren.

De implementatie van diagnostische logging voor Azure Storage Accounts vereist een gestructureerde aanpak waarbij elke opslagaccount individueel wordt geconfigureerd met de juiste instellingen. Het implementatieproces begint met het identificeren van alle opslagaccounts binnen de Azure-omgeving die moeten worden voorzien van logging. Dit kan worden gedaan door middel van een inventarisatie waarbij alle abonnementen en resourcegroepen worden doorzocht op opslagaccounts. Voor elk opslagaccount moeten diagnostische instellingen worden aangemaakt die de logging configureren voor alle relevante servicetypen. De configuratie omvat het selecteren van de logcategorieën die moeten worden vastgelegd, waarbij minimaal StorageRead voor leesoperaties, StorageWrite voor schrijfoperaties en StorageDelete voor verwijderoperaties moeten worden ingeschakeld. Deze drie categorieën vormen de kern van een complete audit trail omdat ze alle primaire data-operaties omvatten. Organisaties kunnen er ook voor kiezen om aanvullende categorieën in te schakelen zoals StorageMetrics voor prestatiemetingen, afhankelijk van hun specifieke monitoringbehoeften. De bestemming voor de loggegevens moet worden geconfigureerd naar een Log Analytics Workspace, ook wel afgekort als LAW. Dit werkgebied fungeert als centrale verzamellocatie waar alle logs worden opgeslagen en beschikbaar komen voor analyse. Tijdens de configuratie moet worden geselecteerd welk Log Analytics Workspace moet worden gebruikt, waarbij organisaties vaak kiezen voor een centraal workspace dat wordt gedeeld door meerdere resources om de kosten te optimaliseren en de analyse te vereenvoudigen. Als alternatief kan ervoor worden gekozen om logs ook naar een Storage Account te sturen voor langetermijnarchivering, wat vooral waardevol is wanneer organisaties retentieperiodes van 7 jaar moeten garanderen voor compliance-doeleinden. De implementatie kan worden uitgevoerd via verschillende methoden afhankelijk van de omvang en voorkeur van de organisatie. Voor kleine omgevingen met slechts een paar opslagaccounts kan de Azure Portal worden gebruikt waarbij handmatig per account de diagnostische instellingen worden geconfigureerd via de sectie Monitoring en vervolgens Diagnostische instellingen in het menu van het opslagaccount. Voor grotere omgevingen met tientallen of honderden opslagaccounts is automatisering via PowerShell veel efficiënter. De PowerShell-cmdlet Set-AzDiagnosticSetting kan worden gebruikt in combinatie met scripts die door alle opslagaccounts itereren en automatisch de configuratie toepassen. Na de initiële implementatie moeten organisaties ervoor zorgen dat nieuwe opslagaccounts automatisch worden voorzien van diagnostische logging. Dit kan worden bereikt door middel van Azure Policy-definities die automatisch diagnostische instellingen toepassen op nieuw aangemaakte opslagaccounts. Deze aanpak zorgt ervoor dat er geen beveiligingsblind spots ontstaan wanneer de omgeving groeit en nieuwe resources worden toegevoegd. De Azure Policy kan worden geconfigureerd om te controleren of diagnostische instellingen aanwezig zijn en deze automatisch te implementeren indien ontbrekend. Kostenoverwegingen vormen een belangrijk aspect van de implementatie. De kosten voor Log Analytics zijn afhankelijk van het volume aan loggegevens dat wordt opgenomen, waarbij organisaties worden gefactureerd op basis van de hoeveelheid data die wordt verzonden naar het workspace. Het volume hangt af van de frequentie en het aantal opslagoperaties die plaatsvinden op de accounts. Organisaties moeten een inschatting maken van het verwachte logvolume om budget te kunnen reserveren, waarbij rekening moet worden gehouden met factoren zoals het aantal opslagaccounts, de frequentie van data-operaties en de retentieperiode. Voor de meeste organisaties liggen de kosten tussen de twee en vijf euro per opslagaccount per maand, maar dit kan aanzienlijk hoger zijn voor accounts met zeer hoge transactievolumes.

Compliance en Auditing

Diagnostische logging voor Azure Storage Accounts speelt een cruciale rol bij het voldoen aan verschillende compliance-vereisten die van toepassing zijn op Nederlandse overheidsorganisaties en organisaties die werken met gevoelige data. De implementatie van uitgebreide logging maakt het mogelijk om te voldoen aan specifieke controles en vereisten die zijn vastgelegd in verschillende beveiligingsstandaarden en regelgeving. De CIS Azure Benchmark controle 3.6 op Level 1 vereist specifiek dat diagnostische logging is ingeschakeld voor alle opslagaccounts. Deze controle richt zich op het waarborgen van zichtbaarheid in alle opslagoperaties door middel van uitgebreide logging van lees-, schrijf- en verwijderoperaties. De controle benadrukt het belang van het hebben van een complete audit trail die kan worden gebruikt voor beveiligingsonderzoek en compliance-audits. Organisaties die willen voldoen aan de CIS Azure Benchmark moeten kunnen aantonen dat voor alle opslagaccounts diagnostische instellingen actief zijn en dat logs worden verzameld in een centraal Log Analytics Workspace waar ze kunnen worden geanalyseerd en bewaard voor de vereiste retentieperiode. De BIO-normen, die specifiek zijn ontwikkeld voor de Nederlandse overheid, bevatten in controle 12.04 expliciete vereisten voor logging. Deze controle vereist dat organisaties logbestanden bijhouden van alle relevante gebeurtenissen die plaatsvinden binnen hun systemen, waarbij specifiek wordt verwezen naar het belang van het vastleggen van toegang tot gegevens en operaties die worden uitgevoerd op data-opslagsystemen. Voor Azure Storage Accounts betekent dit dat alle operaties die worden uitgevoerd op blobs, bestanden, tabellen en wachtrijen moeten worden gelogd met voldoende detail om achteraf te kunnen reconstrueren wat er heeft plaatsgevonden. De BIO-normen benadrukken ook het belang van het bewaren van logs voor een adequate periode en het beschermen van loggegevens tegen ongeautoriseerde toegang of wijziging. ISO 27001, de internationale standaard voor informatiebeveiligingsmanagement, bevat in controle A.12.4.1 specifieke vereisten voor gebeurtenissenlogging en audit trails. Deze controle vereist dat organisaties logging implementeren die alle relevante gebeurtenissen vastlegt, inclusief gebruikersactiviteiten, uitzonderingen, fouten en toegang tot informatie. Voor opslagaccounts betekent dit dat alle toegang tot data, wijzigingen aan data en verwijderingen van data moeten worden gelogd met informatie over wie de actie heeft uitgevoerd, wanneer deze heeft plaatsgevonden, en wat het resultaat was. De standaard vereist ook dat logs worden beveiligd tegen ongeautoriseerde toegang en wijziging, en dat ze beschikbaar blijven voor de vereiste periode zoals vastgelegd in het informatiebeveiligingsbeleid van de organisatie. Naast deze specifieke standaarden zijn er ook wettelijke vereisten die relevant zijn voor Nederlandse organisaties. De Algemene Verordening Gegevensbescherming, beter bekend als de AVG, vereist in Artikel 32 dat organisaties passende technische en organisatorische maatregelen nemen om persoonsgegevens te beveiligen, waarbij logging wordt genoemd als een belangrijk instrument voor het monitoren van toegang tot persoonsgegevens. Wanneer opslagaccounts persoonsgegevens bevatten, moet logging worden geconfigureerd om te kunnen aantonen wie toegang heeft gehad tot deze gegevens, wat essentieel is voor het voldoen aan verzoeken van betrokkenen om inzicht te krijgen in wie hun gegevens heeft geraadpleegd. Voor organisaties die werken met kritieke infrastructuren is ook de NIS2-richtlijn van toepassing, die specifieke loggingvereisten bevat voor essentiële en belangrijke entiteiten. Artikel 21 van de NIS2-richtlijn vereist dat organisaties logging implementeren die voldoende detail bevat om beveiligingsincidenten te kunnen detecteren, analyseren en reageren. Voor opslagaccounts die kritieke data bevatten, betekent dit dat logging niet alleen moet vastleggen wat er is gebeurd, maar ook moet faciliteren in het identificeren van verdachte patronen die kunnen wijzen op beveiligingsbedreigingen. Tijdens compliance-audits moeten organisaties kunnen aantonen dat logging correct is geconfigureerd en actief functioneert. Dit betekent dat auditors willen zien dat diagnostische instellingen aanwezig zijn op alle opslagaccounts, dat logs daadwerkelijk worden verzameld in het Log Analytics Workspace, en dat er processen zijn om te garanderen dat logging continu actief blijft. Organisaties moeten ook kunnen demonstreren dat logs worden bewaard voor de vereiste periode en dat ze beschermd zijn tegen ongeautoriseerde toegang. Daarnaast verwachten auditors vaak dat organisaties kunnen aantonen dat logs daadwerkelijk worden gebruikt voor beveiligingsmonitoring en incidentresponse, wat betekent dat er processen moeten zijn voor het analyseren van logs en het reageren op verdachte activiteiten.

Remediatie

Gebruik PowerShell-script storage-account-logging-enabled.ps1 (functie Invoke-Remediation) – Herstellen.

Wanneer monitoring aantoont dat diagnostische logging ontbreekt of onjuist is geconfigureerd op een of meer Azure Storage Accounts, moet onmiddellijk worden overgegaan tot remediatie om beveiligingsrisico's te mitigeren en compliance-vereisten te herstellen. Het remediatieproces moet systematisch worden uitgevoerd om ervoor te zorgen dat alle opslagaccounts correct worden geconfigureerd zonder verstoring van operationele processen. De eerste stap in het remediatieproces bestaat uit het identificeren van alle opslagaccounts die niet voldoen aan de loggingvereisten. Dit kan worden gedaan door middel van het uitvoeren van een controle die alle opslagaccounts binnen de Azure-omgeving analyseert en controleert op de aanwezigheid en correctheid van diagnostische instellingen. Accounts waarbij diagnostische instellingen volledig ontbreken hebben de hoogste prioriteit voor remediatie omdat deze accounts momenteel geen audit trail genereren en volledig onzichtbaar zijn voor beveiligingsteams. Voor opslagaccounts waar diagnostische instellingen ontbreken, moeten deze volledig worden geconfigureerd vanaf het begin. Dit omvat het aanmaken van een nieuwe diagnostische instelling die alle relevante logcategorieën inschakelt, met name StorageRead, StorageWrite en StorageDelete. De instelling moet worden geconfigureerd om logs te verzenden naar het Log Analytics Workspace, en indien nodig moet ook worden overwogen om logs te archiveren naar een Storage Account voor langetermijnbewaring. Tijdens de configuratie moet worden gecontroleerd of er geen conflicterende instellingen zijn die kunnen voorkomen dat logs correct worden verzonden. Voor opslagaccounts waar diagnostische instellingen wel aanwezig zijn maar onvolledig zijn geconfigureerd, moet de bestaande configuratie worden bijgewerkt om te zorgen dat alle vereiste logcategorieën zijn ingeschakeld. Dit kan betekenen dat aanvullende categorieën moeten worden toegevoegd, of dat de bestemming moet worden gewijzigd naar het juiste Log Analytics Workspace. Organisaties moeten ervoor zorgen dat bestaande logs niet verloren gaan tijdens het bijwerken van de configuratie, wat betekent dat eventuele wijzigingen zorgvuldig moeten worden gepland en getest. Na het implementeren van de remediatie op individuele accounts, moeten organisaties verifiëren dat de configuratie correct functioneert door te controleren of logs daadwerkelijk beginnen aan te komen in het Log Analytics Workspace. Dit kan worden gedaan door middel van een KQL-query die de meest recente logs ophaalt voor het betreffende opslagaccount en verifieert dat de verwachte logcategorieën worden vastgelegd. Een periode van 24 tot 48 uur monitoring na remediatie wordt aanbevolen om te zorgen dat de logging consistent blijft en er geen problemen optreden. Om te voorkomen dat in de toekomst opslagaccounts zonder logging worden aangemaakt, moeten organisaties Azure Policy-definities implementeren die automatisch diagnostische instellingen toepassen op nieuwe resources. Deze policies moeten worden geconfigureerd om te detecteren wanneer een nieuw opslagaccount wordt aangemaakt en automatisch de vereiste diagnostische instellingen te implementeren. Daarnaast kunnen policies worden gebruikt om continu te controleren of bestaande accounts nog steeds voldoen aan de loggingvereisten, en om waarschuwingen te genereren wanneer configuratiewijzigingen worden gedetecteerd die logging kunnen uitschakelen. Voor organisaties met grote aantallen opslagaccounts kan automatisering van het remediatieproces veel tijd besparen. PowerShell-scripts kunnen worden ontwikkeld die automatisch door alle accounts itereren, de configuratie controleren, en indien nodig diagnostische instellingen aanmaken of bijwerken. Deze scripts kunnen worden geïntegreerd in bestaande monitoringoplossingen zodat remediatie automatisch wordt geactiveerd wanneer niet-compliant accounts worden gedetecteerd. Het is belangrijk dat deze geautomatiseerde processen logging bevatten van alle acties die worden uitgevoerd, zodat er een audit trail bestaat van het remediatieproces zelf.

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 Storage Account Logging Enabled .DESCRIPTION CIS Azure Foundations Benchmark - Control 5.32 Controleert of storage account logging is ingeschakeld. .NOTES Filename: storage-account-logging-enabled.ps1 Author: Nederlandse Baseline voor Veilige Cloud Version: 1.0 CIS Control: 5.32 #> #Requires -Version 5.1 #Requires -Modules Az.Accounts, Az.Storage [CmdletBinding()] param([Parameter()][switch]$Monitoring) $ErrorActionPreference = 'Stop' $PolicyName = "Storage Account Logging Enabled" function Connect-RequiredServices { if (-not (Get-AzContext)) { Connect-AzAccount | Out-Null } } try { Connect-RequiredServices if ($Monitoring) { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "⚠️ Manual verification required" -ForegroundColor Yellow Write-Host "Controleer storage diagnostics logging voor:" -ForegroundColor Gray Write-Host " - Blob service logging" -ForegroundColor Gray Write-Host " - Queue service logging" -ForegroundColor Gray Write-Host " - Table service logging" -ForegroundColor Gray Write-Host " - File service logging" -ForegroundColor Gray Write-Host " - Storage Analytics metrics" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Storage account logging" -ForegroundColor Yellow } } catch { Write-Error $_; exit 1 } # ================================================================================ # Standaard Invoke-* Functions (Auto-generated) # ================================================================================ function Invoke-Implementation { <# .SYNOPSIS Implementeert de configuratie #> [CmdletBinding()] param() Invoke-Remediation } function Invoke-Monitoring { <# .SYNOPSIS Controleert de huidige configuratie status #> [CmdletBinding()] param() $Monitoring = $true try { Connect-RequiredServices if ($Monitoring) { Write-Host "`n========================================" -ForegroundColor Cyan Write-Host "$PolicyName" -ForegroundColor Cyan Write-Host "========================================" -ForegroundColor Cyan Write-Host "⚠️ Manual verification required" -ForegroundColor Yellow Write-Host "Controleer storage diagnostics logging voor:" -ForegroundColor Gray Write-Host " - Blob service logging" -ForegroundColor Gray Write-Host " - Queue service logging" -ForegroundColor Gray Write-Host " - Table service logging" -ForegroundColor Gray Write-Host " - File service logging" -ForegroundColor Gray Write-Host " - Storage Analytics metrics" -ForegroundColor Gray } else { Write-Host "`n⚠️ Manual verification: Storage account logging" -ForegroundColor Yellow } } catch { Write-Error $_; exit 1 } } function Invoke-Remediation { <# .SYNOPSIS Herstelt de configuratie naar de gewenste staat .DESCRIPTION Dit is een monitoring-only control, remediation delegeert naar monitoring #> [CmdletBinding()] param() Write-Host "[INFO] Dit is een monitoring-only control" -ForegroundColor Yellow Write-Host "[INFO] Running monitoring check..." -ForegroundColor Cyan Invoke-Monitoring }

Risico zonder implementatie

Risico zonder implementatie
High: Geen storage access audit trail = blind voor data exfiltration. Blob/file downloads, unauthorized access undetected. Compliance: CIS 3.6, BIO 12.04. Het risico is hoog - data access visibility.

Management Samenvatting

Storage Account Logging: Enable diagnostic logging voor blob/file/queue/table services (read/write/delete operations). Activatie: Storage Account → Diagnostic settings → Enable all categories. Kosten: €5-20/account/maand. Verplicht CIS 3.6, BIO 12.04. Implementatie: 2 uur. Data access audit trail.