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

HashiCorp Vault角色最大TTL配置失效排查求助(Vault 1.12.1)

Vault数据库自助角色TTL异常排查问题

我正在创建一个最大TTL(生存时间)为7天的数据库自助角色。现有两个运行Vault 1.12.1的环境,其中一个运行正常,另一个生成的登录凭证1小时后就失效。两个角色通过相同的Terraform代码创建(代码如下),因此我推测存在某个覆盖配置,但不知从何入手排查。

# 新建数据库自助服务的Vault挂载点
resource "vault_mount" "db" {
  path = "database-self-serve"
  type = "database"
  default_lease_ttl_seconds =  0
  max_lease_ttl_seconds = 604800
}

# 配置Vault与数据库的连接
resource "vault_database_secret_backend_connection" "database-1" {
  backend       = vault_mount.db.path
  name          = "${var.terraform_environment}-database-1"
  allowed_roles = formatlist("mysql-database-1-%s", local.allowed_role_list)

  mysql_aurora {
    connection_url = "{{username}}:{{password}}@tcp(${local.database-1_mysql_connection_url}:3306)/"
  }
  data = {
    username = local.db_user
    password = var.connection_password
  }
  lifecycle {
    ignore_changes = [data]
  }
}

# 配置定义创建用户语句的Vault角色
resource "vault_database_secret_backend_role" "database-1-readonly" {
  count               = "${contains(local.allowed_role_list,"readonly") == true ? 1 : 0}"
  depends_on          = [vault_database_secret_backend_connection.database-1]
  backend             = vault_mount.db.path
  name                = "mysql-database-1-readonly"
  db_name             = "${var.terraform_environment}-database-1"
  creation_statements = ["${var.create_mysql_user}${var.readonly_mysql_permissions}"]
  default_ttl         = 604800
  max_ttl             = 604800
}

我已对比两个环境的Vault挂载、连接及角色设置,均完全一致。我还尝试将vault_mount的default_lease_ttl_seconds设置为与max_lease_ttl_seconds相同的值。

更新:我尝试延长default和max TTL,删除并重新生成密钥,但问题仍未解决。生成新凭证后验证过可用,Vault Lease信息显示应该30天后过期,但实际1小时后就失效了。
Vault Lease信息:显示TTL为30天,剩余时间递减


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 08:34:59