VM已报告处理扩展AzureDiskEncryption时的故障

时间:2019-03-02 14:17:17

标签: azure azure-virtual-machine

我正在运行以下脚本:

$keyVault = Get-AzKeyVault -VaultName $keyVaultName -ResourceGroupName $rgName;
$diskEncryptionKeyVaultUrl = $keyVault.VaultUri;
$keyVaultResourceId = $keyVault.ResourceId;
$keyEncryptionKeyUrl = (Get-AzureKeyVaultKey -VaultName $keyVaultName -Name myKey).Key.kid;

Set-AzVMDiskEncryptionExtension -ResourceGroupName $rgName `
-VMName "myVM" `
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl `
-DiskEncryptionKeyVaultId $keyVaultResourceId `
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl `
-KeyEncryptionKeyVaultId $keyVaultResourceId

它将在大约1分钟的处理过程中返回以下信息:

  

Set-AzureRmVmDiskEncryptionExtension:长时间运行的操作失败   状态为“失败”。附加信息:'VM在以下情况下报告故障   处理扩展“ AzureDiskEncryption”。错误消息:“失败   发送DiskEncryptionData,检查KeyVault输入,ResourceIds并重试   加密操作”。错误代码:VMExtensionProvisioningError   错误消息:VM报告扩展处理失败   'AzureDiskEncryption'。错误消息:“发送失败   DiskEncryptionData,检查KeyVault输入,ResourceIds并重试   加密操作”。ErrorTarget:StartTime:19/3/2 19 2:10:59 PM   结束时间:19/3/2下午2:10:59

我已经验证了所有值都正确地传递给set命令,并且没有传递空值。

4 个答案:

答案 0 :(得分:6)

在这种情况下,OP需要根据高级访问策略为磁盘加密启用Key Vault。

enter image description here

答案 1 :(得分:1)

我遇到了这个问题,但经过几天的努力,下面的步骤解决了我的问题。

  1. 检查$ KeyVault,$ DiskEncryptionKeyVaultUrl和$ KeyVaultResourceId的值 变量,并确保它们不为null或为空。
  2. 如果步骤1完成,请彻底检查Key Vault的创建过程,然后 检查它是否与VM在同一区域中,并且已启用它 用于磁盘加密:Set-AzureRmKeyVaultAccessPolicy -VaultName $ keyVaultName- EnabledForDiskEncryption

答案 2 :(得分:1)

如果仍然遇到问题,可以尝试以下操作:

  1. 转到需要加密的VM的磁盘。
  2. 点击身份
  3. 将分配给系统或用户的状态设置为“ ON”。

enter image description here

答案 3 :(得分:1)

然后执行以下命令。 它在https://docs.microsoft.com/en-us/azure/virtual-machines/windows/encrypt-disks

上有解释

$ keyVault = Get-AzKeyVault -VaultName $ keyVaultName -ResourceGroupName $ rgName;

$ diskEncryptionKeyVaultUrl = $ keyVault.VaultUri;

$ keyVaultResourceId = $ keyVault.ResourceId;

$ keyEncryptionKeyUrl =(Get-AzKeyVaultKey -VaultName $ keyVaultName -Name myKey).Key.kid;

Set-AzVMDiskEncryptionExtension -ResourceGroupName $ rgName`

-VMName "myVM" 
-DiskEncryptionKeyVaultUrl $diskEncryptionKeyVaultUrl `
-DiskEncryptionKeyVaultId $keyVaultResourceId `
-KeyEncryptionKeyUrl $keyEncryptionKeyUrl `
-KeyEncryptionKeyVaultId $keyVaultResourceId$