Microsoft AZ-204: Azure Authenticatie, Autorisatie en Beveiliging — Studiegids

Onderdeel van de Microsoft Azure Developer Associate AZ-204 — Studiegids. Oefen met geverifieerde antwoorden in het Microsoft-examencentrum, of doe getimede oefentests op ExamRoll.io.

Overzicht

Authenticatie en autorisatie in Azure zijn gebaseerd op het Microsoft Identity Platform, dat tokens uitgeeft aan identiteiten (gebruikers, apps, workloads) en de toegang tot API’s en resources afdwingt. Applicaties integreren via OAuth 2.0 en OpenID Connect, verkrijgen tokens met MSAL en vragen permissies aan die zijn gedeclareerd in Azure AD-appregistraties. Workloads die op Azure draaien, kunnen credentials volledig elimineren door managed identities te gebruiken en vertrouwen op Azure RBAC om services zoals Key Vault, Storage en Microsoft Graph te bereiken. Secrets management is gecentreerd rond Azure Key Vault, met een duidelijke scheiding tussen data-plane-toegang tot de kluis en management-plane-beheer, en met sterke herstelgaranties door soft delete en purge protection. Voor storage bieden Shared Access Signatures (SAS) een gescoped, in de tijd beperkte delegatie aan clients zonder de account keys bloot te stellen.

Microsoft Identity Platform, OAuth 2.0, MSAL en App Registrations

Het Microsoft Identity Platform ondersteunt meerdere OAuth 2.0 flows die geoptimaliseerd zijn voor verschillende applicatietypes:

MSAL (Microsoft Authentication Library) biedt consistente token-acquisitie over verschillende talen en platformen heen. Public client-applicaties (desktop, mobiel, SPA) gebruiken

undefined

en

undefined

om tokens te verkrijgen en te cachen; native apps gebruiken ook

undefined

voor de device code flow en

undefined

voor het inwisselen van de authorization code in confidential client-contexten. Confidential clients (web-apps/API’s/daemons) verkrijgen tokens met

undefined

bij gebruik van client credentials en

undefined

voor OBO-scenario’s waarbij een API downstream API’s aanroept met de gedelegeerde context van een gebruiker.

Token caching is een integraal onderdeel van MSAL: het slaat access en refresh tokens op, geïndexeerd op account, client en scope, waardoor

undefined

onnodige interactieve prompts kan vermijden. Web-apps en API’s die in meerdere instanties draaien, moeten de token cache persisteren en beschermen met een gedeelde, versleutelde opslag (bv. een distributed cache met correcte encryptie at rest en in transit). Cache-serialisatie-hooks in MSAL maken veilige persistentie mogelijk. Scopes identificeren de permissies die een app aanvraagt. Vraag voor delegated permissions de minimale, resource-specifieke scopes aan (bv.

undefined

). Vraag voor client credentials de resource-gebaseerde

undefined

aan, wat overeenkomt met de application permissions die statisch aan de app zijn toegekend (bv.

undefined

). Gebruik incremental consent om scopes progressief aan te vragen en frictie te verminderen.

Azure AD-appregistraties definiëren de applicatie-identiteit, credentials, redirect-URI’s en permissies. Delegated permissions vereisen een ingelogde gebruiker en kunnen vaak door gebruikers zelf worden goedgekeurd voor hun eigen data; application permissions worden aan de app zelf verleend en vereisen bijna altijd dat een admin toestemming geeft (consent), omdat ze tenant-breed of zeer breed van toepassing zijn. Apps die API’s exposen, declareren scopes (voor delegated permissions) en app roles (voor application permissions) onder “Expose an API”. Configureer single-tenant- of multi-tenant-toegang afhankelijk van de trust boundaries, en gebruik certificaten in plaats van client secrets voor sterkere credentials en eenvoudigere rotatie.

Microsoft Graph gebruikt dezelfde token-uitgifte. Authenticeer met MSAL gericht op de Graph-resource en vraag least-privilege scopes aan. Veelvoorkomende eindpunten zijn:

