Dogwood: AI Ajanları için Zamansal Yetkilendirme
AWS Dogwood, Cedar politikalarına zamansal koşullar ekler, bunları düz Cedar'a indirger ve ajan korumalarını Amazon Bedrock AgentCore ağ geçidinde uygular.
Özet
Anlık yetkilendirme tek bir soruya cevap verir: bu tek istek izinli mi? Sırayla araç çağıran otonom bir ajan için bu gerekli ama yeterli değildir. Bir araç çağrısı tek başına geçerli, ama ajanın hemen öncesinde yaptığı işe bakıldığında yanlış olabilir. AWS, bu boşluğu kapatmak için Dogwood’u 2026-08-06 tarihinde Apache 2.0 lisansıyla açık kaynak yaptı. Dogwood, Cedar’ın üzerine zamansal koşullar ekleyen bir politika dilidir; sonra her zamansal ifadeyi sıradan Cedar’a derler (“indirger”). Burada Cedar bilgisi varsayılıyor. Odak, Dogwood’un bunun üzerine ne eklediği: zamansal operatörler, indirgemenin nasıl çalıştığı, Amazon Bedrock AgentCore’un zamansal politikaları ağ geçidinde nasıl uyguladığı ve dürüst sınırların nerede olduğu. Cedar’ın kendisine dair bir hatırlatma istersen Cedar vs Rego vs OpenFGA karşılaştırmasına bakabilirsin.
Ajanlar İçin Anlık Yetkilendirme Neden Yetersiz Kalır
Cedar her isteği yalıtılmış olarak karara bağlar. Principal’a, action’a, resource’a ve çağıran tarafın sağladığı bir bağlama (context) bakar, sonra izin ver ya da reddet döner. Bu durumsuzluk bilinçli bir tercihtir. Cedar’ı çözümlenebilir (analyzable) kılan tam olarak budur: aynı istekler aynı kararları verir ve bir çözücü, bir politika kümesinin neye izin verip veremeyeceği üzerine akıl yürütebilir.
Otonom, araç çağıran bir ajan, her isteğin tek başına durduğu varsayımını bozar. Ajan bir yörünge (trajectory) üretir: her biri öncekilerin çıktılarıyla şekillenen bir araç çağrıları dizisi. Tek bir çağrı her anlık kontrolü geçebilir, ama öncesinde olanların bağlamında yine de zararlı olabilir. The New Stack bu boşluğu iyi çerçeveledi: sorun, bir ajanın yapmasına izin verilen şey ile çalışma zamanı geçmişi göz önüne alındığında yapması gereken şey arasındaki mesafedir. Prompt mühendisliği ve durağan erişim kontrol listeleri bu mesafeyi kapatmaz. Deterministik, süreç dışı (out-of-band) bir politika katmanı kapatabilir.
Hata Biçimleri
AWS, anlık yetkilendirmenin yakalayamadığı birkaç kalıba dikkat çekiyor:
- Güvenilmez veri bulaşması. Bir çağrı tek başına güvenli, ama ajanın güvenilmez bir kaynaktan okuma yaptığı anın hemen ardından zararlıdır. Bu klasik prompt-injection zinciridir. İstek düzgün görünür; asıl sorun sıradır.
- Çağrılar arası değiştirme. Ajan meşru bir
get_client_profileçalıştırır, sonraexecute_trade’e uydurma bir hesap kimliği geçirir. Her çağrı biçimsel olarak doğrudur. Ama o kimlik sorgudan hiç dönmemişti. - Kontrolsüz toplama. Ajan onlarca transfer başlatır. Her biri istek başına sınırın altındadır, ama toplam tutar bütçeyi aşar. Anlık yetkilendirmenin bunu yakalayacak bir belleği yoktur.
- Çelişki. Ajan bir talebi onaylar, sonra saniyeler içinde aynı talebi reddeder; ya da bir menkul kıymeti alıp aynı yörüngede zararına satar. Tek tek yasal, birlikte anormal.
- Bayat girdi. Ajan, çok önce çekilmiş bir piyasa fiyatına göre işlem yapar.
Cedar bunların hiçbirini ifade edemez, çünkü hiçbiri yalnızca mevcut istekten karara bağlanamaz. Dolayısıyla amaç Cedar’ı düzeltmek değildir. Amaç, yine Cedar’a indirgenen bir zamansal katman eklemektir. İşte bu Dogwood’dur.
Dogwood Ne Ekliyor
Dogwood bir politikayı, bir oturumdaki önceki olayların geçmişine göre değerlendirir: bunların sırasına, aralarındaki zaman pencerelerine, ne sıklıkta gerçekleştiklerine ve verileri üzerindeki birikimli toplamlara göre. Merkezi tasarım hamlesi bunu pratik tutar. Dogwood yeni bir motor değildir. Her zamansal ifade sıradan Cedar’a derlenir; orada zamansal koşul, bir çalışma zamanının Cedar değerlendirmeden önce olay geçmişinden doldurduğu bir context.* yuvasına dönüşür. Sonucu önemlidir: sözdizimsel olarak geçerli her Cedar politikası zaten geçerli bir Dogwood politikasıdır. Mevcut Cedar kuralları değişmeden çalışmaya devam eder, dolayısıyla göç (migration) yoktur.
Kuramsal temeli, çalışma zamanı doğrulamasından (runtime verification) alınan Metric First-Order Temporal Logic’tir (MFOTL). Bu, çalışan bir sistemin zaman içinde bir zamansal belirtime uyup uymadığını denetlemek için kullanılan matematiğin aynısıdır. Dogwood’un kullanıcıya dönük operatörleri, MFOTL operatörlerinden oluşan küçük bir çekirdek alt küme cinsinden tanımlanır.
Cedar ve Dogwood
| Boyut | Cedar (anlık) | Dogwood (zaman içinde) |
|---|---|---|
| Amaç | Tek bir istek üzerinde erişim kontrolü kararları | Zaman içindeki olay kalıplarına bağlı kararlar |
| Politikanın gördüğü | Yalnızca mevcut istek | Mevcut istek artı bir olay geçmişi |
| Anahtar yapı | Principal, action, resource, context üzerinde when { ... } | when temporal { ... } ekler; ayrıca satır içi temporal { ... } ifadesi olarak da kullanılabilir |
| Operatörler | Cedar’ın ifade dili | since, formerly, once ve toplamalar: count_within, count_distinct_within, sum_within, bind |
| Ek gerçekler | Çağıran tarafın sağladığı context öznitelikleri | Bilgi sağlayıcılar: değerlendirme anında enjekte edilen hesaplanmış koruma gerçekleri (Rhai) |
| Kuramsal temel | Otomatik akıl yürütme için kurulmuş öznitelik tabanlı yetkilendirme | Runtime verification’dan gelen Metric First-Order Temporal Logic |
| Değerlendirme | Doğrudan, durumsuz Cedar değerlendirmesi | Cedar’a indirger; her zamansal ifade olay geçmişinden doldurulan bir context.* yuvasına dönüşür |
| Maliyet profili | Aynı istekler, sıra ya da durum ne olursa olsun aynı kararı verir | Durumlu: olayları saklar ve arar, dolayısıyla değerlendirme süresi geçmiş uzunluğuna bağlı olabilir |
Her ikisi de Apache 2.0’dır. Alt satır ödünleşimi tek cümlede özetler: Dogwood bellek satın alır ve bunun bedelini durum (state) olarak öder.
Olay Modeli
Dogwood, bazen olay günlüğü (event log) de denilen bir olay izine (event trace) göre değerlendirme yapar. Her olay dört şeyi kaydeder:
- Önceki olaylara göre ifade edilen bir zaman damgası.
within 30sya dawithin 24hgibi pencereleri mümkün kılan şey budur. - Bir action adı ve bir tür: ya
requestya daresponse. - İlişkili veri:
context.input.*ile erişilen girdi argümanları vecontext.output.*olarak çıktı değerleri. - O olay için yetkilendirme kararı: izin ver ya da reddet.
Politikalar olayları action’a göre eşleştirir ve verilerine bu input.* ve output.* yuvaları üzerinden ulaşır. Bir zamansal ifade, aslında bu iz üzerinde bir sorgudur.
Zamansal Operatörler
Aşağıdaki biçimler, referans dokümantasyondaki yüzey söz dizimidir. AWS’nin AgentCore örnekleri aynı koşulları bazen daha ayrıntılı, daha alt seviyeli bir biçimde yazar; buradaki makrolar günlük kullanım için tasarlanmış söz dizimidir.
formerly within <window> <Event>{ ... } geriye dönük varlık sorgusudur. Pencere içinde eşleşen bir olayın gerçekleşip gerçekleşmediğini sorar:
formerly within 1h AgentCore::Action::"ApproveSale"::response{
input.stock: context.input.stock,
input.shares: context.input.shares,
output.approved: true
}
Alan bağlamaya (field binding) dikkat et. İfade yalnızca bir onayın olduğunu değil; onayın mevcut istekle aynı hisse ve aynı hisse adedi için olduğunu ve çıktısının approved: true olduğunu da kontrol eder.
count_within(<window>, <Event>{ ... }) bir penceredeki oluşumları sayar:
count_within(1h, AgentCore::Action::"Transfer"::request{ input.amount: _ }) > 5
count_distinct_within(<var>, <window>, <Event>{ ... field: <var> }) bağlanmış bir alanın ayrık (distinct) değerlerini sayar:
count_distinct_within(u, 1h, AgentCore::Action::"Transfer"::request{ input.user: u }) > 3
sum_within(<var>, <window>, <Event>{ ... field: <var> }) sayısal bir alanı toplar:
sum_within(a, 1h, AgentCore::Action::"Transfer"::request{ input.amount: a }) > 5000
bind(<name>, <aggregate>, <expr using name>) bir toplama sonucunu yakalar, sonra ona göre karşılaştırma yapar. Bu bir ani artış (spike) koruyucusudur: son transferlerin toplamından büyük bir transferi engeller.
bind(prior,
sum_within(a, 1h, AgentCore::Action::"Transfer"::response{ input.amount: a }),
context.input.amount > prior)
Aileyi iki operatör daha tamamlar. since, bir koşulun bir olay gerçekleştiğinden beri geçerli olduğunu ifade eder. once, bir şeyin kapsam içinde en az bir kez gerçekleştiğini ifade eder. since within <window> biçimi, aşağıda ele alınan “onay tam olarak bir kez tüketilir” kalıplarında görünür.
Bu operatörler standart kütüphane makrolarıdır. Küçük MFOTL çekirdeğine açılırlar; yüzey dilini küçük tutarken altta yatan anlamları kesin bırakan şey budur.
Cedar’a İndirgeme
Bir Dogwood politikası Cedar’ın when’ini genişletir. Sıradan bir Cedar koşulunu, aynı politikada bir zamansal koşulla birleştirebilirsin:
permit ( principal, action == AgentCore::Action::"SellShares", resource )
when {
context.input.shares <= 100
&& temporal {
formerly within 1h AgentCore::Action::"ApproveSale"::response{
input.stock: context.input.stock,
input.shares: context.input.shares,
output.approved: true
}
}
};
İlk satır düz Cedar’dır: en fazla 100 hisse. temporal bloğu geçmiş gereksinimini ekler: son bir saat içinde aynı hisse ve aynı hisse adedi için eşleşen bir onay. Her ikisi de geçerli olmalı. Zamansal ifadeyi doğrudan when temporal { ... } ile de ekleyebilirsin. Referans uygulaması ağaç temalı bir Drupe ad alanı kullanır, çünkü dogwood ağacı drupe (çekirdekli meyve) verir:
@id("read_after_login")
permit (
principal,
action == Drupe::Action::"Read",
resource
)
when temporal {
formerly within 1h Drupe::Action::"Login"::request{ input.user: context.input.user }
};
Asıl mekanizma bundan sonra olur. dogwood lower komutu bir Dogwood politikasını standart Cedar’a derler. Zamansal ifade, sentezlenmiş bir context yuvasıyla değiştirilir. Değerlendirme anında bir çalışma zamanı olay geçmişini arar, zamansal koşulun geçerli olup olmadığını hesaplar ve o yuvayı doldurur. Sonrasında normal bir Cedar değerlendiricisi, ortaya çıkan düz Cedar politikasını karara bağlar. İndirgenmiş çıktı şöyle görünür:
permit(principal, action == Drupe::Action::"Read", resource)
when { context.policy_0__temporal_0 };
Değerlendirme motoru Cedar olarak kalır. Dogwood bir ön uç, artı zamansal gerçekleri hesaplayan bir çalışma zamanıdır. Geriye dönük uyumluluğun bedava olmasının nedeni budur: motorun anlaması gereken yeni bir şey yoktur.
Referans araç zinciri üç komut sunar: bir politikayı şemaya göre doğrula, Cedar’a indir ve kaydedilmiş bir ize göre yeniden oynatarak ne karar vereceğini gör.
dogwood validate policy.dw --policy-schema schema.cedarschema
dogwood lower policy.dw --policy-schema schema.cedarschema --emit both
dogwood replay policy.dw --policy-schema schema.cedarschema --trace events.log
Dili bir Rust servisine gömmek için, kütüphaneyi bir Git bağımlılığı olarak ekle:
dogwood-language = { git = "https://github.com/dogwood-policy/dogwood.git" }
Amazon Bedrock AgentCore’da Uygulama
Referans yorumlayıcı bir belirtim ve bir test ortamıdır; üretim için bir politika karar noktası (PDP) değildir. Yönetilen uygulama yolu Amazon Bedrock AgentCore’dur. AgentCore’daki politika artık Dogwood’un zamansal koşullarını destekler ve bunları AgentCore Gateway’de, çevrede, ajanın kendi kodunun dışında çalıştırır.
Akış nettir. Ağ geçidi, bir oturum başlığı (x-amzn-bedrock-agentcore-policy-session-id) taşıyan her isteği yakalar. Politika motoru yörüngeyi, yani o oturum için sıralı önceki action’ları sorgular, mevcut isteği buna karşı Dogwood ile değerlendirir ve deterministik bir izin ver ya da reddet döner, sonra kararın tüm bağlamını günlüğe kaydeder.
Süreç dışı olma özelliği, güvenlik argümanının tamamıdır. Ajan politika mantığını hiç görmez, durum deposuna hiç dokunmaz ve kontrolleri değiştiremez. Modelin ulaşamadığı bir kontrole prompt-injection yapamazsın. Bu, bir sistem prompt’una yerleştirilen herhangi bir talimattan daha güçlü bir garantidir, çünkü uygulama noktası modelin uslu davranmasına bağlı değildir.
Birkaç operasyonel ayrıntı politikaları nasıl tasarlayacağını şekillendirir:
- Oturum kapsamı, oturum kimliği artı son kullanıcı kimliğidir. Azami geriye bakış penceresi 24 saattir; daha eski olaylar otomatik silinir. Politikalarındaki pencereler bu ufkun içine sığmalıdır.
- Varsayılan reddet, Cedar anlambilimi korunarak: bir
forbid, birpermit’i geçersiz kılar. - Action şemaları MCP araç manifestlerinden üretilir. Politika katmanı, ağ geçidinden geçen Model Context Protocol araç çağrılarını, ajandan ajana çağrıları ve model çıkarımını yönetir.
- Bir politikayı değiştirmek etkin oturumları geçersiz kılar, dolayısıyla bir kural değişikliği, eski politika altında oluşmuş bir yörüngeye geriye dönük uygulanmaz.
Şemalar MCP manifestlerinden geldiği için, politikalarının başvurduğu action’lar ajanın gerçekten açığa çıkardığı araçlarla hizalanır. Özel bir politika katmanının daha geniş bir mimaride nereye oturduğu sorusu için harici yetkilendirme sistemleri yazısına bak.
Operatöre Göre Kullanım Senaryoları
Aşağıdaki her kalıp bir operatöre karşılık gelir, böylece kazanç arzu ifadesi değil somut olur.
İş akışı sıralaması, B adımını yalnızca A adımından sonra ister. Profil-yükle adımını atlayıp doğrudan yeniden dengelemeye geçen bir ajan, talimatları ne olursa olsun reddedilir. Bu, alan bağlaması olmayan formerly within’dir: önkoşul action penceresi içinde gerçekleşti mi?
Çıktıdan girdiye bütünlük, çağrılar arası uydurmanın doğrudan cevabıdır. execute_trade’e geçirilen kimlik, önceki bir get_client_profile yanıtının gerçekten döndürdüğü bir kimliğe eşit olmalıdır. Bu, mevcut girdiyi geçmiş bir çıktıya bağlayan bir alan bağlamasıyla formerly within’dir:
permit ( principal, action == AgentCore::Action::"ExecuteTrade", resource )
when temporal {
formerly within 1h AgentCore::Action::"GetClientProfile"::response{
output.account_id: context.input.account_id
}
};
Veri tazeliği, bir işlemden önce, örneğin 30 saniye içinde bir get_market_price yanıtı ister. Bu formerly within 30s’dir. Pencere kapandığında bayat bir fiyat ifadeyi artık karşılamaz.
Kümülatif bütçe ve hız sınırları doğrudan toplama makrolarından çıkar. Bir penceredeki toplam hareket değeri, sum_within ile bir tavanın altında kalır. Sıklık, count_within ile N’nin altında kalır. Ayrık alıcılar, count_distinct_within ile N’nin altında kalır. Birlikte, anlık yetkilendirmenin cevaplayamadığı soruya cevap verirler: bu ajan günlük bütçesinin altında kaldı mı?
Bir kez tüketilen insan onayı kapısı, önceki bir onaya ihtiyaç duyar ve her onay tam olarak bir yürütmeyi yetkilendirmelidir. since within biçimi onayı ifade eder, bir eşlik eden koruyucu da o onaydan bu yana hiçbir yürütme olmadığını kontrol eder. Bu, bir ajanın tek bir onayı toptan bir yetki gibi kullanmasını önler.
Bir karşılıklı dışlama koruyucusu, aynı yörüngedeki çelişkili action’ları engeller; örneğin aynı çalışmada daha önce alınan bir menkul kıymeti zararına satmak gibi.
Kademeli güven aşınması, hiç insan etkileşimi olmayan bir süreden sonra yazma action’larını iptal ederken okumaları erişilebilir tutar. Uzun otonom çalışmalar böylece denetimsiz risk biriktiremez. Bu, yazmayı kapılamak için kullanılan, yakın zamanlı bir etkileşim olayı üzerinde bir formerly within kontrolüdür.
Hız sınırlama, kota uygulaması ve kullanım takibi (örneğin bir token’ın kaç kez kullanıldığı) hepsi aynı toplama makrolarına indirgenir. Bu genişlik, “birkaç operatörle çok şey yapabilirsin” vaadidir ve operatörler birleştirilebildiği için de tutar.
Bilgi Sağlayıcılar
Her gerçek, olay günlüğünde bulunmaz. Canlı bir risk skoru, harici bir izin listesi ya da hesaplanmış bir sınıflandırma bir yerden gelmelidir. Dogwood bunun için bilgi sağlayıcılar (information providers) ekler: Rhai betikleri tarafından üretilen ve değerlendirme anında ek context alanları olarak enjekte edilen hesaplanmış koruma gerçekleri. Cedar’ın context’i çağıran tarafça sağlanırken, bir bilgi sağlayıcı gerçeği karar anında hesaplar. İsteğe bağlı bir net özelliği, harici aramalar için http_get’i etkinleştirir; güvenilmez girdiden URL kurmaya dair açık uyarılarla birlikte. Bunu geçmişten türetemediğin gerçekler için bir kaçış kapısı olarak gör ve betikleri küçük ve gözden geçirilebilir tut.
Ödünleşimler ve Düz Cedar’ın Hâlâ Kazandığı Durumlar
Zamansal gücün gerçek bir bedeli vardır ve burada dürüst değerlendirme, özellik listesinden daha önemlidir.
Bedel durumdur. Cedar’ın, aynı isteklerin sıra ya da durum ne olursa olsun aynı kararı vereceği garantisi, kuruluş gereği ortadan kalkar. Dogwood olayları saklar ve arar, dolayısıyla değerlendirme süresi geçmiş uzunluğuna bağlı olabilir. Bu, plan yapman gereken operasyonel bir özelliktir, dipnot değil.
Henüz otomatik akıl yürütme yok. Zamansal koşullar şu an Cedar’ın çözümleyici tarzı akıl yürütmesini desteklemiyor. Bunu bir politikanın anlık kısımları için korursun, ama zamansal kısımlar için politika kümesinin neye izin verip veremeyeceğini kanıtlama yeteneğini kaybedersin. Cedar’ı en baştan biçimsel çözümlenebilirlik için seçtiysen, bunu dikkatle tart. Cedar karşılaştırma yazısı bu çözümlenebilirliği derinlemesine ele alır.
Referans yorumlayıcı açıkça üretim için değildir. README bunu söyler ve boşlukları açıkça listeler: olay zaman damgası bütünlüğü doğrulaması yok, olay kimlik doğrulaması yok, Rhai betiklerinde CPU ya da bellek sınırı yok (kötü niyetli bir betik kaynakları tüketebilir), çökmede kaybolan bellek-içi izler (dayanıklılık yok), çok kiracılı kurulumlarda politika yapısını sızdırabilen hata mesajları ve yerleşik denetim günlüğü yok. Üretimde uygulama için yönetilen yol AgentCore’dur. Açık kaynak deposu bir belirtim ve bir referanstır, hazır bir politika karar noktası değil.
Proje erken aşamada. Katkılar henüz kabul edilmiyor; dil kararlı hale gelirken geri bildirim bekleniyor. Yol haritası şunlara işaret ediyor: mutlak zamanlı pencereler (sabit bir saatte sıfırlanan günlük kotalar, çünkü bugünün pencereleri göreli ve kayan pencerelerdir), canlılık (liveness) operatörleri (geleceğe dönük “eninde sonunda olmalı” gereksinimleri, çünkü bugünün operatörleri güvenlik ve geçmiş odaklı) ve çok ajanlı orkestrasyon politikaları. Bunları taahhüt değil, yön olarak gör.
Peki düz Cedar ne zaman doğru tercih olarak kalır? Her karar gerçekten tek başına durduğunda, çözümlenebilirlik politika kümesinin tamamında katı bir gereksinim olduğunda ya da otonom ajanlar hiç çalıştırmadığında. Dogwood’a özellikle, doğruluk bir oturum boyunca sıraya, zamanlamaya, sayılara ya da toplamlara bağlı olduğunda ve uygulama noktası durumu ajanın erişiminin dışında güvenle tutabildiğinde uzan.
Sonuç
Dogwood yetkilendirmeye tek bir ilkel ekler: oturumun belleği, zamansal koşullar olarak ifade edilir ve Cedar’a geri derlenir, böylece değerlendirme motoruna dair hiçbir şey değişmez. Ajan korumalarında eksik olan tam da bu ilkeldi. Stokastik bir aktör, tek tek makul görünen bir araç çağrıları akışı üretir; deterministik bir katman ise bunları geçmişe karşı, süreç dışında, modelin karışamayacağı bir yerde karara bağlar. Ödünleşim açıktır ve adını koymaya değer: geçerli-ama-yanlış sıraları yakalama yeteneği kazanırsın, karşılığında durumsuzluğu ve şimdilik zamansal kısımların çözümlenebilirliğini bırakırsın. Zaten Cedar çalıştırıyorsan, Dogwood’u benimsemek mevcut kurallarına hiçbir şeye mal olmaz ve zamansal kuralları yalnızca sıranın risk olduğu yerlere ekler. Ağ geçidinde herhangi bir şeyi uygulamadan önce, kaydedilmiş bir yörüngeyi bir taslak politikaya karşı dogwood replay ile yeniden oynatarak başla.
Kaynaklar
- Introducing Dogwood: runtime verification for AI agents - Dogwood’u, tasarımını ve Cedar’a indirgeme modelini duyuran AWS Open Source blog yazısı.
- dogwood-policy/dogwood on GitHub - Referans ayrıştırıcı ve yorumlayıcı, operatör söz dizimi, CLI ve açık “üretim için değildir” sınırlamaları.
- Securing AI agents with temporal policies in Amazon Bedrock AgentCore - Ağ geçidi uygulaması, oturum kapsamı ve 24 saatlik geriye bakış penceresi üzerine AWS ML blog yazısı.
- Control agent behaviors and cost beyond a single action - AgentCore’da kümülatif bütçe ve hız kontrolü kullanım senaryoları üzerine AWS ML blog yazısı.
- Your AI agent’s next tool call may be valid but wrong - Dogwood’un hedeflediği “izinli vs yapması gereken” boşluğunu çerçeveleyen The New Stack haberi.
- Cedar policy language documentation - Resmi Cedar dokümanları: söz dizimi,
permit/forbidanlambilimi ve Dogwood’un üzerine kurulduğu context modeli. - Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization - Cedar’ın tasarımı ve çözümlenebilirlik garantileri üzerine Amazon Science makalesi.
- Monitoring Metric First-Order Temporal Properties - Basin ve diğerleri; MFOTL’nin arkasındaki runtime verification temeli.
- Model Context Protocol specification - MCP belirtimi; araç manifestleri, politika katmanının yönettiği action şemalarına dönüşür.
- Rhai scripting language - Dogwood bilgi sağlayıcıları için kullanılan gömülü betik dili.
İlgili yazılar
Zapier MCP'nin AI agent'lar için aksiyon bazlı beyaz liste, merkezi kimlik yönetimi ve insan onay mekanizması sunması. Özel proxy çözümlerine yönetilen bir alternatif.
AWS Cognito ve Verified Permissions ile SaaS yetkilendirmeyi Cedar politikaları, çok kiracılı desenler, JWT akışı ve maliyet analiziyle TypeScript'te kurun.
AWS Verified Permissions, SpiceDB, OpenFGA, Cerbos ve OPA gibi harici yetkilendirme platformlarını mimari, maliyet ve karar çerçevesi açısından tarafsızca inceliyoruz.
Cedar, Rego, OpenFGA DSL ve Cerbos YAML/CEL politika dillerini söz dizimi, performans, biçimsel doğrulama, araçlar ve TypeScript entegrasyonu açısından karşılaştırıyoruz.
SpiceDB ve Auth0 FGA (OpenFGA) karşılaştırması: şema, tutarlılık modelleri, dağıtım ve ölçeklenebilirlik açısından farklı tercihler yapan iki Zanzibar tabanlı sistem.