GH GambleHub

Yapılandırmaları ve sırları yönetin

Yapılandırmaları ve sırları yönetin

1) Neden ihtiyacınız var

Konfigürasyonlar ve sırlar üretim platformunun "kanı'dır. Yapılandırmadaki bir hata p95'e düşer, sızan sır bir P1 olayıdır. Amaç bir yapılandırma/sır yapmaktır:
  • Öngörülebilir (şemalar, doğrulama, sürümler).
  • Güvenli (şifreleme, minimum haklar, rotasyon).
  • Yönetilen (GitOps, denetim, geri dönüşler).
  • Haklı olduğu dinamik (özellik bayrakları, sınırların parametrelendirilmesi).

2) Eserlerin sınıflandırılması

Genel yapılandırmalar: özellikler, eşikler, zaman aşımları, özellik bayrakları (sır yok).
Hassas yapılandırmalar: kritik yolların davranışını değiştiren parametreler (örneğin, ödeme limitleri).
Sırlar: şifreler/anahtarlar/belirteçler/sertifikalar/şifreleme malzemeleri.
Trust artifacts: root/intermediate sertifikaları, PKI politikaları, KMS anahtarları.

Ayrı depolama ve haklar ilkesi: kamusal ≠ hassas ≠ sırları.

3) Yapılandırma hiyerarşisi

Katmanlardan oluşan bir "piramit" oluşturun:

1. Global varsayılanlar (org çapında).

2. Çevre ('prod/stage/dev').

3. Bölge ('eu-central-1', 'us-east-1').

4. Kiracı/Marka (çoklu kiracılar için).

5. Servis (belirli mikro servis).

6. Override (çalışma zamanı) - geçici anahtarlar.

Birleşme kuralları: "Aşağıda kazanır", çatışma - sadece MR/onay yoluyla.

Örnek (YAML)

yaml defaults:
http:
timeout_ms: 800 retry: 2 prod:
http:
timeout_ms: 1200 service: payments-api overrides:
eu-central-1:
http:
timeout_ms: 1500

4) Şemalar ve doğrulama

Her yapılandırma bir şema ile bir sözleşmedir (JSON Schema/OPA/CI'daki doğrulayıcılar).

Türler, aralıklar, gerekli alanlar, varsayılan değerler.
"Guard rules" ('retry> 5', 'p95 _ target <50ms'olarak ayarlanamaz).
Otomatik kontrol CI ve uygulandığında (kabul-webhook/KRM).

JSON Şema Parçası

json
{
"type":"object",
"properties":{
"http":{"type":"object","properties":{"timeout_ms":{"type":"integer","minimum":100,"maximum":10000},"retry":{"type":"integer","minimum":0,"maximum":5}},"required":["timeout_ms"]},
"feature_flags":{"type":"object","additionalProperties":{"type":"boolean"}}
},
"required":["http"]
}

5) Yapılandırma Teslim Modelleri

Statik (görüntü pişmiş): güvenilir, ancak yeniden başlatılması gerekir.
Push/Watch :/sidecar ajanları güncellemeleri (akış/anket) alır ve uygulamayı işaret eder.
Pull on startup: Başlangıçta bir anlık görüntü elde ediyoruz (sıcak yolu basitleştirin).
Coğrafi olarak dağıtılmış yükler için kenar önbelleği/proxy.

Ana şey: atomicity ve anlık görüntülerin sürümü, uyumluluk kontrolü ve hızlı geri dönüş.

6) Araçlar ve roller

Yapılandırma mağazaları: Git (gerçeğin kaynağı) + GitOps (Argo/Flux), Parametre Mağazası/Yapılandırma Hizmeti.
Gizli depolar: Vault, AWS Secrets Manager/SSM, GCP Secrets, Azure KV.
Şifreleme: KMS/HSM, SAPS (yaş/GPG/KMS), Mühürlü Sırlar, Transit şifreleme (Vault).
Teslimat: CSI Secrets Store, Vault Agent Enjektör/Sidecar, init-konteynerler.
Bayraklar/dinamikler: bayrak platformu özelliği (acil durum kill-switch dahil).

7) Şifreleme: Modeller ve Uygulamalar

Dinlenme: Projenin/ortamın KMS anahtarları, zarf şifreleme.
Transit: Karşılıklı kimlik doğrulaması ile TLS/mTLS.
Kullanımda: şifre çözme mümkün olduğunca geç, tercihen işlem belleği/sidecar'da (diske yazmadan).
Anahtar hiyerarşisi: kök (HSM) - KMS CMK - veri anahtarları (DEK).
Rotasyon: Takvim (90/180 gün) + olaya göre (çalışan uzlaşma/kalkış).

