Waar wordt Azure Key Vault voor gebruikt?
Nu zit je waarschijnlijk met de vraag: "Waarom zouden we deze dingen specifiek in een Key Vault opslaan?".
Heel simpel, we moeten onze sleutels veilig bewaren om data te beveiligen zodat alleen geautoriseerde gebruikers en processen de informatie kunnen ontsleutelen en toegang hebben tot gevoelige gegevens.
Azure Key Vault wordt gebruikt voor:
- Key management
- Certificate management
- Secret management
- Het opslaan van secrets ondersteund door hardware modellen (HSMs)
Daarnaast is het sterk geïntegreerd met andere Azure services zoals virtual machines (VMs), Logic Apps, Data Factory, Web Apps, enz.
Maar goed, laten we eens kijken naar de basisdingen die in de key vault worden opgeslagen.
Begrijpen van Keys, Certificates, Secrets
Om te begrijpen hoe Azure Key Vault werkt, moeten we bespreken wat het beoogt te doen. Azure Key Vault stelt ons in staat om 3 soorten gevoelige informatie op te slaan en op te halen:
- Keys: Een veilige plek om cryptografische sleutels op te slaan die gebruikt worden voor encryptie en decryptie.
- Certificates: Gebruikt voor cryptografische authenticatie, zoals toegang tot diensten van derden.
- Secrets: Dit zijn wachtwoorden, verbindingsstrings en vergelijkbare inloggegevens.
Keys (sleutels)
Als we het over keys hebben, verwijzen we naar die gebruikt in cryptografie, zoals:
- Private Key: Alleen bekend bij de verstrekker (de persoon of toepassing die hem maakt of gebruikt) en gebruikt voor decryptie en signing.
- Public-Private Key Pair: Een paar sleutels dat gebruikers en applicaties veilig kan identificeren, waardoor ze zich kunnen authenticeren en toegang kunnen krijgen tot bronnen. De public key is openbaar gedeeld, terwijl de private key geheim wordt gehouden.
- Public Key Infrastructure: Een framework dat cryptografische sleutels gebruikt voor veilige communicatie en authenticatie.
Een key is essentieel voor cryptografische communicatie, specifiek binnen Public Key Infrastructure (PKI).
Hoe werkt het?
Een key (sleutel) is een bestand of een reeks tekst die data versleutelt en ontsleutelt. Zie het als een letterlijke en figuurlijke sleutel die versleutelde informatie ontgrendelt, waardoor het toegankelijk (niet-versleuteld) is alleen voor degenen met de juiste key. Dit kan API keys of service keys omvatten voor veilige interactie met applicaties.
Certificaten
In tegenstelling tot sleutels, gaan certificaten vooral over het bewijzen van identiteit en het mogelijk maken van veilige communicatie. Ze fungeren als digitale ID's, verifiëren identiteit en zorgen voor veilige interacties tussen applicaties, diensten en gebruikers.
Certificates zijn complexe cryptografische objecten gebruikt voor:
- Authenticatie: Een applicatie of gebruiker authenticeren naar een ander systeem.
- Encryptie en Decryptie: Data versleutelen en ontsleutelen op basis van identiteit.
- Veilige communicatie: Veilige communicatie garanderen door de communicatie te ondertekenen, ervoor te zorgen dat deze niet is gemanipuleerd en afkomstig is van een betrouwbare bron.
Secrets (geheimen)
Secrets zijn wachtwoorden, of elke lange reeks informatie opgeslagen als tekst. Ze kunnen API keys, encryptie keys, verbindingsstrings, en zelfs certificates bevatten die als tekst zijn geformatteerd.
Secrets functioneren als inloggegevens, waardoor systemen zich kunnen authenticeren of communicatie kunnen versleutelen. Ze worden veel gebruikt om gevoelige gegevens op te slaan of versleutelde communicatie tussen netwerkapparaten mogelijk te maken.
Storage Containers in Azure Key Vault
We kunnen twee soorten Azure Key Vault vinden die kunnen worden ingezet:
- Standard Key Vault
- Managed HSM Pools (Hardware Security Module Pools)
Standard Key Vault
Een Standard Key Vault is een multi-tenant managed service in Microsoft Azure. Dit betekent dat jouw Key Vault aan jou is gewijd, maar samen bestaat met andere tenants op Microsoft's infrastructuur. Bij het kiezen van vaults als een containertype, wordt jouw data opgeslagen op een computer of harde schijf. Het biedt basisveiligheidsfuncties maar brengt enkele extra kosten met zich mee.
Managed HSM Pools
Als alternatief kun je kiezen voor Managed HSM modules als een containertype. Microsoft onderhoudt een pool van Hardware Security Modules om informatie (secrets, keys, certificates) op te slaan.
HSM, kort voor Hardware Security Module, is een hardware-apparaat beheerd door Azure waar informatie wordt opgeslagen. In plaats van ze op een computer op te slaan, worden ze opgeslagen in een speciaal apparaat ontworpen om dit soort informatie te beschermen. Ze zijn veiliger dan op software gebaseerde opslag, omdat keys nooit het hardware-module verlaten. Dit maakt ze ideaal voor omgevingen met hoge beveiligingseisen.
Let op het volgende:
- Binnen Standard Key Vault kun je zowel normale keys als HSM-ondersteunde keys opslaan.
- Binnen Managed HSM Pools kun je alleen HSM-ondersteunde keys opslaan (software-based keys kunnen daar niet worden opgeslagen).
Authentication in Azure Key Vault
Om Azure Key Vault te gebruiken, moet je eerst authenticeren. Dit gebeurt door de applicatie te verbinden via Microsoft Entra ID (voorheen Azure Active Directory).
Communication Flow:
- De communicatiestroom is tweerichtingsverkeer, met verzoeken die van de applicatie naar Key Vault gaan.
- Authenticatie wordt beheerd via Entra ID.
De onderstaande afbeelding illustreert het authenticatieproces verder:

