快速入门:使用 PowerShell 在 Azure 中创建和加密 Windows 虚拟机

适用于:✔️ Windows VM

Azure PowerShell 模块用于从 PowerShell 命令行或脚本创建和管理 Azure 资源。 本快速入门介绍如何使用 Azure PowerShell 模块创建 Windows 虚拟机 (VM)、创建用于存储加密密钥的密钥保管库以及加密 VM。

如果没有 Azure 订阅,请在开始前创建一个试用版订阅

创建资源组

使用 New-AzResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器:

New-AzResourceGroup -Name "myResourceGroup" -Location "ChinaEast"

创建虚拟机

使用 New-AzVM 创建 Azure 虚拟机。 必须向 cmdlet 提供凭据。

$cred = Get-Credential 

New-AzVM -Name MyVm -Credential $cred -ResourceGroupName MyResourceGroup -Image win2016datacenter -Size Standard_D2S_V3

部署 VM 需要数分钟。

创建为加密密钥配置的密钥保管库

Azure 磁盘加密将其加密密钥存储在 Azure 密钥保管库中。 使用 New-AzKeyvault 创建一个密钥保管库。 要使密钥保管库能够存储加密密钥,请使用 -EnabledForDiskEncryption 参数。

重要

每个密钥保管库必须具有唯一的名称。 以下示例创建名为“myKV”的密钥保管库,但你必须将其命名为不同的名称。

New-AzKeyvault -name MyKV -ResourceGroupName myResourceGroup -Location ChinaEast -EnabledForDiskEncryption

加密虚拟机

使用 Set-AzVmDiskEncryptionExtension 加密 VM。

Set-AzVmDiskEncryptionExtension 需要密钥保管库对象中的一些值。 可以通过将密钥保管库的唯一名称传递给 Get-AzKeyvault 来获取这些值。

$KeyVault = Get-AzKeyVault -VaultName MyKV -ResourceGroupName MyResourceGroup

Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName MyVM -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId

几分钟后,进程将返回以下输出:

RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
                         True         OK OK

可以通过运行 Get-AzVmDiskEncryptionStatus 来验证加密过程。

Get-AzVmDiskEncryptionStatus -VMName MyVM -ResourceGroupName MyResourceGroup

启用加密后,你将在返回的输出中看到以下字段:

OsVolumeEncrypted          : Encrypted
DataVolumesEncrypted       : NoDiskFound
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage            : Provisioning succeeded

清理资源

不再需要时,可以使用 Remove-AzResourceGroup cmdlet 删除资源组、VM 和所有相关资源:

Remove-AzResourceGroup -Name "myResourceGroup"

后续步骤

在本快速入门中,你创建了一个虚拟机,创建了一个启用加密密钥的密钥保管库,并对 VM 进行了加密。 请继续学习下一篇文章,详细了解 IaaS VM 的 Azure 磁盘加密先决条件。