【发布时间】:2018-04-30 03:31:17
【问题描述】:
我的 Azure 帐户中有一个 16.04-LTS 的 Ubuntu 虚拟机,我正在尝试使用 Azure Disk Encryption 让这个虚拟机使用 this azure cli sample script。运行加密脚本时,Azure 门户显示其操作系统磁盘已加密。加密标头下有Enabled。
但是,用于获取有关虚拟机信息的 Azure REST API (api link) 不会返回 properties.storageProfile.osDisk 下的 encryptionSettings。对于 api 版本 2017-03-30 和 2017-12-01,我尝试了 Model View 和 Model View and Instance View。以下是 API 的部分响应:
{
"name": "ubuntu",
"properties": {
"osProfile": {},
"networkProfile": {},
"storageProfile": {
"imageReference": {
"sku": "16.04-LTS",
"publisher": "Canonical",
"version": "latest",
"offer": "UbuntuServer"
},
"osDisk": {
"name": "ubuntu-OsDisk",
"diskSizeGB": 30,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "..."
},
"caching": "ReadWrite",
"createOption": "FromImage",
"osType": "Linux"
},
"dataDisks": []
},
"diagnosticsProfile": {},
"vmId": "",
"hardwareProfile": {
"vmSize": "Standard_B1s"
},
"provisioningState": "Succeeded"
},
"location": "eastus",
"type": "Microsoft.Compute/virtualMachines",
"id": ""
}
但对于我的其他加密 Windows 虚拟机,我得到了正确的响应,其中包含 properties.storageProfile.osDisk 中的 encryptionSettings:
{
"name": "win1",
"properties": {
"osProfile": {},
"networkProfile": {},
"storageProfile": {
"imageReference": {
"sku": "2016-Datacenter-smalldisk",
"publisher": "MicrosoftWindowsServer",
"version": "latest",
"offer": "WindowsServer"
},
"osDisk": {
"name": "win1_OsDisk_1",
"diskSizeGB": 31,
"managedDisk": {
"storageAccountType": "Premium_LRS",
"id": "..."
},
"encryptionSettings": {
"diskEncryptionKey": {
"secretUrl": "...",
"sourceVault": {
"id": "..."
}
},
"keyEncryptionKey": {
"keyUrl": "...",
"sourceVault": {
"id": "..."
}
},
"enabled": true
},
"caching": "ReadWrite",
"createOption": "FromImage",
"osType": "Windows"
},
"dataDisks": []
},
"diagnosticsProfile": {},
"vmId": "...",
"hardwareProfile": {
"vmSize": "Standard_B1s"
},
"provisioningState": "Succeeded"
},
"location": "eastus",
"type": "Microsoft.Compute/virtualMachines",
"id": "..."
}
为什么虚拟机获取 API 没有为某些虚拟机返回 encryptionSettings?任何帮助将不胜感激。
【问题讨论】:
-
加密在大约 3 分钟内完成。加密后已经一个多小时了。
-
不,这不是它的工作原理;)你应该检查扩展状态,它会告诉你加密正在进行中
-
你的意思是,如果扩展名
AzureDiskEncryptionForLinux的provisioning成功,我应该认为它是加密的? -
不,它只配置了扩展,之后它开始加密虚拟机。使用此
Get-AzureRmVmDiskEncryptionStatus -ResourceGroupName $rgname -VMName $vmName获取状态 -
我正在使用 Azure CLi 检查加密状态
az vm encryption show --resource-group $rgname --name $vmName --query [osDisk] -o tsv,它显示EncryptionInProgress
标签: rest azure encryption azure-virtual-machine