Azure 存储在 ARM 中启用加密

Azure storage enable encryption in ARM

我正在尝试通过 ARM 在创建期间在 Azure 存储中启用加密。这是我的简单存储资源。

{
  "$schema": "https://schema.management.azure.com/schemas/2016-01-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
  "storageAccountName": {
  "type": "String"
},
  "storageAccountType": {
  "type": "string",
  "defaultValue": "Standard_LRS",
  }
},
  "variables": {
  "defaultApiVersion": "2016-01-01"
 },
"resources": [
{
  "type": "Microsoft.Storage/storageAccounts",
  "name": "[parameters('StorageAccountName')]",
  "apiVersion": "[variables('defaultApiVersion')]",
  "location": "[resourceGroup().location]",
  "sku": {
    "name": "[parameters('storageAccountType')]"
  },
  "properties": {
    "properties": {
      "encryption": {
            "keySource": "Microsoft.Storage",
            "services": {
                "blob": {
                    "enabled": true
                }
            }
        }
    }
  }
}
]
}

这给了我以下错误

New-AzureRmResourceGroupDeployment : 8:21:59 AM - Error: Code=InvalidTemplate; Message=Deployment template validation failed: 'Template schema 'https://schema.management.azure.com/schemas/2016-01-01/deploymentTemplate.json#' is not supported. Supported versions are '2014-04-01-preview,2015-01-01'.

然后我将架构 url 更改为 https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#

然后得到New-AzureRmResourceGroupDeployment : 8:26:40 AM - Error: Code=InvalidTemplateDeployment; Message=The template deployment 'myencryptedstorage' is not valid according to the validation procedure.

有人知道这样做的正确方法是什么吗?

我已将您的 json 文件复制到 Visual Studio。它给我以下错误消息:

我想这可能是你的问题。

我已经测试过使用 New-AzureRmResourceGroupDeployment 创建启用加密的 Azure 存储。以下是我的源代码:

PowerShell 命令:

New-AzureRmResourceGroupDeployment -ResourceGroupName jarg -TemplateFile E:\createstoragearm.json - TemplateParameterFile E:\parameter.json

createstoragearm.json

{

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

  "contentVersion": "1.0.0.0",

  "parameters": {
    "storageAccountName": {
      "type": "string"
    },
    "storageAccountType": {

      "type": "string",

      "defaultValue": "Standard_LRS",

      "allowedValues": [

        "Standard_LRS",

        "Standard_GRS",

        "Standard_ZRS",

        "Premium_LRS"

      ],

      "metadata": {

        "description": "Storage Account type"

      }

    }

  },

  "variables": {

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

  },

  "resources": [

    {

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

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

      "apiVersion": "2016-01-01",

      "location": "[resourceGroup().location]",

      "sku": {

        "name": "[parameters('storageAccountType')]"

      },

      "kind": "Storage",

      "properties": {
        "encryption": {
          "services": {
            "blob": {
              "enabled": true
            }
          },
          "keySource": "Microsoft.Storage"
        }
      }

    }

  ],

  "outputs": {

    "storageAccountName": {

      "type": "string",

      "value": "[variables('storageAccountName')]"

    }


  }

}

parameter.json

{
  "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentParameters.json#",
  "contentVersion": "1.0.0.0",
  "parameters": {
    "StorageAccountName": {
      "value": "jaarmtest1"
    },

    "StorageAccountType": {
      "value": "Standard_LRS"
    }

  }
}

结果

就无效模板错误而言,我注意到您确实列出了两次属性:

"properties": { "properties":{

您可以参考此 link 来查找有效的架构: https://msdn.microsoft.com/en-us/library/azure/mt163564.aspx