undefined

voor het gebruikersprofiel met delegated tokens (bv.

undefined

)

undefined

en

undefined

voor directory-objecten (vereist de juiste delegated of application permissions zoals

undefined

of

undefined

)

undefined

of

undefined

voor SharePoint/OneDrive-operaties Vraag bij het gebruik van client credentials de

undefined

-scope aan en zorg ervoor dat er admin consent is voor de vereiste application permissions. Kies de juiste authority (tenant-specifiek versus common/organizations) om te bepalen waar gebruikers kunnen inloggen en waar tokens kunnen worden uitgegeven (‘gemint’).

Beheerde Identiteiten en Veilige Toegang tot Azure Resources, plus Key Vault-verwijzingen

Beheerde identiteiten voor Azure-resources elimineren geheimen doordat Azure de service principal-referenties kan beheren. Door het systeem toegewezen beheerde identiteiten zijn 1:1 gekoppeld aan een resource (App Service, Function App, VM, VMSS, Logic App, etc.) en delen diens levenscyclus; wanneer de resource wordt verwijderd, wordt de identiteit ook verwijderd. Door de gebruiker toegewezen beheerde identiteiten worden aangemaakt als zelfstandige Azure-resources die aan meerdere compute-resources gekoppeld kunnen worden en onafhankelijk van de levenscyclus van een specifieke workload bestaan. Dit model ondersteunt het hergebruik van identiteiten en de scheiding van taken.

Om met een beheerde identiteit toegang te krijgen tot Azure-resources, kent u de juiste Azure RBAC-rol toe op de correcte scope:

Gebruik tijdens runtime de Instance Metadata Service (IMDS) op VM’s of het door App Service beheerde eindpunt om tokens te verkrijgen; SDK’s zoals Azure Identity’s DefaultAzureCredential zullen automatisch het eindpunt voor beheerde identiteiten gebruiken wanneer dit beschikbaar is. Dit elimineert de noodzaak om geheimen op te slaan en ondersteunt rotatie door het platform.

