De uitbreiding van Entra met Bicep

Inhoudsopgave

Autogenerated index

Op 21 mei 2024 kwam de openbare preview van Bicep-sjablonen voor Microsoft Graph-resources uit. Medio 2025 is het general available geworden. Bicep maakt het mogelijk - door middel van het schrijven van Infrastructure as Code (IaC) - om Azure resources aan te maken. In eerste instantie zal de Entra-extensie beschikbaar zijn voor core Microsoft Entra ID resources. Met Microsoft Entra beveilig je toegang tot je IT-infrastructuur, door het verifiëren van identities en het beheren van machtigingen en toegang. We duiken in de voordelen en mogelijkheden van deze Entra-extentie met Bicep.

Wat is Bicep?

Met Bicep is een ontwikkelaar in staat om declaratieve Infrastructure as Code-bestanden te creëren. In deze bestanden wordt opgenomen wat je wil dat er binnen de Azure Cloud bestaat of gebeurt. Zonder in te gaan op hóe dit wordt gerealiseerd. Met declaratieve of verklarende technologieën bedoelen we dan ook dat je je code zó schrijft dat je beschrijft wat je wil doen, en niet hoé je het wil doen.

Hoe vaak je dezelfde Bicep ook uitvoert, de state van je Cloudomgeving verandert niet ten opzichte van de eerste keer dat deze is uitgevoerd. Dit noemen we “idempotent”. Wanneer een Bicep-bestand is ontwikkeld, wordt dat bestand achter de schermen getranspileerd naar een ARM JSON-template bestand. Hierdoor begrijpt de Azure Resource Manager (ARM) wat voor state je op Azure zou willen bereiken.

Voordelen van Bicep

Het voordeel van Bicep-bestanden is dat je alleen bepaalt wat je als eindresultaat in Azure wil zien. Je hoeft je dus in principe niet druk te maken om de huidige situatie van de omgeving. Je kunt namelijk een modus aanzetten waarmee alles wat niét in Bicep is gespecificeerd, wordt verwijderd. Dit is de Complete mode. Aan de andere kant: als de resource al bestaat, gebeurt er niks. Wanneer het nog niet bestaat, wordt het gecreëerd vanuit de ARM in de Cloud. Bestaat de resource al maar komt de configuratie niet overeen, dan worden de nodige aanpassingen doorgevoerd.

Daarmee is Bicep een domein-specifieke programmeertaal (DSL) die intuïtief en goed te lezen is, in tegenstelling tot bijvoorbeeld JSON. We zien het vaak terug in DevOps, CI/CD en Infrastructure as Code.

Bicep vs. Terraform: welke organisatie gebruikt wat?

Net als Bicep is Terraform een Desired State Configuration (DSC) tool. Dit betekent dat de ontwikkeling van Infrastructure As Code effectief beheerd kan worden. Voor organisaties die primair op Azure gericht zijn, wordt vaak Bicep gebruikt. Vooral wanneer ze gemotiveerd zijn om declaratieve technologieën toe te passen en Infrastructure as Code te gebruiken in hun CI/CD-pipelines.

Voor multi-cloud organisatie geldt dat Terraform vaak wordt gebruikt. Dit heeft te maken met het feit dat Terraform de mogelijkheid biedt om voor meerdere cloud-providers in dezelfde code-base Infrastructure as Code te schrijven. Bicep ondersteunt dit niet. Het is en blijft namelijk ontwikkeld voor alleen Azure.

De Entra-Bicep integratie 

Als je rekening houdt met de typen resources die je in Azure ontwikkeld of gaat ontwikkelen, zou je dat aan een Group toevoegen of deze manipuleren. Dit geldt ook voor het toewijzen van rollen. Denk aan een Service Principle, Managed Identity of Federated Identity. Vóór de Entra-integratie gold overigens dat het werk vanuit Bicep via een deployment engine wordt verplaatst naar JSON en zo naar ARM gaat. ARM ondersteunt echter alleen Azure resources, niet Entra ID resources, waardoor developers aparte tooling (zoals deployment scripts of Graph calls) nodig hadden.

