Uyumluluk: Pactmark 0.2.x.

Politika risk sınıfına, grant kimliğe göre karar verir

Bunlar iki farklı soru olup iki farklı nesne tarafından yanıtlanır.
Bu politikanın R5 hakkında ne söylediğine dikkat edin: hiçbir şey. Yani reddedilir, çünkü varsayılan rettir ve bunu değiştirmenin yolu yoktur.
allow_with_grant “izin ver” demek değildir. “Eşleşen bir grant varsa izin ver” demektir. İzin verilen bir risk sınıfındaki ama grantı olmayan bir araç yine reddedilir — hangi denetimin önce başarısız olduğuna bağlı olarak KAF_POLICY_DENIED veya KAF_AUTHORIZATION_BINDING_MISMATCH ile.

Risk eşlemesi seçmek

Pactmark R0–R5 ölçeğini sağlar ve her seviyenin işiniz için ne anlama geldiğini tanımlamayı reddeder. Bu eşleme kontrol çerçevenize aittir. İşe yarar bir başlangıç noktası: Seçtiğiniz eşlemeyi bir denetçinin okuyabileceği bir yere yazın. Çerçeve beyan ettiğiniz her şeyi sadakatle zorlar; beyanınızın makul olduğunu size söylemez.

Değerlendirme sırası

Şekil 1. Bu, etki başına çalışır. Sıra önemlidir: kayıttan önce şema, politikadan önce kayıt, granttan önce politika, bütçeden önce grant, gönderimden önce bütçe.

Bir grant neyi bağlar

Bir CapabilityGrant şunları bağlar:

Tenant ve principal

Kimin için olduğu. Tenant’lar arası kullanım bir arama hatası değil, bağ uyuşmazlığıdır.

Amaç

Bir beyan edilmiş amaç için verilen grant başka bir amaca uygulanmaz.

Araç kayıt özeti

Tam araç sözleşmesi; böylece değiştirilmiş bir araç eski bir izni devralamaz.

Kapsam ve kısıtlamalar

Kanonikleştirme sürümü olan normalize edilmiş kaynak kapsamları.

Son kullanma

Grantlar biter. KAF_AUTHORIZATION_EXPIRED, uyuşmazlıktan ayrı bir koddur.

Tek kullanımlık rezervasyonlar

Eşzamanlılık ve tekrar, aynı izni iki kez harcayamaz.

Kapsam kanonikleştirmesi göründüğünden önemlidir

Kaynak kapsamları bir normalizationVersion taşır; çünkü herhangi bir karşılaştırma yapılmadan önce "/a/./b", "/a/b", "/a/%62" ve "/a/b/" tek bir değer olmalıdır. @pactmark/policy, grant denetimlerinde kullanılan kanonikleştirmeyi dışa aktarır; özellik tabanlı testler tekrarlı çözme, traversal ve symlink çözümlemesini kapsar.
Grantlar için kendi yönetim arayüzünüzü kurarsanız, politikanın kullandığı fonksiyonla kanonikleştirin. İki farklı normalizasyon, “doğru görünen” bir grantın eşleşmemesine — ya da daha kötüsü, eşleşmemesi gerekene eşleşmesine — yol açar.

İptal, bir özet üzerindeki kill switch’tir

İptal tam özetler üzerinde çalışır: bir araç kaydı, bir model adaptörü, bir MCP sunucusu veya aracı, bir politika, bir doğrulayıcı ya da bir ajan tanımı.
1

Özeti iptal edin

Kill switch, ayarlandığı andan itibaren yetkilidir.
2

Devam eden koşular yeniden denetler

Çalışan bir ajan, bir sonraki yüksek riskli rezervasyon veya gönderimden önce iptali yeniden sorgular. Önbelleğe alınmış kabul yetki değildir.
3

Etkili olduğunu doğrulayın

Eski özetin reddedildiğini ve bir sonraki yüksek riskli eylemin yeniden denetlediğini doğrulayın — trafiğin yokluğundan çıkarsamayın.

Politikanızı test etmek

Negatifleri kapsayın; önemli olanlar onlardır:
CLI, bir kararı bir fixture’a karşı açıklayabilir; incelemede işe yarar:

Onaylar

Karar require_approval olduğunda ne olur.

Ajan testi

Ret, tekrar, eşzamanlılık ve sapmayı birinci sınıf test senaryoları olarak ele almak.