Azure Key Vault Properties Provider 2.1 Reference | MuleSoft Documentation
# Azure Key Vault Properties Provider 2.1 Reference
Azure Key Vault Properties Provider is a configuration that enables you to retrieve your secrets from a secure Azure cloud service before your Mule app runs.
## Configuration
Default Configuration for Azure Key Vault Properties Provider.
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name.  
Client ID of your app. If not set, the properties provider uses the Azure SDK default authentication and looks for this value in the environment variable `AZURE_CLIENT_ID`. Note: `tenantId`, `clientId`, and `clientSecret` must be set together if specified in the configuration.  
Tenant ID of your app. If not set, the properties provider uses the Azure SDK default authentication and looks for this value in the environment variable `AZURE_TENANT_ID`. Note: `tenantId`, `clientId`, and `clientSecret` must be set together if specified in the configuration.  
**Client Secret** |  Client secret of your app. If not set, the properties provider uses the Azure SDK default authentication and looks for this value in the environment variable `AZURE_CLIENT_SECRET`. Note: `tenantId`, `clientId`, and `clientSecret` must be set together if specified in the configuration.  
**Key Vault Name** |  Name of the vault to connect. If not set, the properties provider uses the system property `MULE_AZURE_KEY_VAULT_NAME`.  
**Uri Override** |  The URI override for the key vault.  
## Requirements
Add the following repository and its associated credentials in the Maven settings:
```
<repository>
     <id>MuleRepository2</id>
     <name>MuleRepository2</name>
     <url>https://repository.mulesoft.org/nexus/content/repositories/releases-ee/</url>
     <layout>default</layout>
     <releases>
      <enabled>true</enabled>
     </releases>
     <snapshots>
      <enabled>true</enabled>
     </snapshots>
</repository>
```

## Limitations
Azure Key Vault Properties Provider doesn’t support the use of property files for the configuration of the properties provider.
## Environment Variables
Use the following environment variables to configure the behavior of the Azure Key Vault Properties Provider from the environment instead of specifying parameters in the Mule app configuration:
  * `AZURE_CLIENT_ID`
  * `AZURE_CLIENT_SECRET`
  * `AZURE_TENANT_ID`
  * `MULE_AZURE_KEY_VAULT_NAME`


These variables are stored in secure configuration files with the values encrypted. During execution, the runtime decrypts these values and they remain in memory in their decrypted state. For more information, refer to Protecting App Property Values.
### Authenticate Through Environment Variables
To authenticate to Azure Key Vault using environment variables, set the following environment variables:
  * `AZURE_CLIENT_ID`
  * `AZURE_CLIENT_SECRET`
  * `AZURE_TENANT_ID`


Refer to Setting Environment Variables for details.
If you do not set the `tenantId`, `clientId`, or `clientSecret` attributes in the configuration, the properties provider uses the values from the environment variables.
In the XML configuration, you can omit the attributes if you use environment variables:
```
<!-- Configuration using environment variables for tenantId, clientId and clientSecret -->
<azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"
  keyVaultName="connectors-vault"/>
```

### Configure Key Vault Name Through Environment Variables
If you do not set the `keyVaultName` attribute, the properties provider uses the system property `MULE_AZURE_KEY_VAULT_NAME`:
```
<!-- Configuration using environment variables for tenantId, clientId, clientSecret, and keyVaultName -->
<azure-key-vault-properties-provider:config name="Azure_Key_Vault_Properties_Provider_Config"/>
```

If neither is set, the properties providers throws a `RuntimeException` message.
## See Also
  * Introduction to Anypoint Connectors
  * MuleSoft Help Center