我想使用 Terraform 在 Azure 上部署一些资源。在 Azure 上,我有一个仅在一个资源组 (RGName) 上具有“所有者权限”的帐户。不是在订阅级别。
在我的 linux 服务器上,我安装了“az cli”并执行了“az login”。到这一步,一切正常。
当我想执行 terraform 来创建一个资源时会出现问题。
provider.tf 的内容(目前唯一的一个 .tf 文件):
provider "azurerm" {
}
Run Code Online (Sandbox Code Playgroud)
如果我做一个“地形计划”,它会起作用。
如果我添加以下行,它将失败。请查看最后的错误:
resource "azurerm_virtual_network" "myterraformnetwork" {
name = "myVnet"
address_space = ["10.0.0.0/16"]
location = "eastus"
resource_group_name = "RGName"
tags = {
environment = "Terraform Demo"
}
}
Run Code Online (Sandbox Code Playgroud)
我没有订阅级别的权利,但我不需要。使用 Azure WebUI,我可以毫无问题地在此资源组上创建资源。
错误 :
错误:确保注册资源提供程序时出错:无法向 Azure 资源管理器注册提供程序 Microsoft.DevSpaces:resources.ProvidersClient#Register:响应请求失败:StatusCode=403 -- 原始错误:autorest/azure:服务返回错误。Status=403 Code="AuthorizationFailed" Message="对象 ID 为 'IDaccountName' 的客户端 'accountName' 无权在范围 '/subscriptions/subscriptionID' 或范围内执行操作 'Microsoft.DevSpaces/r egister/action'无效。如果最近授予了访问权限,请刷新您的凭据。”。
在 provider.tf 第 1 行,在提供者“azurerm”中:1:提供者“azurerm”{ …
provider azure subscription terraform terraform-provider-azure