Terraform Azure 提供商:使用带有客户端证书的服务主体进行身份验证

问题描述 投票:0回答:1

我正在尝试使用Azure服务主体运行terraform,我正在尝试使用证书来执行此操作,现在我有pfx文件及其密码,我在pem中转换了它并通过命令行登录以测试证书是否正在工作,这是案例,现在当我尝试使用 pfx 运行 terraform 时,出现以下错误

构建 ARM 配置时出错:发生 1 个错误: │ * 客户端证书路径不是有效的 pfx 文件:pkcs12:未知摘要算法:2.16.840.1.101.3.4.2.1

构建 ARM 配置时出错:发生 1 个错误: │ * 客户端证书路径不是有效的 pfx 文件:pkcs12:预计 PFX PDU 中正好有两个安全包

这是我的提供商.tf

terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
      version = "3.75.0"
    }
    null = {
      source = "hashicorp/null"
    }
  }
  backend "azurerm" {
    resource_group_name  = "xxxxxxxx"
    storage_account_name = "xxxxxxxxx"
    container_name       = "tfstate"
    key                  = "terraform.tfstate"
    client_id                   = "xxxxxxxxxxxxxxxxxxxxxxxxxx"
    tenant_id                   = "xxxxxxxxxxxxxxxxxxx"
    client_certificate_path     = "/cert.pfx"
    client_certificate_password = "xxxxxxxxxxxxxxxx"
    subscription_id             = "xxxxxxxxxxxxxxxxxx"
  }
}

provider "azurerm" {
  features {}

  skip_provider_registration = true
}```
azure service terraform pfx azure-service-principal
1个回答
0
投票

使用带有客户端证书的服务主体进行 Terraform 身份验证

Terraform 和 Azure 遇到的错误可能源于 PFX (PKCS#12) 证书文件的格式或处理问题。当证书不是预期的格式,或者 terraform 不完全支持证书中使用的特定加密元素(例如算法)时,通常会发生此类错误。

确保您将正确的

.cer
证书上传到相应的服务主体,并上传到
.pfx
位置的正确路径,以便消除不必要的错误。

我的地形代码:

terraform {
  required_providers {
    azurerm = {
      source  = "hashicorp/azurerm"
    }
  }
  backend "azurerm" {
    resource_group_name  = "vinay-rg"
    storage_account_name = "storagevksb"
    container_name       = "testvk"
    key                  = "terraform.tfstate"
  }
}

provider "azurerm" {
  features {}
  subscription_id = "Sub_ID"
  client_id       = "Client_ID"
  tenant_id       = "Tenent_ID"
  client_certificate_path = "C:\\pathforthefile\\vsbcert.pfx"
  client_certificate_password  = "password"
}

resource "azurerm_resource_group" "test"{
  name = "test-rg"
  location = "east us"
}

Deployment succeeded:

enter image description here

enter image description here

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.