用途:该技能提供 HashiCorp Vault 的专家级协助,Vault 是用于安全访问密钥的工具,密钥包括 API 密钥、密码、证书等需严格控制访问的内容。Vault 提供统一接口并具备严格访问控制与详细审计日志。
主要能力:集中式密钥管理,安全存储与访问 API 密钥、数据库凭据、证书和加密密钥;动态按需凭据,生成任务完成后自动过期的短期唯一数据库凭据;Transit 引擎提供加密即服务,在不向应用暴露密钥的前提下加密数据;PKI 与证书颁发机构自动化,为微服务和内部域名签发短期 X.509 证书。
使用方式:快速开始可运行 vault server -dev,设置 export VAULT_ADDR='http://127.0.0.1:8200',用 vault kv put secret/hello foo=world 写入密钥,用 vault kv get secret/hello 读取。密钥引擎按层级挂载路径组织,如 secret/data/my-app/config 对应 KV v2 持久密钥,database/creds/readonly-user 对应动态临时数据库角色,transit/encrypt/customer-pii 对应不导出密钥的加密服务,pki/issue/internal-domain 对应动态 TLS 证书生成。动态数据库凭据可通过 vault read database/creds/readonly-role 获取,返回 lease_id、lease_duration、username、password。Kubernetes 中的应用可用 ServiceAccount 令牌通过 Kubernetes Auth 认证,示例使用 node-vault 读取令牌并调用 kubernetesLogin,再以返回的 client_token 读取密钥。
适用场景:需要集中管理密钥、为数据库生成短期凭据、对敏感 PII 做加密与密钥轮换、为微服务自动签发证书,以及通过 Kubernetes Auth、AWS IAM Auth 或 Azure Managed Identity 进行身份认证的环境。
限制与注意事项:不要存储 Vault Root Token,初始化与解封后应立即吊销;不要在 Vault API 上禁用 TLS;不要授予宽泛的通配符策略,应遵循最小权限。常见问题包括 Vault 处于 sealed 状态需用 Shamir 密钥分片执行 vault operator unseal 或使用自动解封;permission denied (403) 通常因令牌或 AppRole 策略缺少对应路径读取权限;token expired and cannot be renewed 表示租约达到最大 TTL,需重新认证获取新令牌。资料未提供具体收费、价格与平台支持信息。