Authenticate Terraform to Azure
Terraform enables the definition, preview, and deployment of cloud infrastructure. Using Terraform, you create configuration files using HCL syntax. The HCL syntax allows you to specify the cloud provider - such as Azure - and the elements that make up your cloud infrastructure. After you create your configuration files, you create an execution plan that allows you to preview your infrastructure changes before they're deployed. Once you verify the changes, you apply the execution plan to deploy the infrastructure.
To use Terraform commands against your Azure subscription, you must first authenticate Terraform to that subscription. This article covers some common scenarios for authenticating to Azure.
In this article, you learn how to:
- See a list of available authentication methods.
- Select select and authentication method.
- Verify that you're authenticated.
1. Configure your environment
- Azure subscription: If you don't have an Azure subscription, create a free account before you begin.
Configure Terraform: If you haven't already done so, configure Terraform using one of the following options:
2. Authenticate Terraform to Azure
Terraform only supports authenticating to Azure with the Azure CLI. Authenticating using Azure PowerShell isn't supported. Therefore, while you can use the Azure PowerShell module when doing your Terraform work, you first need to authenticate to Azure using the Azure CLI.
- Authenticate with a Microsoft account using Cloud Shell (with Bash or PowerShell)
- Authenticate with a Microsoft account using Windows (with Bash or PowerShell)
- Authenticate with a service principal
- Authenticate with a managed identity for Azure services
3. Verify the results
Verify that you've authenticated to the Azure subscription by displaying the current subscription.
To confirm the current Azure subscription with the Azure CLI, run az account show.
az account show