You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Azure KeyVault中存储的SSL证书绑定到Application Gateway

问题排查与修复方案

你遇到的报错有多个可能的触发原因,按优先级逐一排查修改即可:

  • 身份标识名称不匹配
    你代码中应用网关绑定的用户分配标识为 azurerm_user_assigned_identity.appgw_uaid,但Key Vault访问策略里授权的标识为 azurerm_user_assigned_identity.uaid_appgw,两者资源名不一致,导致应用网关没有权限读取证书私钥。请统一两处的标识引用。
  • 访问权限配置缺失
    你给应用网关的用户分配标识只授予了secret的Get权限,还需要额外增加certificate的Get权限才能完整读取证书信息,修改访问策略配置如下:
    access_policy {
      object_id    = azurerm_user_assigned_identity.appgw_uaid.principal_id
      tenant_id    = data.azurerm_client_config.current.tenant_id
    
      secret_permissions = [
        "Get"
      ]
      # 新增证书Get权限
      certificate_permissions = [
        "Get"
      ]
    }
    
  • 私钥不可导出配置错误
    应用网关需要获取证书私钥完成TLS终止,你当前配置中key_properties.exportable为false,需修改为true:
    key_properties {
      exportable = true
      key_size   = 2048
      key_type   = "RSA"
      reuse_key  = false
    }
    
  • PFX加密算法不兼容
    Azure Application Gateway不支持3DES加密的PFX证书,你需要将现有PFX证书转换为AES-256加密格式后再生成base64内容导入,可使用以下openssl命令转换:
    openssl pkcs12 -in my-ssl-cert.pfx -passin pass:<旧密码> -nodes | openssl pkcs12 -export -keypbe AES-256-CBC -certpbe AES-256-CBC -passout pass:<新密码> -out my-ssl-cert-aes256.pfx
    
  • Key Vault基础配置缺失
    关联应用网关的Key Vault必须开启软删除和清除保护,需要在azurerm_key_vault资源中补充以下配置:
    soft_delete_retention_days = 7
    purge_protection_enabled   = true
    

完成以上修改后重新执行Terraform apply即可解决报错。


内容的提问来源于stack exchange,提问作者wertyq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 18:36:03