Skip to main content
To deploy the using the ARM template, Azure permissions are required as described in this article. You may require input from your organization’s cloud administrator for access and permissions. The following list summarizes the permissions required:
  • Resource Group
    • Contributor or Owner role to create and manage resource groups.
  • Virtual Network
    • Network Contributor role to create and manage virtual networks and subnets.
  • Key Vault
    • Key Vault Contributor role to create key vaults.
    • Key Vault Secrets User role for the agent’s managed identity to list and get secret values.
    • Key Vault Administrator or Key Vault Secrets Officer role for other users to list and edit key vault secrets if the ARM template creates the key vault.
  • Managed Identity
    • Managed Identity Contributor role to create and manage managed identities.
  • Container App
    • Container App Contributor role to deploy and manage container apps.
  • Log Analytics Workspace
    • Log Analytics Contributor role to create and manage log analytics workspaces.
  • General Permissions
    • Contributor or Owner role on the subscription to manage overall resources and permissions.

Deploying resources

The ARM template creates or edits multiple different resources, and the user will need roles capable of deploying these specific resources, as well as the correct role to deploy an ARM template. These resources are: To create the necessary resources, you will need the following permissions:

Fine-grained permissions

These are the fine-grained permissions that are required for using the ARM template. These could be added to a custom role that is then conferred to a user to allow them to deploy the template. For more information, read Azure permissions in the Azure documentation.

Deployments (microsoft.resources/deployments)

Container app (microsoft.app/containerapps)

Managed environments (microsoft.app/managedenvironments)

Virtual network (microsoft.networking/virtualnetworks)

Key vault (microsoft.keyvault/vaults)

Managed identity (Microsoft.ManagedIdentity/userAssignedIdentities)

Role assignments (Microsoft.Authorization/roleAssignments)

Log analytics (Microsoft.OperationalInsights/workspaces)


Built-in roles

There is an Azure built-in role that will enable the user to deploy the template. This has a wider level of access than is required by the template, so you may prefer to create your own custom role with the fine-grained permissions described above. For more information, read Azure built-in role in the Azure documentation.

Custom role example

This is an example of a custom role that could be created to reduce the scope of permissions required to deploy the template.