使用 Terraform 对多个磁盘进行 Azure 磁盘加密
Azure Disk Encryption with Terraform for multiple disks
所以我可以用我在这个网站上看到的 Terrafrom 加密 os 磁盘。但是我如何加密数据磁盘呢?我想也许 "VolumeType": "All" 会覆盖所有磁盘,但那并没有发生。此代码适用于加密 os 磁盘...我需要为多个磁盘做什么?我卡住了。
谢谢!
provider "azurerm" {
features {}
}
data "azurerm_key_vault" "keyvault" {
name = "testkeyvault1"
resource_group_name = "testRG1"
}
resource "azurerm_virtual_machine_extension" "vmextension" {
name = "DiskEncryption"
virtual_machine_id = "/subscriptions/<sub id>/resourceGroups/TESTRG1/providers/Microsoft.Compute/virtualMachines/testvm-1"
publisher = "Microsoft.Azure.Security"
type = "AzureDiskEncryption"
type_handler_version = "2.2"
#auto_upgrade_minor_version = true
settings = <<SETTINGS
{
"EncryptionOperation": "EnableEncryption",
"KeyVaultURL": "${data.azurerm_key_vault.keyvault.vault_uri}",
"KeyVaultResourceId": "${data.azurerm_key_vault.keyvault.id}",
"KeyEncryptionKeyURL": "https://testkeyvault1-1.vault.azure.net/keys/testKey/314c507de8a047a5bfeeb477efcbff60",
"KekVaultResourceId": "${data.azurerm_key_vault.keyvault.id}",
"KeyEncryptionAlgorithm": "RSA-OAEP",
"VolumeType": "All"
}
SETTINGS
tags = {
Environment = "test"
}
}
我针对 新创建的具有 2 个数据磁盘的 VM 测试了您的代码,这对我来说也是一样的,如果我保持 "Volume: ALL"
然后也只有 OS 磁盘启用 ADE 而不是数据磁盘,如果我从门户或 Azure CLI 验证。
解决方法如下:
请确保附加的数据磁盘添加为卷并且格式化在从 Terraform 添加扩展之前从 VM。
完成上述操作并对代码执行 terraform apply
后,成功应用后它将反映在 Portal 以及 VM 内部。
所以我可以用我在这个网站上看到的 Terrafrom 加密 os 磁盘。但是我如何加密数据磁盘呢?我想也许 "VolumeType": "All" 会覆盖所有磁盘,但那并没有发生。此代码适用于加密 os 磁盘...我需要为多个磁盘做什么?我卡住了。
谢谢!
provider "azurerm" {
features {}
}
data "azurerm_key_vault" "keyvault" {
name = "testkeyvault1"
resource_group_name = "testRG1"
}
resource "azurerm_virtual_machine_extension" "vmextension" {
name = "DiskEncryption"
virtual_machine_id = "/subscriptions/<sub id>/resourceGroups/TESTRG1/providers/Microsoft.Compute/virtualMachines/testvm-1"
publisher = "Microsoft.Azure.Security"
type = "AzureDiskEncryption"
type_handler_version = "2.2"
#auto_upgrade_minor_version = true
settings = <<SETTINGS
{
"EncryptionOperation": "EnableEncryption",
"KeyVaultURL": "${data.azurerm_key_vault.keyvault.vault_uri}",
"KeyVaultResourceId": "${data.azurerm_key_vault.keyvault.id}",
"KeyEncryptionKeyURL": "https://testkeyvault1-1.vault.azure.net/keys/testKey/314c507de8a047a5bfeeb477efcbff60",
"KekVaultResourceId": "${data.azurerm_key_vault.keyvault.id}",
"KeyEncryptionAlgorithm": "RSA-OAEP",
"VolumeType": "All"
}
SETTINGS
tags = {
Environment = "test"
}
}
我针对 新创建的具有 2 个数据磁盘的 VM 测试了您的代码,这对我来说也是一样的,如果我保持 "Volume: ALL"
然后也只有 OS 磁盘启用 ADE 而不是数据磁盘,如果我从门户或 Azure CLI 验证。
解决方法如下:
请确保附加的数据磁盘添加为卷并且格式化在从 Terraform 添加扩展之前从 VM。
完成上述操作并对代码执行 terraform apply
后,成功应用后它将反映在 Portal 以及 VM 内部。