【问题标题】:Credential Failure while executing Terraform execution plan执行 Terraform 执行计划时出现凭据失败
【发布时间】:2016-12-21 07:04:09
【问题描述】:

我正在尝试执行下面给出的示例地形计划。

# Configure the Microsoft Azure Provider
provider "azurerm" {
  subscription_id = "..."
  client_id       = "..."
  client_secret   = "..."
  tenant_id       = "..."
}

    # Create a resource group
    resource "azurerm_resource_group" "production" {
        name     = "production"
        location = "West US"
    }

    # Create a virtual network in the web_servers resource group
    resource "azurerm_virtual_network" "network" {
      name                = "productionNetwork"
      address_space       = ["10.0.0.0/16"]
      location            = "West US"
      resource_group_name = "${azurerm_resource_group.production.name}"

      subnet {
        name           = "subnet1"
        address_prefix = "10.0.1.0/24"
      }

      subnet {
        name           = "subnet2"
        address_prefix = "10.0.2.0/24"
      }

      subnet {
        name           = "subnet3"
        address_prefix = "10.0.3.0/24"
      }
    }`enter code here`

我按照 [1] 通过创建 Active Directory 应用程序生成凭据,并在上述计划中使用了正确的订阅 ID、客户端 ID、客户端秘密、租户 ID,并针对它执行了“terraform 计划”。但我遇到了错误。

错误刷新状态:发生 1 个错误:

  • 访问 Azure 资源管理器 API 的凭据可能不正确,或者 服务主体无权使用 Azure 服务管理 API。

[1]https://azure.microsoft.com/en-us/documentation/articles/resource-group-create-service-principal-portal/

对此有什么想法吗?

【问题讨论】:

  • 您需要自动部署权限,并不是因为您可以在门户中创建虚拟机才能使用 terraform。您需要先访问它。

标签: azure terraform


【解决方案1】:

似乎在 terraform 文档中,他们没有包括将角色分配给服务主体的步骤。按照以下步骤操作即可。

1) 通过 Azure CLI 访问此链接 https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal-cli/ 创建服务主体,该链接还将角色分配给服务主体 2) 转到 Azure RM 门户-->活动目录-->应用注册-->创建密钥 3) 在 .tf 文件中使用上述适当的值。

然后运行命令 terraform plan。

【讨论】:

猜你喜欢
  • 2020-09-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 2019-08-17
相关资源
最近更新 更多