
Azure is an ecosystem full of constants, identifiers, IDs or role definitions. Unfortunately, ARM and Bicep do not provide as much support as they could.
So you have to become active yourself, as bitter as it sounds.
Json Files
Bicep allows via loadJsonContent
the possibility to use the contents of Json files to make them available in Bicep.
So if I want to access a RoleID, I can store it flat in a json.
1// roleids.json
2{
3 "Contributor": "b24988ac-6180-42a0-ab88-20f7382dd24c",
4}
This can now be loaded and used.
1var roleIds = loadJsonContent('../roleids.json')
2
3module rbac 'services/rbac.bicep' = {
4 name: 'appconfig-rbac-${envName}'
5 params: {
6 appConfigName: appConfig.outputs.name
7 roleId: roleIds.Contributor
8 type: 'ServicePrincipal'
9 }
10}
Module Outputs
The alternative is to declare a separate module with static outputs.
1output Contributor string = 'b24988ac-6180-42a0-ab88-20f7382dd24c'
This module can now be called.
1module roleConstants './services/builtInRoles.bicep' = {
2 name: 'roleConstants-${envName}'
3}
And be addressed as a module in Bicep as usual
1
2module rbac 'services/rbac.bicep' = {
3 name: 'appconfig-rbac-${envName}'
4 params: {
5 appConfigName: appConfig.outputs.name
6 roleId: roleConstants.outputs.Contributor
7 type: 'ServicePrincipal'
8 }
9}
As can be seen: Simplifications are possible.
But I agree with all the people who say that this should have been implemented by Microsoft instead of everyone having to do it themselves.
But maybe that will come - eventually.
Related articles

Aug 29, 2025 · 4 min read
Provision Microsoft Fabric with Azure Bicep
Overview Microsoft Fabric consolidates analytics workloads (including Power BI) on a tenant-wide capacity. These Fabric capacities (SKUs …

Jan 28, 2025 · 1 min read
Easy handling of optional Azure Web App settings in Bicep
Often you don’t need all the configurations of an app per stage; sometimes they are optional. This is often the case for the …
Let's Work Together
Looking for an experienced Platform Architect or Engineer for your next project? Whether it's cloud migration, platform modernization or building new solutions from scratch - I'm here to help you succeed.

Comments