通过向 Azure 资源管理器模板添加加密功能自动执行安全的 VM 部署

已完成

假设你的公司在过渡到云的过程中需要部署多个服务器。 在部署期间必须加密 VM 磁盘,使这些磁盘在任何时候都不会受到攻击。 你想要自动化此过程,并且需要修改 Azure 资源管理器模板来自动启用加密。

本文介绍如何使用 Azure 资源管理器模板来自动为新的 Windows VM 启用加密。

什么是 Azure 资源管理器模板?

资源管理器模板是用于定义要部署到 Azure 的一系列资源的 JSON 文件。 可以从头开始编写这些模板;对于某些 Azure 资源(包括 VM),可使用 Azure 门户来生成模板。 对于手动的 VM 部署,需要填写所需的信息,但随后不需要将 VM 部署到 Azure,而可以保存模板。 然后,即可重复使用模板来创建特定 VM 配置

若要自动执行各种管理任务,可查看提供的示例模板。 事实上,你本可以使用其中一个模板来加密刚刚手动加密的 VM。

Screenshot showing the Azure templates.

使用 GitHub 模板

实际的模板源存储在 GitHub 中。 可浏览至 GitHub 中的某个模板,然后从该页面直接部署到 Azure。

Screenshot showing GitHub template with the Deploy to Azure button highlighted.

部署模板后,Azure 将显示必填输入字段的列表。

Screenshot showing template in Azure portal.

然后,可执行模板以创建、修改或删除资源。

运行 Azure 门户中的模板

如果已知道要使用的模板,或已在 Azure 帐户中保存了模板,则可使用“创建资源”>“模板部署”资源来查找和运行门户中定义的模板。 可按名称搜索模板,编辑模板以更改参数或行为,并直接从 GUI 执行该模板。

从命令行运行模板

给定模板的 URL 后,可使用 Azure PowerShell 执行它。 例如,可使用以下 PowerShell 命令运行磁盘加密模板:

New-AzResourceGroupDeployment `
    -Name encrypt-disk `
    -ResourceGroupName <resource-group-name> `
    -TemplateUri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-encrypt-running-windows-vm-without-aad/azuredeploy.json

或者,如果偏好 Azure CLI,则可运行 az deployment group create 命令。

az deployment group create --resource-group <my-resource-group> --name <my-deployment-name> \ 
    --template-uri https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-encrypt-running-windows-vm-without-aad/azuredeploy.json