Framework/Configurations/SVT/SampleARMTemplates/SQLDatabaseTemplate_ARM.json
{
"$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "serverName": { "type": "string", "metadata": { "description": "The name of the new database server to create." } }, "serverLocation": { "type": "string", "metadata": { "description": "The location of the database server." } }, "administratorLogin": { "type": "string", "metadata": { "description": "The account name to use for the database server administrator." } }, "administratorLoginPassword": { "type": "securestring", "metadata": { "description": "The password to use for the database server administrator." } }, "databaseName": { "type": "string", "metadata": { "description": "The name of the new database to create." } }, "collation": { "type": "string", "defaultValue": "SQL_Latin1_General_CP1_CI_AS", "metadata": { "description": "The database collation for governing the proper use of characters." } }, "edition": { "type": "string", "defaultValue": "Basic", "metadata": { "description": "The type of database to create. The available options are: Web, Business, Basic, Standard, and Premium." } }, "maxSizeBytes": { "type": "string", "defaultValue": "1073741824", "metadata": { "description": "The maximum size, in bytes, for the database" } }, "requestedServiceObjectiveName": { "type": "string", "defaultValue": "Basic", "metadata": { "description": "The name corresponding to the performance level for edition. The available options are: Shared, Basic, S0, S1, S2, S3, P1, P2, and P3." } }, "storageAccountName": { "type": "string", "metadata": { "description": "The name of the new storage account to create." } }, "emailAddresses": { "type": "string", "metadata": { "description": "Email address for alerts." } }, "AAD Admin Login": { "type": "String" }, "AAD Admin ObjectID": { "type": "String" }, "AAD TenantId": { "type": "String" }, "storageEndpoint": { "type": "string", "defaultValue": "[concat('https://',parameters('storageAccountName'),'.blob.core.windows.net')]" }, "storageType": { "type": "string", "defaultValue": "Standard_GRS", "allowedValues": [ "Standard_LRS", "Standard_ZRS", "Standard_GRS", "Standard_RAGRS", "Premium_LRS" ] } }, "resources": [ { "name": "[parameters('serverName')]", "type": "Microsoft.Sql/servers", "location": "[parameters('serverLocation')]", "apiVersion": "2014-04-01-preview", "properties": { "administratorLogin": "[parameters('administratorLogin')]", "administratorLoginPassword": "[parameters('administratorLoginPassword')]", "version": "12.0" }, "resources": [ { "name": "[parameters('databaseName')]", "type": "databases", "location": "[parameters('serverLocation')]", "apiVersion": "2014-04-01-preview", "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]" ], "properties": { "edition": "[parameters('edition')]", "collation": "[parameters('collation')]", "maxSizeBytes": "[parameters('maxSizeBytes')]", "requestedServiceObjectiveName": "[parameters('requestedServiceObjectiveName')]" }, "resources": [ { "name": "current", "type": "transparentDataEncryption", "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]", "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/databases/',parameters('databaseName'))]" ], "location": null, "apiVersion": "2014-04-01-preview", "properties": { "status": "Enabled" } }, { "apiVersion": "2015-05-01-preview", "type": "auditingSettings",//Enable Logging and Monitoring with Storage Endpoint and Access Key and auditActionsAndGroups "name": "Default", "location": "[parameters('serverLocation')]", "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]", "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/databases/',parameters('databaseName'))]" ], "properties": { "State": "Enabled",//Enable Logging and Monitoring with Storage Endpoint and Access Key and auditActionsAndGroups "storageEndpoint": "[parameters('storageEndpoint')]", "storageAccountAccessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]", "retentionDays": 0, "auditActionsAndGroups": [ "SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP", "DATABASE_LOGOUT_GROUP", "USER_CHANGE_PASSWORD_GROUP" ], "storageAccountSubscriptionId": "[subscription().subscriptionId]", "isStorageSecondaryKeyInUse": false } } ] }, { "apiVersion": "2014-04-01-preview", "type": "firewallrules", "location": "[parameters('serverLocation')]", "name": "AllowAllWindowsAzureIps", "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]" ], "properties": { "endIpAddress": "0.0.0.0", "startIpAddress": "0.0.0.0" } }, { "apiVersion": "2015-05-01-preview",//Azure_SQLDatabase_Audit_Enable_Logging_and_Monitoring "type": "auditingSettings",//Enable Logging and Monitoring with Storage Endpoint and Access Key "name": "Default", "location": "[parameters('serverLocation')]", "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]" ], "properties": { "State": "Enabled",//Enable Logging and Monitoring with Storage Endpoint and Access Key "storageEndpoint": "[parameters('storageEndpoint')]", "storageAccountAccessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]", "retentionDays": 0, "auditActionsAndGroups": null, "storageAccountSubscriptionId": "[subscription().subscriptionId]", "isStorageSecondaryKeyInUse": false } }, { "apiVersion": "2015-05-01-preview",//Azure_SQLDatabase_Audit_Enable_Threat_Detection "type": "securityAlertPolicies",//Enable Threat Detection : Need to paas email address to enable it "name": "Default", "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]", "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/databases/',parameters('databaseName'))]", "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/auditingSettings/Default')]" ], "properties": { "state": "Enabled",//Enable Threat Detection : Need to paas email address to enable it "disabledAlerts": "", "emailAddresses": "[parameters('emailAddresses')]", "emailAccountAdmins": "Enabled", "storageEndpoint": "[parameters('storageEndpoint')]", "storageAccountAccessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]", "retentionDays": 0 } }, { "type": "administrators",//Azure_SQLDatabase_AuthZ_Use_AAD_Admin "name": "activeDirectory",//Azure SQLDatabase ActiveDirectory Admin Rule "apiVersion": "2014-04-01-preview", "location": "[parameters('serverLocation')]", "properties": { "administratorType": "ActiveDirectory", "login": "[parameters('AAD Admin Login')]", "sid": "[parameters('AAD Admin ObjectID')]", "tenantId": "[parameters('AAD TenantID')]" }, "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]", "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/databases/',parameters('databaseName'))]", "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/auditingSettings/Default')]" ] } ] } ], "outputs": { } } |