Operasyonlar ve Yönetim Denetim Konfigürasyonları
Denetim konfigürasyonları
1) Amaç ve değer
Denetim konfigürasyonları, kanıtlanabilir hesap verebilirliği ve değişimin tekrarlanabilirliğini sağlar: kim, ne zaman ve ne değişti; Haklı olan; Test edildiği gibi; Nasıl geri çekilir. Bu, olay riskini, sırların sızmasını, uyumluluk tutarsızlıklarını ve prod'daki "gizli" düzenlemeleri azaltır.
Önemli sonuçlar:- Yapılandırmalar için tek bir doğruluk kaynağı (SoT).
- Tam değişiklik izleme (uçtan uca).
- Öngörülebilir sürümler ve hızlı geri dönüş.
- Uyum ve güvenlik politikaları.
2) Kapsam
Altyapı: Terraform/Helm/Ansible/K8s manifestoları, ağ ACL/WAF/CDN.
Uygulama yapılandırmaları: 'yaml/json/properties' dosyaları, özellik bayrakları, limitler/kotalar.
Sırlar ve anahtarlar: kasa/kms, sertifikalar, belirteçler, şifreler.
Veri boru hatları: şemalar, dönüşümler, ETL/akış çizelgeleri.
Entegrasyonlar: PSP/KYC/sağlayıcılar, webhook'lar, yeniden deneme/zaman aşımı politikaları.
Gözlemlenebilirlik: Uyarı kuralları, gösterge panoları, SLO/SLA.
3) İlkeler
Veri olarak yapılandırma: bildirimsel, sürümlü, test edilebilir eserler.
Değişmezlik ve idempotency: ortamın koddan yeniden üretilebilirliği.
Şemalar ve sözleşmeler: sıkı doğrulama (JSON-Schema/Protobuf), geri/ileri uyumluluk.
Manuel düzenlemeleri en aza indirgemek: yalnızca MR/PR ile değişiklikler.
Görevlerin ayrılması (SoD) ve 4-gözler: yazar! = deploler; zorunlu inceleme.
Atıf ve imzalar: taahhütlerin/sürümlerin imzaları, eserlerin onaylanması.
4) Denetim mimarisi
1. SoT olarak SCM (Git): Depodaki tüm yapılandırmalar,'ana 'dal korunur.
2. Kayıtlar:- Config Registry (yapılandırmalar, mülkler, SLA'lar, ortamlar dizini),
- Şema Kayıt Defteri (yapılandırma/olay şeması sürümleri),
- Politika Motoru (OPA/Conftest) - bir dizi kontrol.
- 3. CI/CD-gates: format/şema, statik kontrol, poliçe kontrolleri, gizli tarama, dry-run, değişim planı.
- 4. Teslimat: GitOps (örn. ArgoCD/Flux) sürüklenme dedektörü ve uygulama denetim günlükleri ile.
- 5. Kanıt Deposu: bir denetim eserleri deposu (plan, günlükler, imzalar, derlemeler, SBOM).
- 6. Eylem günlüğü: 'CREATE/APPROVE/APPLY/ROLLBACK/ACCESS' olaylarının değişmez günlüğü (yalnızca ekle).
5) Denetim veri modeli (minimum)
Сущности: 'ConfigItem (id, env, service, owner, schema_version, sensitivity)'
События: 'change _ id, aktör, eylem, ts, diff_hash, sebep, onaylar []'
Артефакты: 'plan _ url, test_report_url, policy_report, imza, release_tag'
Bağlantılar: RFC/bilet ↔ PR ↔ depla (sha) ↔ yayın kaydı ↔ SLO izleme.
6) Değişim süreci (uçtan uca)
1. RFC/bilet - hedef, risk, geri dönüş.
2. PR/MR - linting, şematik doğrulama, politika kontrolleri, gizli tarama.
3. Plan/önizleme - kuru çalışma/plan, kaynak diff, maliyet/etki tahmini.
4. Onayla (4-eyes/SoD, yüksek risk altındaki CAB etiketi).
5. Dağıtım (pencere/takvime göre) - GitOps uygular; sürüklenme uyarısı etkinleştirildi.
6. Doğrulama - duman/SLO-gardrails, sonucun onaylanması.
7. Kanıtları arşivleme - kanıt deposu; Yapılandırma sözlüğü güncelleniyor.
7) Politikalar ve kurallar (örnekler)
SoD: PR yazarı prod tutmaz.
Zaman sınırı: "Donma" dışında üretim yok.
Kapsam: Hassas anahtarların değiştirilmesi Güvenlik/Uyumluluktan 2 güncelleme gerektirir.
Sırlar: repoda tutulması yasaktır; Yalnızca vault path + access rol referansları.
Ağlar: '0 ile giriş. 0. 0. Geçici istisna ve TTL olmaksızın 0/0'a izin verilmez.
Uyarılar: CAB olmadan P1 kritikliğini azaltmak yasaktır.
8) Gizli kontrol
Vault/KMS depolama, kısa TTL'ler, otomatik rotasyon.
CI'da gizli tarama (anahtar desenler, yüksek entropi).
Çevreler/roller tarafından sırların izolasyonu; Gerekli minimum ayrıcalıklar.
Şifreleme "telde've" dinlenirken "; Sırlara erişimin kapalı denetim günlükleri.
9) Araçlar (değişken)
Lint/Şema: 'Yamllint', 'jsonschema', 'ajv', 'cue'.
Politika: OPA/Conftest, Checkov/tfsec/kube-policies.
GitOps: ArgoCD/Flux (sürüklenme algılama, denetim, RBAC).
Sırlar: HashiCorp Vault, bulut KMS, cert yöneticileri.
Tarayıcılar: trufflehog, gitleaks (sırlar); OPA/Regula (kurallar).
Raporlama: DWH/BI'ye ihracat kayıtları, olay bağlantısı ve sistem değişikliği.
10) Kural ve eser örnekleri
Limit Yapılandırması için JSON-Schema
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) - deny '0. 0. 0. 0/0 'в girişi
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
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 ay içinde uyarıların kritikliğini azaltan
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 example (gerekli alanlar)
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) İzleme ve uyarı
Sürüklenme algılama: bir kümede yapılandırma ≠ Git - P1/P2 sinyali + otomatik iyileştirme (uzlaştırma).
Yüksek riskli değişim: ağları/sırları/politikaları değiştirin - # security-ops'ta bildirim.
Eksik kanıt: plan/imza/rapor olmadan dağıtım - blok veya uyarı.
Süresi dolan varlıklar: sertifika/anahtar geçerlilik süreleri - proaktif uyarılar.
12) Metrikler ve KPI'lar
Denetim Kapsamı % - şemalar/politikalar/tarayıcılar altındaki yapılandırmaların payı.
Drift MTTR, ortalama drift temizleme süresidir.
Politika Uyumluluğu % - Politikaları PR'ye iletin.
Sırlar Sızıntı MTTR - sızıntıdan geri çağırma/rotasyona.
Backout Rate - yapılandırma değişikliklerinin geri dönüşlerinin oranı.
Ortalama Değişim Boyutu - hatlarda/kaynaklarda ortalama fark (daha az daha iyidir).
13) Raporlama ve Uyumluluk
Denetim izleri: 1-3 yıl ≥ depolama (gereksinimlere göre), değiştirilemez depolama.
Düzenleyici: ISO 27001/27701, SOX benzeri SoD, GDPR (PII), endüstri gereksinimleri (iGaming: GGR/NGR hesaplamalarındaki değişiklikler, limitler, bonus kuralları).
Aylık raporlar: üst değişiklikler, politika ihlalleri, sürüklenme, süresi dolan sertifikalar, rotasyon durumu.
14) Oyun kitapları
A. Prod'da tespit edilen drift
1. Etkilenen hizmet için otomatik para yatırmayı engelleyin.
2. Geçerli durumun anlık görüntüsünü kaldırın.
3. Git ile karşılaştırın, 'uzlaştırma' veya geri alma işlemini başlatın.
4. Olay P2 oluşturun, sürüklenme kaynağını belirtin (manuel kubectl/konsol).
5. Korumayı etkinleştir: Doğrudan değişiklik yok (PSP/ABAC), sahiplerine bildir.
B. PSP sertifikasının süresi doldu
1. Yedekleme yoluna/PSP'ye geçin, zaman aşımlarını/geri dönüşleri azaltın.
2. PKI işlemi yoluyla yeni bir sertifika verin, yapılandırmayı Git aracılığıyla güncelleyin.
3. Duman testi, dönüş trafiği, olayı kapat, ölüm sonrası.
C. Gizli hit PR
1. Anahtar/belirteci iptal et, rotasyon kullan.
2. Geçmişi yeniden yaz/nesneyi önbellekten kaldır, RCA ver.
3. Gizli tarayıcıya bir kural ekleyin, komutu eğitin.
15) Anti-desenler
Manuel düzenlemeler iz ve geri alma olmadan "satışta".
Şemalar olmadan ve doğrulama olmadan yapılandırır.
KMS/Vault olmadan Git/CI değişkenlerinde sırlar.
"Küresel süper sağ" eşdeğeri olan monorepolar.
Sürüklenme uyarıları ve uygulama günlükleri olmadan "Sağır" GitOps.
Büyük PR'ler "hepsi bir kerede" - belirsiz atıf ve yüksek risk.
16) Kontrol listeleri
Birleştirmeden önce
- Diyagram ve linterler geçti
- OPA/Conftest politikaları yeşil
- Gizli tarama - "temiz"
- Plan/diff ekli, risk değerlendirildi, geri dönüş hazır
- 2 Nisan (prod) ve SoD bir araya geldi
Dağıtımdan önce
- Sürüm penceresi ve takvim kontrol edildi
- Drift izleme aktif
- SLO gardrails yapılandırılmış, duman testleri hazır
Aylık
- Anahtarların/sertifikaların programa göre döndürülmesi
- Sahiplerin ve hakların envanteri
- DGİ/Hariç Tutma Kuralları İncelemesi (TTL)
- Yangın-matkap testi
17) Tasarım ipuçları
Değişiklikleri küçük difüslere bölün; Bir PR bir hedeftir.
RFC/risk/geri alma ile zorunlu PR/commit şablonları.
Dinamik yapılandırmalar için, denetim ve geri alma ile "yapılandırma merkezleri" kullanın.
Devreleri yönetin; Göçler olmadan kırmayı yasaklar.
"Yapılandırma haritasını" görselleştirin: ne, nerede, kim kontrol edilir.
18) Değişim ve Olay Yönetimi ile Entegrasyon
PR ↔ RFC ↔ olaylar/post-mortemler ↔ serbest bırakma takvimi.
Otomatik bağlama metrikleri (SLO/iş) sürümleri yapılandırmak için.
Eski bayrakları/istisnaları (TTL) silmek için görevleri otomatik oluşturun.
19) Alt satır
Yapılandırmaların denetlenmesi "kağıt raporlama'değil, operasyonel bir güvenilirlik mekanizmasıdır: yapılandırmalar veridir, değişiklikler kontrol edilir ve doğrulanabilir, sırlar kilit altındadır ve tüm hikaye şeffaf ve doğrulanabilir. Bu şekilde istikrarlı, uyumlu ve öngörülebilir bir platform oluşturulur.