小编Lbe*_*tas的帖子

Terraform - Azure 作为提供者和受限访问帐户

我想使用 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

3
推荐指数
2
解决办法
3061
查看次数