Om beroep te doen op de voordelen van de Entra-integratie, gebruik je de Microsoft Graph API waar je via https kunt communiceren met Microsoft 365, Dynamics 365 en Windows-services en natuurlijk Entra ID. Als onderdeel van de Entra-Bicep integratie is er een Microsoft Graph Bicep Extension uitgerold. Dit is te benaderen via extension microsoftGraph in je file. Dit maakt het mogelijk om binnen je Bicep-bestand een Graph resource te bouwen. De Graph resource wordt doorgestuurd naar de extension, wat dit vervolgens doorzet naar de Microsoft Graph API. Microsoft Graph API kan op haar beurt communiceren met Entra. Volgen we hem nog?

Uitbreidingen binnen de Entra-Bicep integratie

Sinds de introductie van de Microsoft Graph Bicep Extension is de integratie doorontwikkeld richting productiegebruik. Identity-resources kunnen inmiddels volledig onderdeel worden van dezelfde infrastructuurdefinitie als Azure-resources. 

Een belangrijke verandering is dat de oorspronkelijke extensibility-configuratie is vervangen door dynamic types via de Microsoft Artifact Registry. Dit maakt versiebeheer en integratie in CI/CD-processen beter beheersbaar. Daarnaast is de ondersteuning voor relaties tussen objecten uitgebreid, zoals het beheren van group members, owners en rechten, direct vanuit de Bicep-template. Ook is er ondersteuning voor zowel v1.0 als beta varianten van de Microsoft Graph API, waardoor er flexibiliteit ontstaat tussen stabiliteit en innovatie. Hiermee wordt identity management steeds meer een vast onderdeel van een consistente Infrastructure as Code-aanpak.

Welke objecten ondersteunt Entra?

Op dezelfde manier als waarop ARM-resources worden verklaard, kan je ook Microsoft Graphs definiëren. Dit wordt echter door weinig objecten ondersteund. Omdat het veel inspanning kost om de Upsert en Alternate (Alt) Key Pattern te ondersteunen die de connectie tussen Microsoft Graph Bicep Extension en Microsoft Graph API realiseert. Een belangrijk vereiste om met de Entra-uitbreiding te werken, vanwege de declaratieve aard, is dat Bicep in staat moet zijn om met specifieke objecten te kunnen werken. Om te kunnen communiceren met Entra.

In de documentatie van Microsoft Graph check je welke objecten Upsert ondersteunen. Daarnaast kan je daar ook nagaan, in Group - Properties, of de groep gebruikt kan worden als alternate key.

Ondersteunde objecten op basis van Microsoft Graph Bicep v1.0 reference

  • Applications;
  • Federated identity credentials;
  • App role assignments;
  • Groups;
  • Oauth2 permission grants;
  • Service Principal;
  • User;
  • Relationship handling.

Conclusie

Met de komst van de Microsoft Graph Bicep integratie is het mogelijk om Entra ID-resources beschrijvend te beheren binnen dezelfde IaC-aanpak als Azure-resources. Waar eerst aparte scripts en tooling nodig waren, kunnen identity-objecten nu onderdeel zijn van één deploymentproces. Sinds de GA-release in 2025 is deze integratie geschikt voor productiegebruik en uitgebreid met ondersteuning voor relaties (zoals group members en owners), versiebeheer via dynamic types en integratie met zowel v1.0 als beta Graph API’s. De ondersteuning blijft gericht op resources die idempotent en beschrijvend te beheren zijn, waardoor niet alle Graph-objecten beschikbaar zijn.

About the author

Met een mix van inzet, humor en teamspirit zorgt Bram als software consultant voor uitstekende IT-oplossingen én een toffe playlist.

inn it together

get inn touch

Stuur ons een bericht en we zorgen ervoor dat de Innvolver die het beste bij jouw vraag past snel contact met je opneemt.

Gerelateerd

01

/

06

/

2026

Cloud

Van on-prem naar Azure: hoe Marc Valk klanten laat landen in de cloud

13

/

05

/

2026

Cloud

Cloud Administrator bij Innvolve: techniek, dynamiek en persoonlijke groei

20

/

08

/

2025

Cloud

Azure OpenAI: AI in je Microsoft-omgeving

bekijk alle artikelen
bekijk alle artikelen