8) Gizli yönetim: Desenler

8. 1 GitOps + SAPS (statik anlık görüntü)

Git sadece şifreli metni saklar.
CI/CD'de veya bir kümede (KMS/age) şifre çözme.
Denetleyici üzerinden uygulama (Flux/Argo) - Kubernetes Secret.

yaml apiVersion: v1 kind: Secret metadata: { name: psp-keys, namespace: payments }
type: Opaque data:
apiKey: ENC[AES256_GCM,data:...,sops]

8. 2 Vault Ajan Enjektörü

Hizmet hesabı (JWT/SA) Vault'ta doğrulanmıştır.
Sidecar tmpfs kredi koyar ve TTL güncellemeleri.
Dinamik kredi desteği (DB, bulut - izolasyon ve kısa vadeli).

yaml annotations:
vault. hashicorp. com/agent-inject: "true"
vault. hashicorp. com/role: "payments-api"
vault. hashicorp. com/agent-inject-secret-db: "database/creds/payments"

8. 3 CSI Sırları Mağazası

Sırrı hacim olarak bağlayın, dönüş saydamdır.
PKI için - sertifikaların/anahtarların otomatik olarak yenilenmesi.

9) Kubernetes: pratikler

ConfigMap - yalnızca genel/duyarsız veriler.
Gizli - hassas (base64 ile - şifreleme değil; Rest for etcd'de şifrelemeyi etkinleştir).
Sağlama toplamı ek açıklamaları: Yapılandırmayı değiştirirken Dağıtım'ı yeniden başlatın.
Kabul kontrolü: "beyaz liste'den olmayan montaj sırlarının yasaklanması, manifestolarda" düz "şifrelerin yasaklanması.
NetworkPolicy: gizli sağlayıcılara (Vault/CSI) erişimi kısıtlayın.

Sağlama toplamı örneği (Helm)

yaml annotations:
checksum/config: {{ include (print $.Template. BasePath "/configmap. yaml"). sha256sum }}

10) Erişim Politikaları (RBAC/ABAC)

En az ayrıcalık: hizmet sadece sırlarını görür; Ad alanı/label/prefix ile erişim.
Bölünmüş görevler: Bir sır oluşturmak ≠ içeriği okumak; Herhangi bir okumayı denetleyin.
Geçici krediler: TTL ve otomatik rotasyon ile dinamik girişler (DB, bulut).
Segmentasyon: Farklı projelerde/hesaplarda/KMS anahtarlarında prod/stage.

11) Denetim, günlüğe kaydetme, gözlemlenebilirlik

Okuma/verme sırlarının günlükleri: kim/ne zaman/ne/nerede; Bültenler ve olaylarla korelasyon.
Metrikler: Aramaların sıklığı, süresi dolmuş sırlar, süresi dolmuş sertifikalar, dinamik kredilerin paylaşımı.
Güvenlik olayları - kota aşıldı, IP/zaman anomalileri, birden fazla başarısız kimlik doğrulaması.

12) Sırların ve sertifikaların rotasyonu

Şartları standartlaştırın: API anahtarları - 90 gün, DB şifreleri - 30 gün, TLS serts - 60-90 gün.
Rotasyon anahattı: generation - test - double publication (grace) - switching - revocation of old - doğrulama.
Güvenilirlik: Yapılandırmaların/sırların çift girişi, istemci uyumluluğu (yeni + eski kabul edilir).
PKI: kendi CA veya harici bir entegrasyon; mTLS içeriğini CSI/Vault aracılığıyla otomatik olarak güncelleyin.

13) Dinamik yapılandırmalar ve özellik bayrakları

Yapılandırma hizmeti/bayrak platformundan "sıcak" parametreleri (limitler, zaman aşımları) alın.
Yerel önbellek ve yapışkanlık (değişkenin karma ile hesaplanması), kısa TTL.
Hassas parametreleri değiştirmek için SLO korumaları (otomatik geri alma ve kill-switch).

14) CI/CD ve GitOps ile entegrasyon

