Deploy ARM templates from Azure Cloud Shell
You can use Azure Cloud Shell to deploy an Azure Resource Manager template (ARM template). You can deploy either an ARM template that is stored remotely, or an ARM template that is stored on the local storage account for Cloud Shell.
You can deploy to any scope. This article shows deploying to a resource group.
Required permissions
To deploy a Bicep file or ARM template, you need write access on the resources you're deploying and access to all operations on the Microsoft.Resources/deployments resource type. For example, to deploy a virtual machine, you need Microsoft.Compute/virtualMachines/write
and Microsoft.Resources/deployments/*
permissions. The what-if operation has the same permission requirements.
For a list of roles and permissions, see Azure built-in roles.
Deploy remote template
To deploy an external template, provide the URI of the template exactly as you would for any external deployment. The external template could be in a GitHub repository or and an external storage account.
Open the Cloud Shell prompt.
To deploy the template, use the following commands:
az group create --name ExampleGroup --location "Central US" az deployment group create \ --name ExampleDeployment \ --resource-group ExampleGroup \ --template-uri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/quickstarts/microsoft.storage/storage-account-create/azuredeploy.json" \ --parameters storageAccountType=Standard_GRS
Deploy local template
To deploy a local template, you must first upload your template to the storage account that is connected to your Cloud Shell session.
Sign in to the Cloud Shell.
Select either PowerShell or Bash.
Select Upload/Download files, and then select Upload.
Select the ARM template you want to upload, and then select Open.
To deploy the template, use the following commands:
az group create --name ExampleGroup --location "South Central US" az deployment group create \ --resource-group ExampleGroup \ --template-file azuredeploy.json \ --parameters storageAccountType=Standard_GRS
Next steps
- For more information about deployment commands, see Deploy resources with ARM templates and Azure CLI and Deploy resources with ARM templates and Azure PowerShell.
- To preview changes before deploying a template, see ARM template deployment what-if operation.