我想使用 Terraform 在 Azure 上部署一些资源。
在 Azure 上,我拥有一个仅对一个资源组(RGName)具有“所有者权限”的帐户。不在订阅级别。
在我的 Linux 服务器上,我安装了“az cli”并执行了“az login”。到这一步,一切就OK了。
当我想执行 terraform 来创建一项资源时,就会出现问题。
provider.tf 的内容(目前唯一的一个 .tf 文件):
provider "azurerm" {
}
如果我制定一个“地形计划”,它就会起作用。
如果我添加以下行,则会失败。请查看最后的错误:
resource "azurerm_virtual_network" "myterraformnetwork" {
name = "myVnet"
address_space = ["10.0.0.0/16"]
location = "eastus"
resource_group_name = "RGName"
tags = {
environment = "Terraform Demo"
}
}
我没有订阅级别的权利,但我不需要。
使用 Azure WebUI,我可以毫无问题地在此资源组上创建资源。
错误 :
错误:确保注册资源提供程序时出错:无法使用 Azure 资源管理器注册提供程序 Microsoft.DevSpaces:resources.ProvidersClient#Register:响应请求失败:StatusCode=403 -- 原始错误:autor
est/azure:服务返回错误。 Status=403 Code="AuthorizationFailed" Message="对象 ID 为“IDaccountName”的客户端“accountName”无权执行操作“Microsoft.DevSpaces/r”
register/action' 超出范围 '/subscriptions/subscriptionID' 或范围无效。如果最近授予了访问权限,请刷新您的凭据。”。
在provider.tf第1行,在提供商“azurerm”中:
1:提供商“azurerm”{
谢谢你们 !
如果其他人在企业(受限)Azure 环境中遇到此问题,并且没有耐心注册提供程序(这可能没有必要)if你没有使用指定的 terraform 资源) - 看看https://github.com/terraform-providers/terraform-provider-azurerm/issues/4440 https://github.com/terraform-providers/terraform-provider-azurerm/issues/4440
具体来说,这可能会有所帮助:
provider "azurerm" {
skip_provider_registration = "true"
如果您确实需要无法注册的资源(在我们的例子中是Cannot register provider Microsoft.DevSpaces with Azure Resource Manager
,但资源会根据您的环境以及 Terraform 决定支持的内容而变化)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)