15. 租约生命周期管理(续订和撤销)

对于每个密钥,Vault 都会创建一个租约: 元数据包含持续时间、可续订性等信息。spring-doc.cn

Vault 承诺数据在给定的持续时间或生存时间 (TTL) 内有效。 租约到期后,Vault 可以撤销数据,并且密钥的使用者无法再确定数据是否有效。spring-doc.cn

Spring Cloud Vault 在创建登录令牌和秘密之后维护租约生命周期。 也就是说,与租约关联的登录令牌和密钥计划在租约到期之前续订,直到终端到期。 应用程序关闭会撤销已获取的登录令牌和可续订租约。spring-doc.cn

秘密服务和数据库后端(例如 MongoDB 或 MySQL)通常会生成可续订的租约,因此生成的凭证将在应用程序关闭时被禁用。spring-doc.cn

静态令牌不会续订或撤销。

默认情况下,租约续订和吊销处于启用状态,可以通过设置为 来禁用。 不建议这样做,因为租约可能会过期,并且 Spring Cloud Vault 无法再使用生成的凭证访问 Vault 或服务,并且有效凭证在应用程序关闭后仍保持活动状态。spring.cloud.vault.config.lifecycle.enabledfalsespring-doc.cn

spring.cloud.vault:
    config.lifecycle:
        enabled: true
        min-renewal: 10s
        expiry-threshold: 1m
        lease-endpoints: Legacy
  • enabled控制是否将与密钥关联的租约视为已续订,以及是否轮换过期的密钥。 默认启用。spring-doc.cn

  • min-renewal设置续订租约之前至少需要的持续时间。 此设置可防止续订过于频繁。spring-doc.cn

  • expiry-threshold设置 过期阈值。 租约在到期前续订配置的时间段。spring-doc.cn

  • lease-endpoints设置 Renew 和 Revoke 的终端节点。 旧版适用于 0.8 之前的 Vault 版本和 SysLeases 版本。spring-doc.cn