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

Terraform部署google_dns_managed_zone使用rsasha1报错如何解决

问题根因
  • Google Cloud DNS 2020年之后创建的新项目默认禁用RSASHA1算法用于DNSSEC签名,仅存量已使用该算法的区域默认保留支持。
  • 你当前配置采用nsec作为不存在性验证方案,RSASHA1仅允许和nsec3方案搭配使用,二者不兼容是你尝试1024位密钥仍报错的核心原因。
  • Google Cloud DNS对RSASHA1仅开放1024位的密钥长度支持,其余长度均不被平台认可。
解决方案

方案1:调整配置参数适配平台规则

修改你的Terraform配置,调整不存在性验证方案和密钥长度,参考配置如下:

resource "google_dns_managed_zone" "example-zone" {
  name        = "example-zone-02"
  dns_name    = "example-0123.com."
  description = "DNS Zone with DNSSEC"
  dnssec_config {
    default_key_specs {
      algorithm  = "rsasha1"
      key_length = 1024
      key_type   = "zoneSigning"
      kind       = "dnsKeySpec"
    }
    default_key_specs {
      algorithm  = "rsasha1"
      key_length = 1024
      key_type   = "keySigning"
      kind       = "dnsKeySpec"
    }
    kind         = "managedZoneDnsSecConfig"
    non_existence = "nsec3"
    state        = "on"
  }
}

修改后重新执行terraform apply即可完成部署。

方案2:申请项目白名单权限

如果调整配置后仍然报错,说明你的项目属于默认禁用RSASHA1的范围,需要提交GCP支持工单,说明业务强制使用RSASHA1的场景,申请为对应项目开启RSASHA1算法使用权限,审核通过后再执行部署即可。

注意事项
  • RSASHA1存在已知的密码学碰撞风险,仅在确认业务必须使用的前提下采用以上方案,业务条件允许时请尽快切换到RSASHA256等更安全的算法。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:18:03