如何从不同 Azure 帐户 w/Terraform 中的 blob 创建托管磁盘?
How do I create a managed disk from a blob in a different Azure account w/Terraform?
我的 Azure 存储帐户中保存了一个 .vhd。我将容器设置为允许匿名读取,并且我确实可以从未经身份验证的浏览器下载 VHD。
我的代码:
resource "azurerm_managed_disk" "MyDisk" {
name = "MyDisk"
location = var.location
resource_group_name = azurerm_resource_group.rg.name
storage_account_type = "Standard_LRS"
create_option = "Copy"
source_resource_id = "/subscriptions/.../resourceGroups/ProvisioningScripts/providers/Microsoft.Storage/storageAccounts/myvhds/blobServices/default"
source_uri = "https://....blob.core.windows.net/images/mydisk.vhd"
disk_size_gb = "32"
tags = {
environment = "staging"
}
}
我在尝试申请时遇到以下错误:
错误:错误creating/updating托管磁盘“MyDisk”(资源组“rg”):compute.DisksClient#CreateOrUpdate:发送请求失败:StatusCode= 403 -- 原始错误:Code="LinkedAuthorizationFailed" Message="客户端有权在范围 '/subscriptions/.../resourceGroups/rg/providers/Microsoft.Compute/disks/MyDisk' 上执行操作 'Microsoft.Compute/disks/beginGetAccess/action',但是当前租户“4019...”无权访问链接订阅“626c...”。“
非常感谢您的帮助。
无法直接从不同租户中的 VHD 文件创建托管磁盘。你需要将 VHD 文件复制到同一租户和同一订阅中的存储帐户,然后你可以从该订阅中的 VHD 文件创建新的托管磁盘。当然,你的账号需要有足够的权限才能复制和创建。
我的 Azure 存储帐户中保存了一个 .vhd。我将容器设置为允许匿名读取,并且我确实可以从未经身份验证的浏览器下载 VHD。
我的代码:
resource "azurerm_managed_disk" "MyDisk" {
name = "MyDisk"
location = var.location
resource_group_name = azurerm_resource_group.rg.name
storage_account_type = "Standard_LRS"
create_option = "Copy"
source_resource_id = "/subscriptions/.../resourceGroups/ProvisioningScripts/providers/Microsoft.Storage/storageAccounts/myvhds/blobServices/default"
source_uri = "https://....blob.core.windows.net/images/mydisk.vhd"
disk_size_gb = "32"
tags = {
environment = "staging"
}
}
我在尝试申请时遇到以下错误:
错误:错误creating/updating托管磁盘“MyDisk”(资源组“rg”):compute.DisksClient#CreateOrUpdate:发送请求失败:StatusCode= 403 -- 原始错误:Code="LinkedAuthorizationFailed" Message="客户端有权在范围 '/subscriptions/.../resourceGroups/rg/providers/Microsoft.Compute/disks/MyDisk' 上执行操作 'Microsoft.Compute/disks/beginGetAccess/action',但是当前租户“4019...”无权访问链接订阅“626c...”。“
非常感谢您的帮助。
无法直接从不同租户中的 VHD 文件创建托管磁盘。你需要将 VHD 文件复制到同一租户和同一订阅中的存储帐户,然后你可以从该订阅中的 VHD 文件创建新的托管磁盘。当然,你的账号需要有足够的权限才能复制和创建。