尝试使用ARM模板自动化Azure部署 [英] Trying to automate Azure deployment using ARM Templates

查看:112
本文介绍了尝试使用ARM模板自动化Azure部署的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的专家,


我正在尝试从ARM模板自动化SQL数据库部署,我尝试在修改后将两个模板组合在一起。


这适用于在同一模板中包含审核和高级威胁检测。我使用了可用的快速启动模板。但是,我在其中一个步骤中不断收到一个错误的请求错误。你能帮忙吗?这是与高级
威胁检测相关的步骤。 (代码中的最后一部分)。该代码与 " storageContainerPath"相关联。和"storageAccountAccessKey"以及与"漏洞评估"相关的部分。你可以帮忙修改代码吗?

{

  " $ schema":" http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#" ;,

  "contentVersion":" 1.0.0.0",$
  "参数":{
$
    " serverName":{

      "type":" string",&
      " defaultValue":" yourservername",&b $ b      "元数据":{

        "description":"要创建的新数据库服务器的名称。"&
      }
    },...
    "serverLocation":{

      "type":" string",&
      " defaultValue":" West Europe",
      "元数据":{

        "description":"数据库服务器的位置"。"
      }
    },...
    "administratorLogin":{

      "type":" string",&
      " defaultValue":" VeryWiseAdmin",&
      "元数据":{

        "description":"用于数据库服务器管理员的帐户名称。"&
      }
    },...
    "administratorLoginPassword":{

      " type":" securestring",&
      " defaultValue":" password",&b $ b      "元数据":{

        "description":"用于数据库服务器管理员的密码。"

      }
    },...
    "databaseName":{

      "type":" string",&
      " defaultValue":" dbname",

      "元数据":{

        " description" ;:"要创建的新数据库的名称。"&b $ b      }
    },...
    "整理":{

      "type":" string",&
      " defaultValue" ;:\"SQL_Latin1_General_CP1_CI_AS&\",,,
      "元数据":{

        "description":"用于管理正确使用字符的数据库排序规则"。

      }
    },...
    "edition":{

      "type":" string",&
      " defaultValue":" Basic",&
      "元数据":{

        "description":"要创建的数据库类型。可用选项包括:Web,Business,Basic,Standard和Premium。" b
      }
    },b $ b            "emailAddresses":{

            "type":" array",
            " defaultValue":[

                " user1@example.com"               " user2@example.com"

            ],$
            "元数据":{

                "描述":"用于接收提醒和扫描报告的电子邮件地址"和"b $ b            }
        },b $ b            " emailAdmins":{

            "type":" bool",
            " defaultValue":true,

            "元数据":{

                "描述":"电子邮件服务和共同管理员"
$
            }
        },...
    " maxSizeBytes":{

      "type":" string",&
      " defaultValue":" 1073741824",&b $ b      "元数据":{

        "description":"数据库的最大大小(以字节为单位)"


      }
    },...
    "requestedServiceObjectiveName":{

      "type":" string",&
      " defaultValue":" Basic",&
      "元数据":{

        "description":"与编辑性能级别对应的名称。可用选项包括:共享,基本,S0,S1,S2,S3,P1,P2和P3。"
$
      }
    },...
    " storageAccountName":{

      "type":" string",&
      " defaultValue":" storageaccountname"

    },...
    "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"

      ]¥b $ b    }¥b $ b  },b $ b  "变量":{

        ""serverName":"[toLower(parameters('serverName'))]",
        "emailAddresses":" [parameters('emailAddresses')]"
$
    },b $ b  "资源":[

    {

      " name":" [parameters('storageAccountName')]",

      " type" ;:\"Microsoft.Storage/storageAccounts" ;,

      "location":" [parameters('serverLocation')]",
      "apiVersion":" 2015-06-15",&b $ b      "dependsOn":[" [concat('Microsoft.Sql / servers /',parameters('serverName'))]" ],$
      "properties":{

        " accountType":" [parameters('storageType')]"

      }
    },...
    {

      " 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"

      },...
      "资源":[

        {

          " name":"[parameters('databaseName')]",$
          "type":""数据库","
          "location":" [parameters('serverLocation')]",
          "apiVersion":" 2014-04-01-preview",&
          "dependsOn":[

            " [concat('Microsoft.Sql / servers /',parameters('serverName'))]"

          ],&
          "properties":{

            "edition":" [parameters('edition')]",
            "collat​​ion":" [parameters('collat​​ion')]",
            " maxSizeBytes":" [parameters('maxSizeBytes')]",
            "requestedServiceObjectiveName":" [parameters('requestedServiceObjectiveName')]"

          },...
          "资源":[

            {

              " apiVersion" ;:" 2015年5月1日,预览和QUOT ;,

              "type""" auditingSettings",
              "姓名":""默认",&
              "位置" ;:" [参数( 'serverLocation')]" ;,

               "dependsOn":[

                " [concat('Microsoft.Sql / servers /',parameters('serverName'))]",$
          ;       " [concat('Microsoft.Sql / servers /',parameters('serverName'),'/ databases /',parameters('databaseName'))]",

                 " [concat('Microsoft.Storage/storageAccounts /',parameters('storageAccountName'))]"

               ],&
              "properties":{

                "状态" ;:"启用" ;,

                " 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" ;:" [订阅()subscriptionId。] QUOT ;,

            &NBSP ;   " isStorageSecondaryKeyInUse" ;:假

              }
            }
          ]¥b $ b        },$
        {

          "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",&
          "type""" auditingSettings",
          "name":""Default",&
          "location":" [parameters('serverLocation')]",
          "dependsOn":[

            " [concat('Microsoft.Sql / servers /',parameters('serverName'))]",$
          ;   " [concat('Microsoft.Storage/storageAccounts /',parameters('storageAccountName'))]"

          ],&
          "properties":{

            "州":"已启用","
            " storageEndpoint" ;:" [参数(" storageEndpoint")]" ;,

            " storageAccountAccessKey":" [listKeys(resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountName')),providers('Microsoft.Storage','storageAccounts')。apiVersions [0])。keys [0 ] .value]",

            "retentionDays":0,

            " auditActionsAndGroups" ;: null,b $ b            " storageAccountSubscriptionId"" [subscription()。subscriptionId]",
            " isStorageSecondaryKeyInUse":false

          }
        },b $ b         {

                    " apiVersion" ;:" 2017年3月1日,预览和QUOT ;,

                     "类型" ;:" securityAlertPolicies" ;,

                     "name"":"DefaultAtpTemplate",&
                     " dependsOn" ;: [

                         " [变量( 'SERVERNAME')]"

                     ],

                    "properties":{

                         "状态" ;:"启用" ;,

                         "emailAddresses":" [variables('emailAddresses')]",
                         " emailAccountAdmins" ;:" [参数( 'emailAdmins')]"

            &NBSP ;       }
         },...
          {

                    "名称" ;:" DefaultAtpTemplate" ;,

                     "类型" ;:" vulnerabilityAssessments" ;,

                     "apiVersion":" 2018-06-01-preview",
                     " dependsOn" ;: [

                         " [变量( 'SERVERNAME')]" ;,

              &NBSP ;         " [concat('Microsoft.Storage/storageAccounts/',parameters('storageAccountName'))]"

                     ],

                    "properties":{

                       " storageContainerPath" ;:" [CONCAT(参考(RESOURCEID( 'Microsoft.Storage/storageAccounts',参数( 'storageAccountName'))),
'漏洞评估')]" ;,

                    " storageAccountAccessKey":" [listKeys(resourceId('Microsoft.Storage/storageAccounts',parameters('storageAccountName')),providers('Microsoft.Storage',
'storageAccounts')。apiVersions [0]) .keys [0]。价值] QUOT ;,

               &NBSP ;        " recurringScans" ;: {

                             "的IsEnabled" ;:真,

                 &NBSP ;          " emailSubscriptionAdmins" ;:" [参数( 'emailAdmins')]" ;,

                             "电子邮件":" [variables('emailAddresses')]",
                             " storageAccountSubscriptionId" ;:" [订阅()subscriptionId。] QUOT ;,

            &NBSP ;               " isStorageSecondaryKeyInUse":false

                         }

                    }
                }

