Nederlands
AWS

Automatiseren van gegevensbeveiliging in AWS: het gebruik van Amazon Macie voor beheer van gevoelige informatie in grote organisaties

Mark Onderwater Cloud consultant
Publicatiedatum: 4 juli 2024

Het labelen van gevoelige informatie in een uitgestrekte AWS-omgeving met meer dan 100 workload-accounts is geen geringe taak. Deze uitdaging is bijzonder relevant voor organisaties in de publieke sector, zoals Nederlandse Spoorwegen (NS), de Nederlandse nationale spoorwegmaatschappij.

Inleiding

Ondanks het gedeelde verantwoordelijkheidsmodel—waarbij ontwikkelteams verantwoordelijk zijn voor hun eigen opgeslagen gegevens—kan het stroomlijnen van dit proces leiden tot een win-winsituatie voor alle betrokkenen. Hier komt Amazon Macie om de hoek kijken, een door machine learning aangedreven dienst die automatisch gevoelige gegevens in S3-buckets identificeert en labelt. Deze innovatieve tool belooft geweldige resultaten, maar brengt kosten met zich mee: $0,10 per bucket per maand en $1,00 per gescande GB. Voor grote organisaties kunnen deze kosten snel oplopen.

Gelukkig biedt de self-service Amazon Macie-oplossing een eenvoudig te gebruiken setup die zich richt op de buckets die gevoelige gegevens bevatten, waardoor het een praktische en efficiënte optie is voor het beheren van gegevensbeveiliging in een complexe AWS-omgeving. Door te focussen op buckets die waarschijnlijk gevoelige gegevens bevatten, kunnen organisaties kosten minimaliseren terwijl ze de voordelen van geautomatiseerde gegevensclassificatie maximaliseren. Deze gerichte aanpak verbetert niet alleen de beveiliging, maar stelt ontwikkelteams ook in staat om naleving te handhaven zonder aanzienlijke overhead.

In dit blog leggen we uit waarom het vermogen om automatisch te identificeren waar en wat voor soort gevoelige informatie is opgeslagen cruciaal is - niet alleen voor bedrijfsbeleid en GDPR-naleving, maar ook voor het behouden van vertrouwen van individuen van wie de informatie wordt opgeslagen. We behandelen hoe je Amazon Macie voor dit doel kunt gebruiken en bieden strategieën voor het effectief beheren van gevoelige gegevens. Deze mogelijkheid vergemakkelijkt het eenvoudig verwijderen van bestanden en stelt tracking in staat terwijl ze worden verwerkt, wat zorgt voor robuust gegevensbeheer en beveiliging.

 

Definitie

Amazon Macie is een volledig beheerde dienst die je in AWS kunt gebruiken om gevoelige informatie te vinden en labelen op basis van machine learning. Hoewel de dienst voornamelijk werkt met S3-buckets, kan het ook indirect worden gebruikt voor DynamoDB, bijvoorbeeld door gegevens te uploaden naar een S3-bucket en deze vervolgens te scannen.

 

Hoe Amazon Macie zelfstandig te gebruiken

De primaire reden voor het gebruik van een Amazon Macie self-service is om centraal beheer te bereiken, wat bijzonder voordelig is voor grotere omgevingen met meerdere workload-accounts en ontwikkelteams. Deze centralisatie stroomlijnt de operaties en verbetert de schaalbaarheid, waardoor het voor teams gemakkelijker wordt om de dienst te gebruiken zonder uitgebreide setup- of onderhoudskennis.

De eerste stap in centraal beheer omvat het configureren van een gedelegeerde Macie-beheerder binnen de AWS-organisatie. Deze beheerder krijgt de permissies om andere Macie-instanties centraal te beheren, meestal binnen een aangewezen Landing Zone-account.

AWS Macie (1)

De tweede stap omvat het verzamelen van evenementen van workload-accounts, wat essentieel is voor het activeren van Macie in het workload-account en het scannen van de juiste S3-buckets. Dit proces wordt gefaciliteerd door de event bus-dienst, die in alle workload-accounts moet worden ingezet. Dit kan worden gestroomlijnd door stack sets en organisatorische eenheden te gebruiken die de workload-accounts bevatten.

De evenementen die we willen verzamelen zijn specifiek degene die worden gegenereerd door de 'PutBucketTagging' en 'DeleteBucket' API-oproepen. Het 'PutBucketTagging'-evenement wordt gecreëerd wanneer een nieuwe S3-bucket met een tag wordt ingezet, terwijl het 'DeleteBucket'-evenement de mogelijke deactivering van Macie binnen een account aangeeft, omdat in dergelijke gevallen geen 'PutBucketTagging'-evenement wordt gegenereerd

Voorbeeld van een event bus patroon:

AWS Macie (2)

De evenementen worden vastgelegd met behulp van eventpatronen en moeten worden doorgestuurd naar de event bus van het gedelegeerde Macie-beheerdersaccount. De event bus van dat account zal vervolgens de evenementen ontvangen en verwerken.

