github.com/StackExchange/dnscontrol/v4@v4.11.0/documentation/provider/azure_private_dns.md (about) 1 ## Configuration 2 3 This provider is for the [Azure Private DNS Service](https://learn.microsoft.com/en-us/azure/dns/private-dns-overview). This provider can only manage Azure Private DNS zones and will not manage public Azure DNS zones. To use this provider, add an entry to `creds.json` with `TYPE` set to `AZURE_PRIVATE_DNS` 4 along with the API credentials. 5 6 Example: 7 8 {% code title="creds.json" %} 9 ```json 10 { 11 "azure_private_dns_main": { 12 "TYPE": "AZURE_PRIVATE_DNS", 13 "SubscriptionID": "AZURE_PRIVATE_SUBSCRIPTION_ID", 14 "ResourceGroup": "AZURE_PRIVATE_RESOURCE_GROUP", 15 "TenantID": "AZURE_PRIVATE_TENANT_ID", 16 "ClientID": "AZURE_PRIVATE_CLIENT_ID", 17 "ClientSecret": "AZURE_PRIVATE_CLIENT_SECRET" 18 } 19 } 20 ``` 21 {% endcode %} 22 23 You can also use environment variables: 24 25 ```shell 26 export AZURE_SUBSCRIPTION_ID=XXXXXXXXX 27 export AZURE_RESOURCE_GROUP=YYYYYYYYY 28 export AZURE_TENANT_ID=ZZZZZZZZ 29 export AZURE_CLIENT_ID=AAAAAAAAA 30 export AZURE_CLIENT_SECRET=BBBBBBBBB 31 ``` 32 33 {% code title="creds.json" %} 34 ```json 35 { 36 "azure_private_dns_main": { 37 "TYPE": "AZURE_PRIVATE_DNS", 38 "SubscriptionID": "$AZURE_PRIVATE_SUBSCRIPTION_ID", 39 "ResourceGroup": "$AZURE_PRIVATE_RESOURCE_GROUP", 40 "ClientID": "$AZURE_PRIVATE_CLIENT_ID", 41 "TenantID": "$AZURE_PRIVATE_TENANT_ID", 42 "ClientSecret": "$AZURE_PRIVATE_CLIENT_SECRET" 43 } 44 } 45 ``` 46 {% endcode %} 47 48 ## Metadata 49 This provider does not recognize any special metadata fields unique to Azure Private DNS. 50 51 ## Usage 52 An example configuration: 53 54 {% code title="dnsconfig.js" %} 55 ```javascript 56 var REG_NONE = NewRegistrar("none"); 57 var DSP_AZURE_PRIVATE_MAIN = NewDnsProvider("azure_private_dns_main"); 58 59 D("example.com", REG_NONE, DnsProvider(DSP_AZURE_PRIVATE_MAIN), 60 A("test", "1.2.3.4"), 61 END); 62 ``` 63 {% endcode %} 64 65 ## Activation 66 DNSControl depends on a standard [Client credentials Authentication](https://docs.microsoft.com/en-us/cli/azure/create-an-azure-service-principal-azure-cli?view=azure-cli-latest) with permission to list, create and update private zones. 67 68 ## New domains 69 70 If a domain does not exist in your Azure account, DNSControl will *not* automatically add it with the `push` command. You can do that manually via the control panel. 71 72 ## Caveats 73 74 The ResourceGroup is case sensitive.