Uyumluluk: Pactmark 0.2.x.

Her etki aynı sınavdan geçer

Şekil 1. Altı kapı, her biri kararlı bir başarısızlık koduyla. Bu dizi koşu başına bir kez değil etki başına çalışır — iki araç çağrısı önce geçerli olan bir grant, bir sonrakinden önce yeniden denetlenir. Buradaki en önemli özellik, önbelleğe alınmış bir kararın yetki olmamasıdır. Uzun süren bir ajan, bir sonraki yüksek riskli rezervasyon veya gönderimden önce iptal durumunu yeniden sorgulamak zorundadır; bir kill switch’in gerçekten bir şeyi öldürmesini sağlayan da budur.

Politika, tip düzeyinde varsayılan-rettir

default yalnızca "deny" literalini kabul eder. Onu çeviren hiçbir yapılandırma, ortam değişkeni veya kolaylık yardımcısı yoktur. Kuralı olmayan bir risk sınıfı reddedilir. Şekil 2. Araç beyan eder; politika karar verir. Pactmark R0–R5 ölçeğini sağlar ama her sınıfın sizin işiniz için ne anlama geldiğini kasıtlı olarak tanımlamaz — bu eşleme, kontrol çerçevenize ait bir host kararıdır.

CapabilityGrant — son kullanma tarihli izin

Bir grant; tenant, principal, amaç, araç kaydı, kapsam, son kullanma ve kısıtlamaları bağlar. Host kodu tarafından bir GrantIssuer üzerinden verilir, saklanır ve her denetimde yeniden çözülür.
1

İstenmiş, verilmiş değil

WorkOrder.requestedCapabilities bir taleptir. Eşleşen bir grantın var olup olmadığına host karar verir.
2

Tam bir kayda bağlı

Grant, aracın kayıt özetine atıfta bulunur. Aracın şemasını, güvenlik meta verisini veya uygulama sürümünü değiştirin, eski grant artık eşleşmez.
3

Tek kullanımlık rezervasyonla tüketilir

Bir AuthorizationReservation tekrar ve eşzamanlılık açıklarını kapatır: iki eşzamanlı komut aynı tek kullanımlık izni harcayamaz.
4

Koşu ortasında iptal edilebilir

Kill switch’ler tam özetler üzerinde çalışır. İptal, bir sonraki koşuda değil bir sonraki rezervasyon veya gönderimde etkili olur.
Grant bir rol değildir. Kimlik sağlayıcınız birinin “admin” olduğunu söylüyorsa, bu bilginin host kodu tarafından somut, amaca bağlı, süresi dolan bir granta çevrilmesi gerekir. Pactmark bunu çıkarsamaz.

Kimlik bilgileri modele asla ulaşmaz

Şekil 3. SecretRef ve ModelCredentialRef opak, kısa ömürlü ve amaca bağlıdır. Adaptör referansı çağrıdan hemen önce çözer ve değeri asla kalıcılaştırmaz. Buradaki redaksiyon bir panelde yapılandırılmaz, dışa aktarımdan önce zorlanır. Test paketleri olaylar, telemetri, kanıt, artifact’lar, HTTP yanıtları ve hata yüzeyleri boyunca gizli kanaryalar içerir.
Bu, maruziyeti azaltır. Sırrı ortadan kaldırmaz. Ele geçirilmiş bir host süreci veya ele geçirilmiş bir sağlayıcı uç noktası hâlâ yetkili bir değeri kullanabilir — bkz. Tehdit modeli TM-06.

Admission ve bütçeler

Admission, harcamadan önce rezerve eder. Rezervasyonlar kötümserdir: belirsiz bir model çağrısı, sonuç bilinene kadar maksimum ücretini korur; böylece bir çökme bütçe sızdıramaz. Bir admission sınırını aşmak KAF_ADMISSION_DENIED üretir — kota boşalabileceği için yeniden denenebilir sayılan az sayıdaki koddan biridir. Bir model kaynak profilini aşmak KAF_MODEL_RESOURCE_LIMIT_EXCEEDED üretir ve o yeniden denenebilir değildir.

Egress bir filtre değil, izin listesidir

Dış trafik; normalize edilmiş tam origin’ler, engellenmiş adres sınıfları, DNS ve yönlendirme politikası, TLS doğrulaması, bayt ve süre sınırları ve kimlik-bilgisi-origin bağıyla enjekte edilmiş bir egress aracısından geçer. Model veya araç içeriği beyan edilmemiş bir uç nokta seçemez.

Politika ve grant rehberi

Gerçek bir uygulamada grantları verme, kapsamlandırma, iptal etme ve test etme.

İnsan kararları

Bir onayın neyi bağlayabildiği ve asla feragat edemediği yedi şey.