快速入门:在 Azure 中使用 Azure PowerShell 创建和加密 Linux VM
适用于:✔️ Linux VM ✔️ 灵活规模集
Azure PowerShell 模块用于从 PowerShell 命令行或脚本创建和管理 Azure 资源。 本快速入门介绍如何使用 Azure PowerShell 模块创建 Linux 虚拟机 (VM)、创建用于存储加密密钥的密钥保管库以及加密 VM。 本快速入门使用 Canonical 提供的 Ubuntu 16.04 LTS 市场映像和 VM Standard_D2S_V3 大小。 但是,可以使用任何 ADE 支持的 Linux 映像版本,而不是 Ubuntu VM。
如果没有 Azure 订阅,可在开始前创建一个试用帐户。
创建资源组
使用 New-AzResourceGroup 创建 Azure 资源组。 资源组是在其中部署和管理 Azure 资源的逻辑容器:
New-AzResourceGroup -Name "myResourceGroup" -Location "ChinaEast2"
创建虚拟机
使用 New-AzVM 创建 Azure 虚拟机,并将前面步骤中创建的 VM 配置对象传递给它。
$cred = Get-Credential
New-AzVM -Name MyVm -Credential $cred -ResourceGroupName MyResourceGroup -Image Canonical:UbuntuServer:18.04-LTS:latest -Size Standard_D2S_V3
部署 VM 需要几分钟。
创建为加密密钥配置的密钥保管库
Azure 磁盘加密将其加密密钥存储在 Azure 密钥保管库中。 使用 New-AzKeyvault 创建一个密钥保管库。 要使密钥保管库能够存储加密密钥,请使用 -EnabledForDiskEncryption 参数。
重要
每个密钥保管库必须有一个在 Azure 中唯一的名称。 在下面的示例中,将 <your-unique-keyvault-name> 替换为你选择的名称。
New-AzKeyvault -name "<your-unique-keyvault-name>" -ResourceGroupName "myResourceGroup" -Location ChinaEast2 -EnabledForDiskEncryption
加密虚拟机
使用 Set-AzVmDiskEncryptionExtension 加密 VM。
Set-AzVmDiskEncryptionExtension 需要密钥保管库对象中的一些值。 可以通过将密钥保管库的唯一名称传递给 Get-AzKeyvault 来获取这些值。
$KeyVault = Get-AzKeyVault -VaultName "<your-unique-keyvault-name>" -ResourceGroupName "MyResourceGroup"
Set-AzVMDiskEncryptionExtension -ResourceGroupName MyResourceGroup -VMName "MyVM" -DiskEncryptionKeyVaultUrl $KeyVault.VaultUri -DiskEncryptionKeyVaultId $KeyVault.ResourceId -SkipVmBackup -VolumeType All
几分钟后,进程将返回以下内容:
RequestId IsSuccessStatusCode StatusCode ReasonPhrase
--------- ------------------- ---------- ------------
True OK OK
可以通过运行 Get-AzVmDiskEncryptionStatus 来验证加密过程。
Get-AzVmDiskEncryptionStatus -VMName MyVM -ResourceGroupName MyResourceGroup
启用加密后,你将在返回的输出中看到以下内容:
OsVolumeEncrypted : EncryptionInProgress
DataVolumesEncrypted : NotMounted
OsVolumeEncryptionSettings : Microsoft.Azure.Management.Compute.Models.DiskEncryptionSettings
ProgressMessage : OS disk encryption started
清理资源
不再需要时,可以使用 Remove-AzResourceGroup cmdlet 删除资源组、VM 和所有相关资源:
Remove-AzResourceGroup -Name "myResourceGroup"
后续步骤
在本快速入门中,你创建了一个虚拟机,创建了一个启用加密密钥的密钥保管库,并对 VM 进行了加密。 请继续学习下一篇文章,详细了解 Linux VM 的 Azure 磁盘加密。