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小时后就失效了。
内容的提问来源于stack exchange,提问作者Nate H
相关产品推荐
相关产品推荐

