Doğrudan cevap
Her karar kalıcı bir karar kimliği ve değişmez sürüm taşır. Oluşturma, yürürlüğe giriş, askıya alma, geri alma, düzeltme, sürenin dolması ve yerine geçme olayları; önceki kaydı silmeden eklenen olaylar olarak tutulur. Her olay; olay kimliği, zaman, aktör, yetki, neden, önceki durum, yeni durum, kanıt ve hedef sürüm içerir. Güncel durum bu yetkili olaylardan türetilir; olay geçmişinin yerine geçmez.
Sade dille
Bir banka hesap dökümünü düşünün. Bakiye bugün tek sayı olarak görünür; fakat o sayının nereden geldiğini anlamak için para giriş ve çıkışları silinmeden korunur. Kararın güncel durumu da olay geçmişinden hesaplanır.
Neden önemli?
Tek bir durum alanının üzerine yazmak, kararın kim tarafından ve neden değiştirildiğini yok eder. Sistem eski, askıda veya geri alınmış kararı yanlışlıkla güncel sayabilir.
Karıştırma
- Karar kimliği aynı karar ailesini; karar sürümü belirli içeriği tanımlar.
- Olay, karar durumunda yetkili bir değişikliği kaydeder.
- Güncel durum, olaylardan türetilen görünüm; olay geçmişi ise kanıt zinciridir.
- Düzeltme yanlış içeriği onarır; yerine geçme ilişkisi yeni kararın eskisinin yerini aldığını gösterir.
- Askıya alma geçici uygulama durumu; geri alma kararın yetkili biçimde sona erdirilmesidir.
Ne yapmalısın?
- Kalıcı karar kimliği, değişmez sürüm kimliği ve açık şema tanımlayın.
- Her yaşam döngüsü değişikliğini ayrı olay kimliği ve güvenilir zaman damgasıyla kaydedin.
- Aktör kimliği, rol, yetki, neden, kanıt, önceki durum ve yeni durumu zorunlu alan yapın.
- Geçerli durum geçişlerini ve yasak geçişleri makinece doğrulanabilir kurallarla sınırlandırın.
- Düzeltme, geri alma ve yerine geçme ilişkilerini eski sürümü silmeden karşılıklı bağlayın.
- Güncel durum görünümünü olay akışından aynı girdide aynı sonucu veren kurallarla üretin ve yeniden hesaplayın.
- Bağlı sonraki sistemlere olay yayınlayın; teslim, uygulama ve geri okuma kanıtlarını karara ekleyin.
Nasıl denetlersin?
- Karar ve olay kimlikleri tekil, kalıcı ve sürümlü mü?
- Eski karar içeriği veya olaylar üzerine yazılmış mı?
- Her olayda zaman, aktör, yetki, neden ve kanıt var mı?
- Geçersiz veya yetkisiz durum geçişleri engelleniyor mu?
- Düzeltme, geri alma ve yerine geçme bağları çift yönlü izlenebilir mi?
- Güncel durum görünümü korunmuş olaylardan yeniden üretilebiliyor mu?
- Bağlı sonraki hedefler aynı güncel duruma gerçekten ulaşmış mı?
Sınır
Append-only kayıt değişmezlik ve izlenebilirliği güçlendirir; olayın olgusal olarak doğru veya yetkili olduğunu tek başına kanıtlamaz. Güvenilir zaman, kimlik, yetki ve bütünlük kontrolleri ayrıca gereklidir.
Tek cümlede hatırla
Güncel durum geçmişi silmez; geçmişteki yetkili olaylardan doğar.
Bu kaydın kaynakları
- S14DataCite, *Versioning*Kimlik altyapısı
- S15DataCite, *Connecting Versions with Related Identifiers*Kimlik altyapısı
- S26NIST SP 800-53 Rev. 5, *Security and Privacy Controls*Standart
- S35W3C, *PROV-O: The PROV Ontology*Standart
- S36W3C, *Trace Context*Standart
- S37OpenTelemetry, *General Trace Semantic Conventions*Standart/proje belgesi

