Vault — parol, token, certificate, encryption key va boshqa maxfiy ma’lumotlarni markaziy boshqarishga mo‘ljallangan secret management platformasi.
Vault secretlarni saqlash bilan birga dynamic credential yaratish, access policy qo‘llash, audit yuritish va cryptographic operatsiyalarni service sifatida taqdim etishi mumkin.
Secret
Secret quyidagilar bo‘lishi mumkin:
- database paroli;
- API token;
- private key;
- TLS certificate;
- cloud credential;
- encryption key;
- SSH credential;
- application configurationdagi maxfiy qiymat.
Secret source repository, container image yoki umumiy config faylida ochiq saqlanmaydi.
Server
Vault server API requestlarni qabul qiladi va storage backend bilan ishlaydi.
U:
- authentication;
- policy;
- secret engine;
- lease;
- audit;
- encryption
jarayonlarini boshqaradi.
Client Vaultga TLS orqali ulanadi.
Storage
Vault encrypted ma’lumotni storage backend’da saqlaydi.
Storage raw secretni ochiq ko‘rmasligi kerak.
Yuqori mavjudlik, backup va consistency backend tanloviga bog‘liq.
Storage backup mavjud bo‘lsa ham unseal key yoki recovery material bo‘lmasa tiklash mumkin emas.
Seal
Vault ishga tushganda sealed holatda bo‘lishi mumkin.
Sealed holatda server storage’dagi secretlarni decrypt qila olmaydi.
Unseal jarayoni root encryption keyni ochish uchun kerakli materialni taqdim etadi.
Auto-unseal tashqi key management service bilan ishlashi mumkin.
Shamir secret sharing
Unseal kaliti bir nechta share’ga bo‘linishi mumkin.
Masalan:
5 ta share, kamida 3 tasi kerak
Bitta shaxs to‘liq kalitga ega bo‘lmaydi.
Share’lar turli ishonchli egalar tomonidan xavfsiz saqlanadi.
Authentication
Client kimligini auth method orqali tasdiqlaydi.
Usullar:
- token;
- cloud workload identity;
- Kubernetes service account;
- LDAP;
- OIDC;
- AppRole;
- certificate;
- platformaga xos identity.
Applicationga uzoq muddatli static root token berilmaydi.
Policy
Policy client qaysi path va operationlarni bajarishini belgilaydi.
Misollar:
- faqat o‘z application secretini o‘qish;
- database credential yaratish;
- certificate olish;
- boshqa namespace’ga kira olmaslik.
Default deny va minimal privilege tamoyili qo‘llanadi.
Token
Authentication natijasida Vault token berishi mumkin.
xususiyatlariga ega.
Token log, command history yoki monitoringda oshkor bo‘lmasligi kerak.
Secret engine
Secret engine ma’lum turdagi secret yoki cryptographic xizmatni taqdim etadi.
Turlari:
Har engine alohida pathga mount qilinadi.
Dynamic secret
Vault external tizimda vaqtinchalik credential yaratadi.
- application credential so‘raydi;
- Vault yangi user yaratadi;
- qisqa TTL beradi;
- lease tugaganda userni bekor qiladi.
Bu umumiy uzoq muddatli parolni kamaytiradi.
Lease
Dynamic secret lease bilan beriladi.
- expiration;
- renewal;
- revoke
qoidalariga ega.
Application renewal muvaffaqiyatsiz bo‘lsa credential tugashiga tayyor bo‘lishi kerak.
Revocation
Token yoki lease bekor qilinganda unga bog‘liq credentiallar ham yopilishi mumkin.
Incident paytida:
revocation qilinishi mumkin.
Bu static parolni barcha serverda qo‘lda almashtirishdan tezroq.
KV secret
Key-value engine static secret saqlaydi.
Versionlangan variant eski qiymatlarni saqlashi mumkin.
Bu accidental overwrite’dan tiklanishga yordam beradi.
Version history retention va permanent delete siyosati belgilanadi.
PKI
PKI engine certificate authority vazifasini bajarishi mumkin.
U:
- certificate issue;
- TTL;
- role;
- revocation;
- CRL
ni boshqaradi.
Qisqa umrli certificate rotationni soddalashtiradi.
Root CA va intermediate CA xavfsizlik modeli alohida loyihalanadi.
Transit encryption
Application raw encryption keyni olmaydi.
Data Vault APIga yuborilib encrypt yoki decrypt qilinadi.
Vault ciphertext qaytaradi.
Bu key managementni markazlashtiradi, ammo latency va availability dependency qo‘shadi.
Audit
Audit device request va response metadata’ni qayd etadi.
Secret qiymatlar odatda hash yoki redaction bilan himoyalanadi.
- kim;
- qachon;
- qaysi path;
- qaysi operation;
- natija
haqida ma’lumot beradi.
Audit storage’ning o‘zi himoyalanadi.
High availability
Bir nechta Vault node ishlashi mumkin.
Active node write va requestlarni boshqaradi, standby node failoverga tayyor turadi.
Load balancer health check sealed va active holatni tushunishi kerak.
Agent
Vault Agent application nomidan authentication, token renewal va template renderingni boshqarishi mumkin.
Application Vault SDKni bevosita ishlatmasdan local file yoki proxy orqali secret oladi.
Rendered fayl permissioni qat’iy cheklanadi.
Namespace
Katta tashkilotda namespace policy, auth method va secret pathlarni mantiqiy ajratishi mumkin. Parent administrator ko‘proq ko‘rish huquqiga ega bo‘lishi mumkin, shuning uchun tenant modeli aniq belgilanadi.
Secret zero
Application ishga tushishi uchun dastlab Vaultga qanday autentifikatsiya qilishi secret zero muammosi hisoblanadi. Workload identity yoki platforma service accounti static bootstrap parolini kamaytiradi.
Rotation
Static secret ham muntazam almashtiriladi. Rotation eski va yangi credential bir muddat birga ishlaydigan bosqichli jarayon bo‘lishi mumkin.
Disaster recovery
Storage snapshot, seal material, audit konfiguratsiyasi va DNS failover birgalikda sinovdan o‘tadi. Faqat backup fayli mavjudligi real tiklanishni kafolatlamaydi.
Root token
Boshlang‘ich root token faqat dastlabki sozlash va favqulodda boshqaruv uchun ishlatiladi. Kundalik application accessi alohida auth method va cheklangan policy orqali beriladi.
Bog‘liq tushunchalar
Secret management, Dynamic secret, Lease, Token, Policy, Authentication, PKI, Transit encryption, Audit log, Auto-unseal, Consul