快速入门:使用 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 磁盘加密先决条件。