Amallar we Dolandyryş → Konfigurasiýa barlagy
Konfigurasiýa barlagy
1) Maksady we gymmaty
Konfigurasiýalaryň barlagy üýtgeşmeleriň subut edilip bilinjek jogapkärçiligini we gaýtalanmagyny üpjün edýär: kim, haçan we näme üýtgedi; nämä esaslanýar; nädip barlanyldy; nädip aýlanmaly. Bu hadysalaryň, syrlaryň syzmagy, komplayensiň we önümdäki "gizlin" düzedişleriň laýyk gelmezligi töwekgelçiligini azaldar.
Esasy netijeler:- Konfigurasiýalar üçin ýeke-täk hakykat çeşmesi (SoT).
- Üýtgeşmeleriň doly ýoly (end-to-end).
- Öňünden aýdylýan goýberişler we çalt yza gaýdyp gelmek.
- Kadalaşdyryjy talaplara we howpsuzlyk syýasatlaryna laýyk gelmek.
2) Gurşaw sebiti
Infrastruktura: Terraform/Helm/Ansible/K8s manifestleri, ACL/WAF/CDN torlary.
Amaly gapma-garşylyklar: 'yaml/json/properties' faýllary, baýdaklar, çäkler/kwotalar.
Syrlar we açarlar: vault/kms, şahadatnamalar, bellikler, parollar.
Maglumat paýlaýynlary: shemalar, üýtgeşmeler, ETL/akym meýilnamalary.
Integrasiýa: PSP/KYC/üpjün edijiler, webhuklar, retry/timeout syýasaty.
Syn edilişi: alertleriň, daşbordlaryň, SLO/SLA düzgünleri.
3) Ýörelgeler
Config as Data: deklaratiw, wersiýa edilýän, synagdan geçirilýän artefaktlar.
Immunitet we idempotentlik: koddan gurşawyň köpelmegi.
Shemalar we şertnamalar: berk tassyklama (JSON-Schema/Protobuf), back/forward-gabat gelmek.
El bilen düzedişleri azaltmak: diňe MR/PR arkaly üýtgetmek.
Borçlaryň bölünişi (SoD) we 4-eyes: awtor! = deploer; hökmany aglamak.
Atributiýa we gollar: komitleriň/relizleriň gollary, artefaktlaryň bellikleri.
4) Auditiň arhitekturasy
1. SoT hökmünde SCM (Git): ähli gaplar ammarda, 'main' şahasy goralýar.
2. Registrler:- Config Registry (konfigurasiýa, eýeçilik, SLA, gurşaw katalogy),
- Schema Registry (konfigurasiýalaryň/çäreleriň shemalarynyň wersiýalary),
- Policy Engine (OPA/Conftest) - barlaglar toplumy.
- 3. CI/CD-geýtlar: format/shema → statiki barlag → policy checks → gizlin skan → dry-run → üýtgetmek meýilnamasy.
- 4. Delivery: GitOps (mysal üçin ArgoCD/Flux) drift detektor we ulanyş audit ýazgylary bilen.
- 5. "Evidence Store": audit artefaktlarynyň ammary (meýilnama, ýazgylar, gollar, bildler, SBOM).
- 6. Hereket magazineurnaly: 'CREATE/APPROVE/APPLY/ROLLBACK/ACCESS' wakalarynyň üýtgemeýän log (append-only).
5) Audit maglumatlarynyň modeli (iň az)
Сущности: `ConfigItem(id, env, service, owner, schema_version, sensitivity)`
События: `change_id, actor, action, ts, diff_hash, reason, approvals[]`
Артефакты: `plan_url, test_report_url, policy_report, signature, release_tag`
Aragatnaşyklar: RFC/tictypo, PR, deploy (sha), release-record, monitoring SLO.
6) Üýtgetmek prosesi (ahyrky)
1. RFC/bilet → maksat, töwekgelçilik, backout.
2. PR/MR → linting, shematiki tassyklama, policy-barlaglar, syr-skan.
3. Meýilnama/prevyu → dry-run/plan, diff resurslar, baha bermek/impakt.
4. Approve (4-eyes/SoD, CAB belligi).
5. Deploy (penjire/senenama boýunça) → GitOps ulanýar; drift-alerting bar.
6. Tassyklamak → smoke/SLO-gardrail, netijäni tassyklamak.
7. Subutnamalary arhiwlemek → evidence store; konfigurasiýa sözlügini täzelemek.
7) Syýasatlar we düzgünler (mysallar)
SoD: PR awtory önümi saklamaýar.
Wagt çäkleri: "freeze" -den daşarda önümçilik deplasy bilen gadagan.
Skope: duýgur açarlary üýtgetmek üçin Security/Compliance-dan 2 sany açar gerek.
Syrlar: repoda saklamak gadagandyr; diňe vault ýoluna baglanyşyklar + giriş roly.
Torlar: ingress c '0. 0. 0. 0/0 'wagtlaýyn kadadan çykmazdan we TTL gadagan.
Alertler: CAB bolmasa P1 kritikligini azaltmak gadagandyr.
8) Syrlara gözegçilik
Vault/KMS-de saklamak, gysga TTL, awtomatiki aýlanmak.
Secret scanning в CI (açar patternleri, high-entropy).
Daşky gurşaw/rollar boýunça syrlaryň izolýasiýasy; iň az zerur artykmaçlyklar.
"Simde" we "rahat" şifrlemek; syrlara girmegiň ýapyk audit-ýazgylary.
9) Gurallar (üýtgeşik)
Lint/Schema: `yamllint`, `jsonschema`, `ajv`, `cue`.
Policy: OPA/Conftest, Checkov/tfsec/kube-policies.
GitOps: ArgoCD/Flux (drift detection, audit, RBAC).
Secrets: HashiCorp Vault, cloud KMS, cert-dolandyryjylar.
Skanerler: trufflehog, gitleaks (syrlar); OPA/Regula (düzgünler).
Hasabat: DWH/BI-de magazinesurnallaryň eksporty, hadysalar we üýtgeşmeler ulgamy bilen baglanyşyk.
10) Düzgünleriň we artefaktlaryň mysallary
Çäkleri düzmek üçin JSON-Shema
json
{
"$schema": "http://json-schema. org/draft-07/schema#",
"title": "limits",
"type": "object",
"required": ["service", "region", "rate_limit_qps"],
"properties": {
"service": {"type":"string", "pattern":"^[a-z0-9-]+$"},
"region": {"type":"string", "enum":["eu","us","latam","apac"]},
"rate_limit_qps": {"type":"integer","minimum":1,"maximum":5000},
"timeouts_ms": {"type":"integer","minimum":50,"maximum":10000}
},
"additionalProperties": false
}
Conftest/OPA (rego) - gadaganlyk '0. 0. 0. 0/0` в ingress
rego package policy. network
deny[msg] {
input. kind == "IngressRule"
input. cidr == "0. 0. 0. 0/0"
msg:= "Ingress 0. 0. 0. 0/0 is not allowed. Specify specific CIDRs or throw an exception with TTL"
}
Conftest/OPA - SoD (awtory saklap bilmez)
rego package policy. sod
deny[msg] {
input. env == "prod"
input. pr. author == input. pr. merger msg: = "SoD: PR author cannot hold in prod."
}
SQL (DWH) - bir aýyň içinde alertleriň kritikligini kim peseltdi
sql
SELECT actor, COUNT() AS cnt
FROM audit_events
WHERE action = 'ALERT_SEVERITY_CHANGED'
AND old_value = 'P1' AND new_value IN ('P2','P3')
AND ts >= date_trunc('month', now())
GROUP BY 1
ORDER BY cnt DESC;
Git commit message
feat(config/payments): raise PSP_B timeout to 800ms in EU
RFC: OPS-3421
Risk: Medium (PSP_B only, EU region)
Backout: revert PR + restore timeout=500ms
Tests: schema ok, conftest ok, e2e ok
11) Gözegçilik we alerting
Drift-detekt: ≠ Git → P1/P2 signal + awto-remediation (reconcile).
High-risk change: torlary/syrlary/syýasatlary üýtgetmek - -ops #security habarnama.
Missing evidence: meýilnama/gol/hasabatsyz deploy - blok ýa-da alert.
Expired assets: şahadatnamalaryň/açarlaryň hereket ediş şertleri → pro-active alerts.
12) Metrikler we KPI
Audit Coverage% - shemalaryň/syýasatlaryň/skanerleriň aşagyndaky konfigurasiýalaryň paýy.
Drift MTTR - drifti ýok etmegiň ortaça wagty.
Policy Compliance% - syýasatçynyň PR-e geçmegi.
Secrets Leak MTTR - syzmakdan yzyna alynmaga/aýlanmaga çenli.
Backout Rate - öwrülişik-üýtgeşmeleriň paýy.
Mean Change Size - setirler/çeşmeler boýunça ortaça diff (az - has gowy).
13) Hasabatlylyk we laýyklyk
Auditiň yzlary: 1-3 ýyl ≥ saklamak (talaplar boýunça), üýtgemeýän ammar.
Düzgünleşdiriji: ISO 27001/27701, SOX-şuňa meňzeş SoD, GDPR (PII), pudaklaýyn talaplar (iGaming: GGR/NGR hasaplaşyklarynyň üýtgemeginiň hasaba alynmagy, çäklendirmeler, bonus düzgünleri).
Aýlyk hasabatlar: top-üýtgeşmeler, syýasatyň bozulmagy, dreýf, möhleti geçen şahadatnamalar, aýlawlaryň ýagdaýy.
14) Pleýbuklar
A. Önümde süýşme tapyldy
1. Täsir eden hyzmat üçin awto-deplony blokirläň.
2. Häzirki ýagdaýyň snapshotyny aýyryň.
3. Git bilen deňeşdiriň, 'reconcile' başlasyn ýa-da yzyna alyň.
4. P2 hadysasyny dörediň, süýşmegiň çeşmesini görkeziň (el bilen kubectl/konsol).
5. Goragy açyň: Göni üýtgeşmeleri gadagan etmek (PSP/ABAC), eýelerine habar bermek.
B. PSP şahadatnamasynyň möhleti geçdi
1. Ätiýaçlyk ýoluna/PSP geçiň, wagtlary/retraýlary peseldiň.
2. PKI prosesi arkaly täze şahadatnamany çykaryň, Git arkaly sertifikaty täzeläň.
3. Smoke-synag, traffigi yzyna gaýtarmak, wakany ýapmak, post-mortem geçirmek.
C. Gizlin PR-e girdi
1. Açary/belligi yzyna alyň, aýlanyşy işjeňleşdiriň.
2. Taryhy täzeden ýazmak/keşden artefakty aýyrmak, RCA düzmek.
3. Düzgüni gizlin skanere goşmak, topara öwretmek.
15) Anti-patternler
El bilen düzedişler "önümde" yzsyz we yzyna gaýtarylmazdan.
Shemasyz we tassyklamasyz konfigiler.
KMS/Vault bolmadyk Git/CI üýtgeýjilerindäki syrlar.
Monorepo "global super-hukuk" ekwiwalenti bilen.
"Kar" GitOps drift-alertleri we ulanyş magazinesurnallary bolmazdan.
Ullakan PR "hemme zat birbada" - düşnüksiz atributiýa we ýokary töwekgelçilik.
16) Çek-listler
Merge
- Shema we linterler geçdi
- OPA/Conftest "ýaşyl" syýasatlar
- Secret-scan - "arassa"
- Meýilnama/diff goşuldy, töwekgelçilik baha berildi, backout taýýar
- 2 uprow (prod) we SoD berjaý edildi
Deploýdan öň
- Aýna penjiresi we senenama barlandy
- Drift-gözegçilik işjeň
- SLO gardrailleri sazlandy, smoke synaglary taýýar
Her aý
- Programma boýunça açarlary/şahadatnamalary aýlamak
- Eýeleriň we hukuklaryň sanawy
- ORA/kadadan çykmalar düzgünleriniň review (TTL)
- Playbook hadysasynyň synagy (fire-drill)
17) Dizaýn maslahatlary
Üýtgeşmeleri kiçi difflere bölüň; bir PR - bir maksat.
RFC/töwekgelçiligi/yza çekilmegi bilen PR/kommitleriň hökmany şablonlary.
Dinamiki konfigurasiýalar üçin audit we rollback bilen "konfigurasiýa merkezlerini" ulanyň.
Shemalary wersiýa ediň; göçmezden breaking gadagan ediň.
"Konfigurasiýa kartasyny" görüň: näme, nirede, kim tarapyndan dolandyrylýar.
18) Üýtgeşmeleri we hadysalary dolandyrmak bilen integrasiýa
PR, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC, RFC.
Metrikleri awtomatiki baglanyşdyrmak (SLO/business)
Köne baýdaklary/kadadan çykmalary (TTL) aýyrmak üçin awto-dörediji meseleler.
19) Jemleýji
Konfigurasiýalaryň barlagy "kagyz hasabatlylygy" däl-de, ygtybarlylygyň operasiýa mehanizmi bolup durýar: konfigiler - maglumatlar, üýtgeşmeler - gözegçilik edilýän we barlanylýan, syrlar - gulpda, tutuş hekaýa bolsa aç-açan we barlanylyp bilner. Durnukly, oňat we öňünden aýdyp boljak platforma şeýle gurulýar.