Ön taahhüt/CI: devre gömlekleri, SOP kontrolleri, "çıplak" sırların yasaklanması (tarayıcılar: gitleaks/trufflehog).
Policy Gate: OPA/Conftest - şemasız/sahip ek açıklamaları olmadan/ortam etiketleri olmadan yapılandırmalara izin vermeyin.
Aşamalı teslimat: yapılandırmaların artifaktlar (semver) olarak tanıtılması, parametrelerin değiştirilmesi için kanarya.
Sürüm ek açıklamaları: kim/ne yapılandırma/gizli değişti; p95/5xx ile hızlı korelasyon.

15) Örnekler

15. 1 OPA Politikası: Config'de Açık SG'lerin Yasaklanması

rego package policy. config

deny[msg] {
input. kind == "SecurityGroupRule"
input. cidr == "0. 0. 0. 0/0"
input. port = = 5432 msg: = "Postgres open internet banned"
}

15. 2 Yapılandırma anlık görüntüsü örneği (sürümlü)

yaml version: 1. 12. 0 owner: payments-team appliesTo: [ "payments-api@prod" ]
http:
timeout_ms: 1200 retry: 2 withdraw:
limits:
per_txn_eur: 5000 per_day_eur: 20000 flags:
new_withdrawal_flow: false

15. 3 Vault - dinamik veritabanı kredileri

hcl path "database/creds/payments" {
capabilities = ["read"]
}
role issues user/password with TTL = 1h and auto-rollover

16) Anti-desenler

Git'te Sırlar açık metinde/Dümende/Şifresiz ansible değişkenleri.
Tüm hizmetler/ortamlar için tek bir "mega-gizli".
TTL/rotasyon olmadan uzun ömürlü jetonlar; "Ölümsüz" sertifikalar.
Dinamik yapılandırmalar şemalar/doğrulama olmadan ve denetim değişiklikleri olmadan.
Etcd/KMS ve mTLS olmayan ağ için Rest'te Şifreleme Yok.
Üründeki yapılandırmaların manuel olarak düzenlenmesi (GitOps'u atlayarak).
Geliştiricilere'her ihtimale karşı "ticari sırlara erişim.

17) Uygulama kontrol listesi (0-60 gün)

0-15 gün

Yapılandırmalar için diyagramlar/doğrulayıcılar ekleyin; repo "configs've GitOps akışını başlatın.
KMS ve şifrelemeyi yükseltin: Etcd'de Rest'te SOP/Mühürlü Sırlar/Şifreleme.
CI (tarayıcılar) düz metin sırlarını yasaklayın, sahipleri/onayları girin.

16-30 gün

Kasaları böl: public configs vs sensitive vs secrets.
Vault/Secrets Manager'ı uygulayın, teslimat yolunu seçin (Agent/CSI/SOP).
TLS/DB/PSP kredilerinin rotasyonunu ayarlayın; Panoların "ömrü/süresi doluyor".

31-60 gün

SLO-gating ve otomatik geri alma ile dinamik yapılandırmalar ve bayraklar.
OPA/Conftest politikaları; Zero-trust (namespace/label-scoped access).
Oyun günü: gizli sızıntı ve kuvvet rotasyonunun simülasyonu.

18) Vade metrikleri

Şifreleme altında ve Git'ten doğrudan erişim olmadan sırların %'si = %100.
Yapılandırma/doğrulama kapsamı %95 ≥.
Kritik sırları döndürmek için ortalama süre (hedef: Saatler, günler değil).
Dinamik kredilerin (DB/bulut) payı %80 ≥.
"Düz sırlar "/süresi dolmuş sertifikalar nedeniyle 0 olay.
Geri alma <5 dakika ile yapılandırma hatası MTTR.

19) Komuta rolleri ve süreçleri

Config Owner: Domain/Schema/Policy sahibi.
Güvenlik: politikalar, anahtar hiyerarşisi, erişim denetimi.
Platform/SRE: GitOps, tedarik/enjeksiyon, telemetri.
Uygulama Ekipleri: yapılandırma/gizli tüketim, uyumluluk testleri.

20) Sonuç

Yapılandırmaların ve sırların güvenilir bir konturu + GitOps + şifreleme + rotasyon + ilke şemalarıdır. Genel ve gizli ayırın, her şeyi şifreleyin, yapılandırmaları atomik ve sözel olarak uygulayın, hakları ve kredilerin ömrünü en aza indirin, rotasyonları ve denetimleri otomatikleştirin. Daha sonra değişiklikler hızlı ve güvenli hale gelecek ve sızıntı ve düşme riski minimum olacaktır.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.