DevOps/SRE/平台工程师在 Vault shop 里的硬通货,$70.50 换一张 secrets management 入门牌;如果公司不用 Vault,就别考。
先把考试形式、适合人群、备考时长和学习范围讲清楚,再决定要不要投入时间。
HashiCorp Certified: Vault Associate (002) 是 HashiCorp 官方的 Vault 入门级认证,专门验证你对 secrets management 这一块的核心理解。考试 60 题、60 分钟、$70.50 美金、70% 通过 — 跟 Terraform Associate 一样的紧凑节奏,平均 1 分钟 1 题,没动手跑过 Vault dev mode 几乎不可能裸过。
跟 Terraform Associate 不一样的地方在于:Terraform 是横向技能(管所有云资源),Vault 是纵向技能(只管 secrets 和加密这一块)。考纲覆盖九大领域:Auth Methods(Token、AppRole、Kubernetes、AWS IAM、OIDC)、Policies(HCL 语法、path matching、capabilities)、Tokens(Service vs Batch、Accessor、TTL)、Leases(动态密钥的 renew/revoke)、Secret Engines(KV v1/v2、Database、AWS、PKI、Transit)、Encryption as a Service、Architecture(Seal/Unseal、Shamir、storage backend)、Deployment(Raft vs Consul、Replication、HCP Vault)、Access Management(Vault Agent、VSO)。重点是 Auth Methods 和 Secret Engines 这两大块,加起来差不多 50% 的题量。
绕不开的话题 — IBM 收购与 BSL 许可证:跟 Terraform 同样的剧情,2023 年 8 月 Vault 也从 MPL 2.0 改成了 BSL 1.1,2024 年 4 月 IBM 以 64 亿美元收购 HashiCorp。社区也有 fork(OpenBao,Linux Foundation 接手),但目前企业市场仍然 90%+ 在用官方 Vault,HashiCorp 认证依然是招聘市场认可的硬通货。考试只考 HashiCorp Vault,OpenBao 不在考纲。
这张证不适合所有人:Vault 是一个相对窄的技术 — 不像 Kubernetes 或 Terraform 那样几乎所有 DevOps 团队都用,Vault 的渗透率更多集中在金融、医疗、大型企业、合规要求高的行业。如果你目前公司用 AWS Secrets Manager / Azure Key Vault / GCP Secret Manager 解决了 80% 的需求,又没有迁移 Vault 的计划,那这张证对你的实际工作帮助有限,更多是简历加分项。
Vault Associate 002 持证人的薪资区间、对应岗位、以及真实的职业影响。
Vault 在招聘市场的定位
Vault 不像 Terraform 那样是 DevOps 岗位的"必看关键词",但它是一个明显的薪资上浮信号。一旦 JD 里出现 Vault,通常意味着这家公司:(1) 在做合规(PCI/SOC2/HIPAA/ISO27001),(2) 有专门的 platform/security 团队,(3) 给的薪资在同岗位均值之上。打开 LinkedIn 搜 "Vault DevOps Sydney",你能看到的几乎全是金融、政府、大型 SaaS 公司,给到 senior 级别 AUD 160k-185k 的不算少见。
Vault 跟 cloud-native secrets manager 的竞争关系
这是考前必须想清楚的现实问题。AWS Secrets Manager、Azure Key Vault、GCP Secret Manager 都在抢 Vault 的市场,对很多中小公司来说"用云原生服务"已经够了。Vault 的护城河在于:(1) 多云中立 — 一套 secrets 引擎管所有云,(2) 动态密钥引擎 — 数据库账号即用即生成,过期自动撤销,云原生服务做不到这种粒度,(3) Transit Engine 提供 encryption-as-a-service,应用不接触密钥本身。结论:如果你的目标公司是金融/政府/大型企业 — 学;如果是创业公司 / 纯 AWS 单云栈 — 优先级低于 SCS-C02(AWS Security Specialty)。
最适合考的三类人:
不建议考的人:纯前端 / 移动开发;没碰过 Linux CLI 的零基础;公司只用 AWS/Azure 原生 secret manager 且短期没有迁移计划的工程师;非技术岗。
过来人总结的分阶段备考节奏,按周拆分,不是空话。
不要看视频。本地 `vault server -dev` 启动一个 dev 模式 Vault,跟着官方 Tutorial Hub(developer.hashicorp.com/vault/tutorials)做完 "Getting Started" 和 "Secrets Management"。亲手敲 `vault kv put secret/foo bar=baz`、`vault kv get secret/foo`、`vault auth enable approle`、`vault token create`,看一遍 `VAULT_ADDR`、`VAULT_TOKEN` 这些环境变量怎么生效。这一步是后续所有学习的基础 — 没动过手,看再多文档都是抽象概念。
按官方 Certification Prep Path 走完九大考纲。重点章节:AppRole(机器认证的事实标准,必须搞懂 RoleID + SecretID 的 two-step pull 流程)、Kubernetes Auth(Pod ServiceAccount 怎么换 Vault token)、KV v1 vs v2(v2 有版本控制,路径多一层 `data/`)、Database 动态密钥(动手配一次 PostgreSQL 动态用户生成)、Transit Engine(自己跑一遍 encrypt/decrypt)。每个 auth method 和 secret engine 都至少在 dev mode 里 enable 一次。
Policy 是考试最爱出陷阱题的地方。亲手写 5-10 个 HCL policy,覆盖 `path "secret/data/*"`、wildcard `+` vs `*` 的区别、capabilities 的细节(特别是 `sudo` 和 `deny` 的优先级)。Token 部分必须搞清楚:Service Token vs Batch Token 的区别(Batch 不持久化、不能 renew、性能更好)、Token Accessor 的用途(管理员能 revoke 但看不到原 token)、Orphan Token 的场景。这一阶段做完,policy 题和 token 题基本不会丢分。
Seal/Unseal + Shamir 必考 — 至少能讲清楚为什么需要 unseal、Shamir 是怎么把 master key 切分成 5 份要 3 份才能恢复、Auto-unseal 怎么用云 KMS 解决。Storage Backend 要分清 Integrated Storage (Raft) 是 Vault 1.4+ 推荐的、Consul 是 legacy 选项。最后刷 2-3 套 mock exam(Bryan Krausen 在 Udemy 有完整的 6 套),稳定 80% 以上再去考。
过来人的备考时长、分数、以及踩过的坑。
工作里写过一年 Vault policy,本以为很简单,结果模考第一次只有 62%。最大的坑是 Token Accessor — 我从来没用过,也没想过 accessor 跟 token 本身有什么区别。后来翻文档才知道 accessor 是为了让管理员能 revoke 但又不暴露 token 本身。建议哪怕用过 Vault 也要把 token 这一章重新过一遍。
我们公司用 Vault 做 Kubernetes secret injection,所以 Auth Methods 和 Vault Agent 这块我很熟。完全没准备的是 Replication 和企业版功能 — 那些我们没用过。考试里大概有 4-5 道题问 Performance Replication vs DR Replication 的区别,幸亏考前一晚扫了一遍官方 docs 才答出来。
Linux 命令行没问题,但 Vault 的 secret engine 概念对我来说全新。最难的是动态密钥那一块 — 完全反直觉,"数据库账号每次用完就销毁",跟我以前的 password vault 思维完全不一样。建议安全背景的同学多动手跑 database secret engine,看一次 lease 怎么自动 revoke 比看 10 篇文章都有用。
| Vault Associate 002 | Terraform Associate | CKA | |
|---|---|---|---|
| 机构 | HashiCorp | HashiCorp | CNCF |
| 级别 | 助理级 | 助理级 | 助理级 |
| 考试费 | $0 | $70.5 | $395 |
| 时长 | 90 min | 60 min | 120 min |
| 题量 | 65 | 57 | 17 |
| 有效期 | 3 年 | 2 年 | 3 年 |
**60 分钟 60 题,节奏 = 1 分钟 1 题**:跟 Terraform Associate 一样紧。第一遍快速过,长场景题立刻 mark 跳过,最后 10 分钟回头攻坚。
**场景判断题占大头**:Vault 的题很少考"这个命令的语法是什么",更多是"在 X 场景下应该用 Y 还是 Z"。比如 "Pod 要从 Vault 读 secret 用什么 auth method" — 答案是 Kubernetes Auth;"机器之间要互相认证不用人介入" — 答案是 AppRole。
**Policy HCL 题靠肌肉记忆**:考前一晚把官方 docs 的 Policies 那一页过一遍,重点记 capability 列表(create/read/update/delete/list/sudo/deny)和 wildcard 区别(`*` 匹配任意路径段,`+` 匹配单层)。
**多选题题干会明确说选几个**:写着 "Choose 2" 就只能选 2,多选少选都算错。
**企业版功能必有 3-5 道题**:Performance Replication(横向扩展读性能,主写副读)vs DR Replication(灾备,副本不能写)vs Namespace(多租户隔离)— 这三个概念必须搞清楚区别,考前一晚扫一遍即可。
**线上考试 PSI 监考**:跟 Terraform 考试同一个平台。需要安静独立空间、护照、外接摄像头允许 360° 环顾房间。提前 30 分钟登录,PSI 系统经常抽风。
**Token vs Token Accessor 不分** — Token 本身是 secret,Accessor 是元数据引用,可以用来 lookup 或 revoke 但不能拿来认证。考试至少 1-2 道题考 "管理员怎么 revoke 一个 token 但又不能知道 token 本身的值" — 答案就是 Accessor。
**Response Wrapping 用途搞错** — Response Wrapping 不是加密 secret,是把 secret 包装成一个一次性的 wrapping token,传递给消费方后由消费方 unwrap。典型场景是 CI/CD 把 secret 安全地传给容器,wrapping token 即使被截获也只能用一次。这是考试经典场景题。
**Vault Agent vs 直接调 API 混淆** — Vault Agent 是 client-side daemon,做两件事:auto-auth(自动登录拿 token)和 template(把 secret 渲染到文件给应用读)。它不是 server 组件,不替代 Vault server。题目会问 "应用不想集成 Vault SDK,怎么让它读到 secret" — 答案是 Vault Agent template。
**AppRole 的 two-step pull 只记一半** — AppRole 认证需要 RoleID(公开的,类似 username)+ SecretID(机密的,类似 password)两个值才能换 token。常见错误是只记得 RoleID 或者把 SecretID 当成永久凭证 — SecretID 默认是 single-use 的,用一次就失效,必须 wrap 后传递。
**Seal Type 不分** — Vault 支持多种 seal 模式:Shamir(手动 unseal,5 份 key 要 3 份)、Auto-unseal(用 AWS KMS / Azure Key Vault / GCP KMS 自动解封)、Transit seal(用另一个 Vault 实例解封)。考试会问场景题 — 比如 "在 EKS 上部署 Vault 怎么做到 pod 重启自动恢复" — 答案是 AWS KMS auto-unseal,不是 Shamir。
**KV v1 和 v2 路径搞混** — KV v2 在 API path 上多一层 `data/`,CLI 命令会自动加但 API 调用必须手写:`vault kv get secret/foo`(CLI)实际访问的是 `secret/data/foo`(API)。Policy 里写 path 必须用 API path,所以 v2 的 policy 必须写 `path "secret/data/foo"` 而不是 `path "secret/foo"`。
**以为 Batch Token 等同 Service Token** — Batch Token 不写存储后端,性能极高但不能 renew、不能创建子 token、Vault 重启就失效。适合短生命周期的高频请求场景(比如 CI job),不适合长生命周期的 worker。