Практикум Vault — итоги
Практикум показал, как убрать plaintext credentials из Git и .env, централизовав секреты в HashiCorp Vault. Ниже — выводы по каждому блоку и связь с GitOps.
1. Зачем Vault в инфраструктуре
Секреты хранятся в Vault, Git остаётся без passwords и API keys — 8.03/117.
| Было | Стало |
|---|---|
.env в репозитории | path secret/demo/db в Vault |
| Один файл на все среды | secret/dev/, secret/prod/ |
| Root token в CI | AppRole, K8s auth, OIDC |
2. Шаг 1 — KV v2
- Vault в Docker
-devнаhttp://127.0.0.1:8200. - Движок kv-v2 с версионированием и metadata.
- Команды
vault kv put/vault kv get— базовый CRUD секретов. - Dev-режим только lab — нет persistence, предсказуемый root token.
3. Шаг 2 — Policies и AppRole
- Policy
demo-read— least privilege, read наsecret/data/demo/*. - AppRole —
role_id+secret_id→ short-livedclient_token. - Root token — break-glass для админов, не для приложений и CI.
- Audit log — обязателен в production для compliance — 8.07/114.
4. Шаг 3 — приложение, K8s, CI
- Fetch at startup — секрет в памяти процесса, hvac или HTTP API.
- External Secrets Operator — Vault → Kubernetes Secret без YAML password в Git.
- Связка с GitOps practicum — Argo CD sync ExternalSecret, ESO sync значений.
- GitHub Actions + OIDC — JWT вместо long-lived
VAULT_TOKEN— 8.12/8. - Rotation —
vault kv putновой версии, ESO refresh или restart Pod.
5. Production checklist
| Требование | Lab | Production |
|---|---|---|
| HA Vault | Нет | Raft / Consul cluster |
| Auto-unseal | Dev auto | KMS, HSM |
| TLS | HTTP localhost | HTTPS, cert rotation |
| Auth для apps | AppRole | K8s auth, SPIFFE, OIDC |
| Audit | Опционально | Immutable + SIEM |
| Policies | demo-read | По сервисам и средам |
DevSecOps-практики — 8.12/3.
6. Связка GitOps + Vault (итоговая схема)
Git описывает структуру (какой Secret нужен). Vault хранит значения. Argo CD не видит password в diff PR.
7. Куда идти дальше
| Тема | Ссылка |
|---|---|
| GitOps цикл | 8.13 intro |
| Kubernetes | 8.06/211 |
| OIDC CI | 8.12/8 |
| Самопроверка | Чек-лист |
Чек-лист · Методы защиты данных