Voorbeeld van een event bus:

AWS Macie (3)

De derde stap omvat het opvangen en verwerken van de evenementen, wat op zijn beurt de activering en het scannen van specifieke S3-buckets in de workload-account(s) triggert. Dit wordt bereikt met behulp van een event rule die is ontworpen om PutBucketTagging- en DeleteBucket-evenementen op te vangen. Wanneer de regel deze evenementen opvangt, triggert het een Lambda-functie die verantwoordelijk is voor het verwerken van het evenement.

Voorbeeld van een eventregel:

AWS Macie (4(

De vierde stap omvat het verwerken van de evenementen en het activeren van het scannen van S3-buckets met specifieke tags. Binnen de Lambda-functie die door de event rule wordt getriggerd, worden verschillende stappen ondernomen om het proces effectief te stroomlijnen.

Voorbeeld van de Lambda-handler waarnaar je kunt verwijzen:

AWS Macie (5)

Eerste controle: welke gebeurtenissen de lambda heeft getriggerd. PutBucketTagging OF DeleteBucket:

AWS Macie (6)

Tweede controle: macie_enabled_check. Deze definitie controleert of de PutBucketTagging-gebeurtenissen de tag "Macie" bevatten die de waarde True OF False heeft en retourneert die waarden:

AWS Macie (7)

De derde controle betreft het verifiëren of de workload-account al een actieve Macie-instantie heeft. Dit is cruciaal omdat, hoewel je een Macie-tag van een S3-bucket kunt verwijderen, er mogelijk nog een andere S3-bucket in dat account is met de tag. Daarom wil je voorkomen dat Macie wordt gedeactiveerd in dergelijke workload-accounts:

AWS Macie (8)

Als een Macie-tag wordt gedetecteerd en Macie wordt gevonden als gedeactiveerd of opgeschort, wordt de workload-account aangewezen als een Macie-lid. De creatie van het Macie-lid verloopt als volgt:

AWS Macie (9)

Nu de workload-account een Macie-lid is, wordt Macie automatisch geactiveerd in die workload-account. Maar er is nog geen S3-bucketscan, het scannen van de S3-bucket gebeurt via een dagelijkse taak die alleen de buckets met een macie:true tag scant:

AWS Macie (10)

Zodra Macie is ingeschakeld in de workload-account, is het een lid van de gedelegeerde Macie-organisatie en voert het dagelijkse scans uit op de bucket met de tag 'macie:true'. De bevindingen van de scans en de status van de bucket kunnen worden weergegeven in Security Hub:

AWS Macie (11)
De activering van de Macie self-service is voltooid.

Vervolgens is de deactivering van Macie-leden wanneer een S3-bucket wordt verwijderd, of een Macie-tag wordt verwijderd of ingesteld op False.

Net als bij de activeringsstap, is de eerste controle in het verwijderingsproces om te verifiëren of de workload-account al een Macie-lid is. Als dit het geval is, gaat het proces verder met check_other_macie_enabled_buckets. Deze stap zorgt ervoor dat er geen andere S3-buckets met de tag 'macie:true' zijn voordat het Macie-lid wordt opgeschort:

AWS Macie (12)

Als er geen andere S3-buckets zijn met de tag 'macie:true', kan de Macie-service in de workload-account worden opgeschort met suspend_macie_member. Dit betekent dat, hoewel het account de bestaande Macie-resultaten behoudt, er geen verdere kosten worden gemaakt omdat de service niet meer actief is in het account:

AWS Macie (13)

 

Tips en reminders voor het gebruik van Amazon Macie

De stappen die ik heb beschreven, vertegenwoordigen de fundamentele aspecten van het oplossen van de event-driven puzzel. Het is cruciaal om te onthouden dat naast deze stappen, het opzetten van rollen met de juiste beleidsregels essentieel is, niet alleen binnen één account maar ook over meerdere accounts met veronderstelde rollen. Bovendien is de logica binnen de Lambda-functie volledig gebouwd op API-oproepen via Boto3. Voor inzichten in deze aanpak, raadpleeg de Boto3-documentatie voor een gedetailleerd begrip van de mogelijkheden en het gebruik: https://boto3.amazonaws.com/v1/documentation/api/latest/index.html

 

Conclusie

Dit was slechts een voorbeeld van een self-service oplossing voor Amazon Macie, maar je kunt je voorstellen dat dit soort self-service oplossingen ook voor andere diensten kunnen worden gebouwd. Niet alleen voor AWS maar ook voor oplossingen van derden vanuit een centrale Lambda-functie.

Wil je meer weten over deze AWS-dienst?

Onze cloud consultants helpen je graag op weg. Neem contact op met Mark voor de mogelijkheden.

Contact opnemen
Mark O
Mark Onderwater Cloud consultant
Publicatiedatum: 4 juli 2024