解决方案

请发布完整的错误消息


hth

Marcin


Dear Experts,

I am trying to automate SQL DB deployment from ARM templates and I tried to club two templates together after modifying.

This is for including auditing and advanced threat detection in the same template. I used the quick start templates that are available. However, I keep getting one bad request error in one of the steps. Can you please help. That is the step related to advanced threat detection. (The last section in the code). The code is related to the "storageContainerPath" and "storageAccountAccessKey and section related to "vulnerability-assessment". Can you please help in fixing the code?

{
  "$schema": "http://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "serverName": {
      "type": "string",
      "defaultValue": "yourservername",
      "metadata": {
        "description": "The name of the new database server to create."
      }
    },
    "serverLocation": {
      "type": "string",
      "defaultValue": "West Europe",
      "metadata": {
        "description": "The location of the database server."
      }
    },
    "administratorLogin": {
      "type": "string",
      "defaultValue": "VeryWiseAdmin",
      "metadata": {
        "description": "The account name to use for the database server administrator."
      }
    },
    "administratorLoginPassword": {
      "type": "securestring",
      "defaultValue": "password",
      "metadata": {
        "description": "The password to use for the database server administrator."
      }
    },
    "databaseName": {
      "type": "string",
      "defaultValue": "dbname",
      "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."
      }
    },
            "emailAddresses": {
            "type": "array",
            "defaultValue": [
                "user1@example.com",
                "user2@example.com"
            ],
            "metadata": {
                "description": "Email addresses to receive alerts and scan reports"
            }
        },
            "emailAdmins": {
            "type": "bool",
            "defaultValue": true,
            "metadata": {
                "description": "Email service and co-administrators"
            }
        },
    "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",
      "defaultValue": "storageaccountname"
    },
    "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"
      ]
    }
  },
  "variables": {
        "serverName": "[toLower(parameters('serverName'))]",
        "emailAddresses": "[parameters('emailAddresses')]"
    },
  "resources": [
    {
      "name": "[parameters('storageAccountName')]",
      "type": "Microsoft.Storage/storageAccounts",
      "location": "[parameters('serverLocation')]",
      "apiVersion": "2015-06-15",
      "dependsOn": [ "[concat('Microsoft.Sql/servers/', parameters('serverName'))]" ],
      "properties": {
        "accountType": "[parameters('storageType')]"
      }
    },
    {
      "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": [
            {
              "apiVersion": "2015-05-01-preview",
              "type": "auditingSettings",
              "name": "Default",
              "location": "[parameters('serverLocation')]",
              "dependsOn": [
                "[concat('Microsoft.Sql/servers/', parameters('serverName'))]",
                "[concat('Microsoft.Sql/servers/', parameters('serverName'), '/databases/',parameters('databaseName'))]",
                "[concat('Microsoft.Storage/storageAccounts/',parameters('storageAccountName'))]"
              ],
              "properties": {
                "State": "Enabled",
                "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",
          "type": "auditingSettings",
          "name": "Default",
          "location": "[parameters('serverLocation')]",
          "dependsOn": [
            "[concat('Microsoft.Sql/servers/', parameters('serverName'))]",
            "[concat('Microsoft.Storage/storageAccounts/',parameters('storageAccountName'))]"
          ],
          "properties": {
            "State": "Enabled",
            "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": "2017-03-01-preview",
                    "type": "securityAlertPolicies",
                    "name": "DefaultAtpTemplate",
                    "dependsOn": [
                        "[variables('serverName')]"
                    ],
                    "properties": {
                        "state": "Enabled",
                        "emailAddresses": "[variables('emailAddresses')]",
                        "emailAccountAdmins": "[parameters('emailAdmins')]"
                    }
         },
          {
                    "name": "DefaultAtpTemplate",
                    "type": "vulnerabilityAssessments",
                    "apiVersion": "2018-06-01-preview",
                    "dependsOn": [
                        "[variables('serverName')]",
                        "[concat('Microsoft.Storage/storageAccounts/', parameters('storageAccountName'))]"
                    ],
                    "properties": {
                      "storageContainerPath": "[concat(reference(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName'))), 'vulnerability-assessment')]",
                    "storageAccountAccessKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', parameters('storageAccountName')), providers('Microsoft.Storage', 'storageAccounts').apiVersions[0]).keys[0].value]",
                        "recurringScans": {
                            "isEnabled": true,
                            "emailSubscriptionAdmins": "[parameters('emailAdmins')]",
                            "emails": "[variables('emailAddresses')]",
                            "storageAccountSubscriptionId": "[subscription().subscriptionId]",
                            "isStorageSecondaryKeyInUse": false
                        }
                    }
                }

解决方案

Pls post the full error message

hth
Marcin


这篇关于尝试使用ARM模板自动化Azure部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