Hierdoor kan de applicatie zich veilig identificeren, de nodige middelen ophalen en interactie hebben met gebruikers bij het leveren van diensten.
Authorisation in Azure Key Vault
Aan de andere kant kan authorisatie worden beheerd door middel van:
- Azure role-based access control (RBAC)
- Key Vault access policies
De eerste is Key Vault access policies. Eenvoudig gezegd, Key Vault controleert wie of wat (applicaties, IPs, of entiteiten) toegang kan hebben tot specifieke bronnen met specifieke permissies.
Toegangs policies zijn beperkt tot het beheersen van de toegang tot de data alleen binnen Azure Key Vault. Met andere woorden, je kunt niet de toegang tot Key Vault zelf beheren. Als je iemand wilt toestaan om de Key Vault te beheren, kun je dat niet doen met toegangspolicies. Daarvoor moet je Azure Role-based access control (RBAC) gebruiken.
Met Azure RBAC kun je:
- Toegang tot de data binnen Key Vault beheren
- Beheer toegang tot Key Vault zelf
Wanneer een gebruiker of applicatie toegang tot een sleutel vraagt, beslist Key Vault niet rechtstreeks. In plaats daarvan delegeert het de aanvraag naar Microsoft Entra ID, die Role-Based Access Control (RBAC) controleert om te bepalen of de gebruiker de nodige machtigingen heeft om toegang te krijgen tot de gevraagde bron.
RBAC werkt als een controle- en datalaag, beheert de toegang tot de gegevens binnen Key Vault en controleert de toegang tot Key Vault zelf.
Omdat het toegangsbeleid nu als legacy wordt gezien, raden we het gebruik van RBAC aan.
Veiligheids- en recovery functies in Azure Key Vault
Het verwijderen van een versleuteld opslagaccount is ongeveer het ergste wat er kan gebeuren. Zonder sleutel is je data-encryptiesleutel ook vergrendeld - wat betekent dat gegevens verloren gaan.
Daarom zijn er twee sleutelinstellingen waar je rekening mee moet houden:
- Soft Delete
- Purge Protection
Soft Delete
Als Soft Delete is ingeschakeld, kun je items herstellen, zelfs als je ze per ongeluk verwijdert. Als je een Key Vault of sleutels, geheimen of certificaten erin verwijdert, blijven ze in een soft delete status gedurende een geconfigureerde bewaarperiode (tot 90 dagen, met een minimum van 7 dagen). Dit voorkomt het per ongeluk verwijderen van belangrijke gegevens.
Als je in het verleden een Key Vault hebt aangemaakt, is soft delete mogelijk niet ingeschakeld. Bij alle nieuw aangemaakte Key Vaults zal soft delete echter altijd ingeschakeld zijn.
Maar als er misbruik van wordt gemaakt, kan soft delete alleen niet genoeg zijn: een item kan nog steeds worden gewist voordat herstel mogelijk is. Daarom moet je ook purge protection overwegen.
Purge Protection
Purge Protection voegt een extra beveiligingslaag toe aan soft delete. Het voorkomt dat items permanent worden verwijderd voordat de retentieperiode is verstreken.
Bijvoorbeeld als de retentieperiode 90 dagen is:
- Zonder Purge Protection: je kunt een soft-deleted sleutel op elk moment binnen 90 dagen handmatig wissen.
- Met Purge Protection ingeschakeld: je moet wachten tot de volledige retentieperiode van 90 dagen voorbij is voordat het permanent verwijderd kan worden.
Standaard is Purge Protection uitgeschakeld. Maar wanneer je Purge Protection inschakelt, kan deze niet gepasseerd worden. Dit zorgt ervoor dat zelfs als een aanvaller of gebruiker een verwijderde sleutel probeert te verwijderen, dit niet kan voordat de retentieperiode is verstreken.