ÇÖZÜMLER · 08
Kararı dedektör değil, politika verir.
Dedektörler sinyal üretir: bir skor, bir bulgu, bir sebep kodu. Ne yapılacağına politika karar verir. Wardline politikaları okunabilir bir YAML biçiminde yazılır, Cedar’a derlenir, imzalanır ve her uygulama için sürümlü olarak dağıtılır.
SORUN
Eşik koda gömülünce denetlenemez
Sınıflandırıcının içine yazılmış “skor yüksekse engelle” satırı, denetçinin göremeyeceği ve güvenlik ekibinin değiştiremeyeceği bir karardır. Eşiği değiştirmek yeni bir sürüm ve dağıtım ister; hangi isteğin hangi eşikle engellendiği sonradan bilinemez.
Kurallar çoğaldıkça çakışma da başlar: bir kural maskele, diğeri engelle der. Hangisinin kazandığı açıkça tanımlı değilse aynı istek iki ortamda farklı karar alır.
NASIL ÇALIŞIR
Adım adım
Yazım
Kurallar YAML biçiminde yazılır: koşul olarak sebep kodu, risk bandı, uygulama kademesi, yön ve kimlik bilgileri; sonuç olarak beş karardan biri ve bayraklar. Eşikler 0–10000 tamsayıdır.
Derleme ve test
YAML bir ara gösterime, oradan Cedar’a derlenir. Ara gösterimin yorumlayıcısı ile Cedar aynı senaryolarda karşılaştırılır; iki yol farklı karar verirse paket yayımlanmaz.
İmza ve dağıtım
Paket Ed25519 ile imzalanır. Engine imzasız ya da geçersiz paketi reddeder ve son geçerli paketle çalışmaya devam eder; paket bayatladığında bu durum sebep koduyla kanıta yazılır.
Çözüm
Eşleşen tüm kurallar değerlendirilir, en kısıtlayıcı karar kazanır: DENY, REQUIRE_APPROVAL, REWRITE, MASK, ALLOW. Bir ALLOW kuralı başka bir kuralın kararını gevşetemez; istisna “unless” ile yazılır. Hiçbir kural eşleşmezse varsayılan eylem uygulanır.
Sürüm ve fark
Her yayın bir sürümdür; konsolda iki sürümün farkı görülür ve kimin ne zaman yayımladığı denetim kaydına girer. Yeni sürüm gölgede çalıştırıldığında canlı karardan farklı sonuç SHADOW_DIFF bayrağıyla işaretlenir.
KARARLAR
Bu trafikte hangi karar ne zaman çıkar
| Karar | Ne zaman | Örnek sebep kodu |
|---|---|---|
| ALLOW | Hiçbir kural eşleşmedi ya da eşleşenlerin hepsi ALLOW: varsayılan eylem uygulanır. | POLICY.DEFAULT_ACTION |
| MASK | Tespit edilen değerler konum bazlı maskelenir. | POLICY.MASK_APPLIED |
| REWRITE | İstek ya da yanıt politikadaki stratejiyle yeniden yazılır; şablon stratejisinde model çağrılmaz. | POLICY.REWRITE_TEMPLATE_FALLBACK |
| REQUIRE_APPROVAL | Araç çağrısı, MCP aracı ya da e-posta onaylayıcının kararına kadar bekler. | APPROVAL.PENDING |
| DENY | Herhangi bir kural engelle dediyse, diğer kurallar ne derse desin. | POLICY.RULE_MATCH |
ÖRNEK
Gölgedeki yeni sürüm
Güvenlik ekibi kart numarası için MASK olan kuralı DENY yapan bir sürüm hazırlıyor ve gölgede çalıştırıyor. Bir hafta boyunca canlı karar MASK kalır, gölge sürüm DENY üretir ve her fark SHADOW_DIFF bayrağıyla işaretlenir. Ekip farkları konsolda inceler, etkilenen uygulamaları görür ve sürümü canlıya alır.
| Karar | DENY |
|---|---|
| Canlı sürüm | v41 · MASK |
| Gölge sürüm | v42 · DENY |
| Eşleşen kural | kart-numarasi-engelle |
| İmza | Ed25519 · doğrulandı |
| Sebep kodları |
|
| Bayraklar |
|
| Risk skoru | 0,96 |
YAPILANDIRMA
Yöneticinin belirledikleri
Kurallar ve varsayılan eylem
Uygulama ve risk kademesi bazında kurallar; hiçbir kural eşleşmediğinde ne olacağı.
Sert kurallar
“override: hard” ile işaretlenen kurallar önce uygulanır; ürünle gelen temel kurallar bu sınıftadır.
Başarısızlık modu
Bir dedektöre ulaşılamadığında uygulamanın açık ya da kapalı çalışması; katmanlar birleşirken sıkı olan kazanır.
Yayın akışı
Kim yazar, kim yayımlar; gözlem ve gölge aşamaları; geri dönüş için önceki sürüm.
İLGİLİ
Birlikte çalışan yetenekler
Kendi trafiğinizde görün.
Demo oturumunda bu akışı güvenlik ekibinizin seçtiği örneklerle, konsoldaki kanıt görüntüleyicide birlikte inceleriz.
Demo talep et