Key Vault-verwijzingen in App Service en Azure Functions maken het mogelijk om geheimen veilig op te halen in applicatie-instellingen zonder codewijzigingen. Gebruik in de waarde van een app-instelling de verwijzingssyntaxis @Microsoft.KeyVault(SecretUri=https://{vault-name}.vault.azure.net/secrets/{name}/{version}). Het platform lost de verwijzing op met behulp van de beheerde identiteit van de app bij het opstarten en vernieuwt deze periodiek. Zorg ervoor dat de beheerde identiteit de ‘Get’-machtiging voor geheimen heeft via Key Vault-toegangsbeleid of de rol Key Vault Secrets User bij gebruik van het RBAC-datavlakmodel. Key Vault-verwijzingen zijn ideaal voor configuratiewaarden die nooit in platte tekst in de app-configuratieopslag mogen worden bewaard en verwijderen de logica voor het omgaan met geheimen uit de applicatiecode.

Azure Key Vault: Geheimen, Sleutels, Certificaten en Toegangsbeheer

Azure Key Vault slaat drie soorten objecten op:

Voorlopig verwijderen (soft delete) is standaard ingeschakeld, waardoor verwijderde objecten gedurende een bewaarperiode behouden blijven. Schakel beveiliging tegen opschonen (purge protection) in om onomkeerbare verwijdering binnen de bewaarperiode te voorkomen en om herstelgaranties af te dwingen (vaak een bewaarvereiste van 90 dagen). Combineer voorlopig verwijderen en beveiliging tegen opschonen om te voldoen aan strikte herstelbeleidsregels. Beveilig daarnaast de netwerktoegang tot de vault met private endpoints en schakel openbare netwerktoegang uit waar mogelijk.

Toegangsbeheer kan gebruikmaken van het verouderde vault-toegangsbeleid of Azure RBAC voor het datavlak. Toegangsbeleid wordt per vault geconfigureerd en kent expliciet machtigingen (Get, List, Set, Sign, Wrap) toe aan principals; ze worden niet overgeërfd en kunnen op grote schaal operationeel zwaar worden. Het RBAC-datavlakmodel gebruikt Azure-rollen (bijv. Key Vault Administrator, Key Vault Secrets Officer, Key Vault Secrets User, Key Vault Crypto Officer) en ondersteunt scoping op abonnements-, resourcegroep- of vault-niveau, met auditing geïntegreerd in Azure RBAC. Kies één model; als RBAC is ingeschakeld voor het datavlak, wordt het toegangsbeleid genegeerd. Operaties op het beheervlak (het aanmaken/bijwerken van de vault) gebruiken altijd Azure RBAC.

Integreer Key Vault met applicaties met behulp van Azure SDK’s (bijv. SecretClient, KeyClient, CertificateClient) en DefaultAzureCredential. Geef de voorkeur aan beheerde identiteiten voor authenticatie, vermijd het insluiten van referenties en implementeer beleid voor nieuwe pogingen (retry) en beperking (throttling) bij het aanroepen van de Vault API’s.

Azure Storage SAS en Opgeslagen Toegangsbeleid

Shared Access Signatures (SAS) delegeren fijnmazige, in de tijd beperkte toegang tot Azure Storage zonder accountsleutels bloot te geven:

SAS-tokens bevatten beperkingen zoals een vervaltijd (se), starttijd (st), permissies (sp), IP-bereiken (sip), toegestane protocollen (spr), ondertekende resource (sr) en, wanneer gekoppeld aan een opgeslagen toegangsbeleid, een ondertekende identifier (si). Volg het principe van minimale rechten (least privilege) door alleen de noodzakelijke permissies te verlenen, vervaltijden kort te houden en HTTPS af te dwingen (spr=https). Geef waar mogelijk de voorkeur aan een User Delegation SAS; gebruik anders een Service SAS met een opgeslagen toegangsbeleid voor intrekking.

Opgeslagen toegangsbeleid (stored access policies) bevindt zich op containers, file shares, queues of tables en definieert een herbruikbare set van beperkingen (permissies, start, vervaltijd). Verwijs bij het aanmaken van een SAS naar het beleid via de identifier. Dit maakt centrale intrekking of het aanscherpen van de scope mogelijk zonder alle SAS-tokens opnieuw te hoeven uitgeven; het bijwerken of verwijderen van het beleid heeft onmiddellijk effect op alle SAS-tokens die eraan gekoppeld zijn. Roteer accountsleutels regelmatig als Service of Account SAS wordt gebruikt, en monitor het gebruik via diagnostische instellingen en Azure Monitor-logs.

Praktijkscenario

Adobe is bezig met de uitrol van een multi-tenant mediaportaal op Azure. Klanten loggen in met hun eigen Microsoft Entra ID-tenants, uploaden grote mediabestanden rechtstreeks naar Blob storage en volgen de verwerkingsstatus. De oplossing moet het opslaan van secrets vermijden, permissies centraliseren en de herstelbaarheid van secrets garanderen voor ten minste 90 dagen.

  1. Registreer applicaties in Microsoft Entra ID:

    • Maak een SPA voor de portal-UI en een confidential client voor de backend-API. Stel API-scopes bloot voor gedelegeerde toegang en definieer app-rollen voor achtergrondtaken. Configureer de SPA om authorization code + PKCE te gebruiken met exacte redirect-URI’s. Dit zorgt ervoor dat elke client de juiste OAuth-flow volgt en dwingt grenzen af voor toestemming volgens het principe van minimale rechten.
  2. Implementeer MSAL in de SPA en backend:

    • De SPA verkrijgt tokens voor de backend-API met behulp van AcquireTokenInteractive/AcquireTokenSilent met incrementele toestemming. De backend gebruikt AcquireTokenOnBehalfOf om Microsoft Graph aan te roepen en het basisprofiel van de ingelogde gebruiker te lezen. Dit behoudt de gebruikerscontext end-to-end en minimaliseert prompts door middel van token caching.
  3. Activeer door het systeem toegewezen managed identities op App Service (API) en Azure Functions (media processors):

    • Wijs de rol Storage Blob Data Contributor toe op de mediacontainer en Key Vault Secrets User op de kluis. Managed identities elimineren de wildgroei van secrets en staan het platform toe om credentials automatisch te roteren, terwijl veilige toegang tot Storage en Key Vault via Azure RBAC mogelijk wordt gemaakt.
  4. Configureer Azure Key Vault met een RBAC-datavlak, soft delete en purge protection:

    • Sla ondertekeningscertificaten voor backend-assertion, API-sleutels van derden en eventuele verbindings-secrets op die niet door AAD kunnen worden vervangen. Dwing purge protection en soft delete af om herstelbaarheid voor 90 dagen te garanderen. RBAC vereenvoudigt audits en schaalt beter over omgevingen heen in vergelijking met toegangsbeleid per kluis.
  5. Gebruik Key Vault-referenties voor configuratie:

    • Verwijs naar secrets in de app-instellingen van App Service en Functions met @Microsoft.KeyVault(SecretUri=…). Het platform lost de waarden op en vernieuwt ze met de managed identity, waardoor codewijzigingen overbodig worden en wordt voorkomen dat secrets in platte tekst in de configuratie worden opgeslagen.
  6. Delegeer directe uploads vanuit de browser met SAS:

    • De backend geeft User Delegation SAS-tokens uit voor kortstondige, write-only toegang tot een specifiek blob-pad, beperkt door IP en HTTPS. Maak voor operationele batchtools een Service SAS die is gekoppeld aan een opgeslagen toegangsbeleid op de container, zodat tokens centraal kunnen worden ingetrokken door het beleid bij te werken of te verwijderen. Dit maakt client-uploads met hoge doorvoersnelheid mogelijk zonder accountsleutels bloot te geven en ondersteunt intrekking in noodgevallen.
  7. Integreer Microsoft Graph minimaal:

    • Vraag https://graph.microsoft.com/User.Read aan in de SPA voor profielweergave en gebruik https://graph.microsoft.com/.default in de backend indien applicatiepermissies vereist zijn (met voorafgaande toestemming van een beheerder). Het gebruik van /.default zorgt ervoor dat de backend centraal verleende applicatiepermissies respecteert en vermijdt het aanvragen van te veel scopes tijdens runtime.

Dit ontwerp gebruikt authorization code + PKCE om de SPA te beveiligen, OBO om de gebruikerscontext downstream te behouden, managed identities en RBAC om secrets te elimineren, Key Vault met sterke herstelgaranties, Key Vault-referenties voor configuratiehygiëne, Graph met scopes volgens het principe van minimale rechten, en SAS met opgeslagen toegangsbeleid voor veilige, intrekbare client-uploads.


Azure Containeroplossingen · Alle domeinen · Azure API Management

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 →

Blader door Microsoft →

Related guides

Alles-in-één toegang

Eén abonnement. Elk examen.

Elk plan ontgrendelt onbeperkt zoeken naar antwoorden, oefentests, AI-uitleg en de volledige bronnenbibliotheek — in meer dan 20 talen.

Maandelijks
24.87
Just €0.83/day
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

Beste waarde
12 maanden
179.87
Just €0.49/daySave 40%
Alles inbegrepen:
  • Onbeperkt zoeken naar antwoorden
  • Onbeperkte oefentests
  • AI-gestuurde uitleg
  • Volledige bronnenbibliotheek
  • 20+ talen
  • Wekelijkse contentupdates
  • Beloningen & verwijzingen
  • Prioriteitsondersteuning
Start gratis proefperiode

Geen creditcard vereist*

✓ Gratis plan inbegrepen · ✓ Annuleer op elk moment · ✓ Alle plannen ontgrendelen het volledige product