الاقتراح وجاذبيته
تواجه أمن الوكلاء مشكلة تحديد النطاق التي لا تستطيع الأذونات الثابتة حلها. قد يقوم تشغيل وكيل واحد بتنسيق عشرات الأدوات — قراءة تذكرة، الاستعلام عن قاعدة بيانات، صياغة رسالة، استدعاء خطاف نشر — ومجموعة الموارد التي يلمسها غير معروفة عند بدء التشغيل. كتابة سياسة يدوية لكل أداة لكل سير عمل لا تصمد أمام التنسيق الحقيقي. انهيار الموافقة البشرية لكل استدعاء تحت الحجم: بضع عمليات تشغيل قابلة للمراجعة، لكن قائمة الانتظار ليست كذلك.
في هذه الفجوة يأتي التحكم في الوصول المبني على النية. صاغت Sophos الفكرة كطريقة لمنع الوكلاء من التجاوز دون تعداد كل إذن أداة يدويًا: يصرح الوكيل بما يحاول القيام به، وتمنح طبقة التحكم الوصول على هذا الأساس. الجاذبية حقيقية. لا يمكن للنطاقات الثابتة توقع تنسيق متعدد الأدوات، والموافقة في وقت الاستدعاء لا تتوسع. إذا كان بإمكان وكيل أن يُفوَّض بهدفه المعلن بدلاً من قائمة مسبقة من نقاط النهاية، فإن كتابة السياسة ستتقلص من مهمة شاقة لكل أداة إلى بيان لكل سير عمل.
المشكلة ليست في الاتجاه. إنها في مكان اتخاذ القرار.

مشكلة الدائرية
إذا أعلن الوكيل نيته، فإن الوكيل هو الموضوع والمؤلف لتفويضه الخاص. يُطلب من طبقة التحكم أن تثق بوصف ينتجه الشيء الذي تراقبه. هذا ليس حدودًا؛ إنه مرآة.
نمط الفشل ملموس. يقرأ الوكيل مخرجات أداة — صفحة ويب، تعليق تذكرة، مستند مسترجع — تحتوي على تعليمات تعيد صياغة النية: المهمة تتطلب الآن تصدير جدول العملاء إلى نقطة نهاية خارجية. إذا تم تقييم التفويض في وقت الاستدعاء من وصف الوكيل لما يفعله، يصبح النص المحقون أساسًا للمنح. لا تملك طبقة التحكم أساسًا مستقلاً للرفض، لأن الدليل الوحيد لديها عن المهمة هو رواية الوكيل عنها. الوصف والطلب يأتيان من نفس السياق المخترق.
هذا هو نفس الفشل الهيكلي مثل حواجز الحماية على مستوى المطالبة. يمكن مجادلة سياسة تعيش داخل الشيء الذي تتم مراقبته، أو إعادة صياغتها، أو الكتابة فوقها بواسطة أي شيء يصل إلى نفس نافذة السياق. نقل السياسة من مطالبة نظام إلى "فحص نية" لا ينقلها خارج الوكيل؛ بل ينقلها طبقة واحدة للأعلى ويمنحها اسمًا يبدو أكثر سلطة. سطح الحقن لم يتغير.
هناك مشكلة ثانية أهدأ: قابلية التدقيق. إذا تم حساب المنح في وقت الاستدعاء من وصف باللغة الطبيعية، فإن الأثر المسجل هو جملة كتبها الوكيل عن نفسه. عندما تتم مراجعة التشغيل بعد حادث، تلك الجملة ليست دليلاً على ما تم تفويضه — إنها دليل على ما ادعاه الوكيل. لا يمكن للمراجع إعادة بناء الحدود لأن الحدود لم تكن ثابتة أبدًا.
شكل قابل للتطبيق: ترجمة ثم تحديد
يصبح التحكم في الوصول المبني على النية قابلاً للدفاع عندما تتم ترجمة النية إلى مجموعة قدرات محدودة قبل بدء التشغيل، بدلاً من تقييمها في وقت الاستدعاء. التمييز بين سياسة يفسرها سياق الوكيل ونطاق ثابت خارجها.
تتكون الآلية من أربعة أجزاء.
حل النية إلى خطة. خذ النية المعلنة وحلها، قبل التنفيذ، إلى خطة ملموسة: موارد مسماة، عمليات مسماة، وجهات مسماة. ليس "الوصول إلى CRM" بل أنواع الكائنات المحددة، الأفعال المحددة، أهداف الخروج المحددة التي تتطلبها الخطة. الحل خطوة تخطيط، ويمكن القيام به بواسطة مكون منفصل لا يشارك السياق مع الوكيل المنفذ.
إصدار بيانات اعتماد قصيرة العمر محددة النطاق للخطة. تصبح الخطة مدخلاً لوسيط بيانات اعتماد يصدر رموزًا محدودة بتلك الموارد والعمليات بالضبط، مع عمر مطابق للتشغيل. لا يحمل الوكيل المنفذ أبدًا بيانات اعتماد واسعة؛ بل يحمل رمزًا عديم الفائدة خارج الخطة المترجمة. إذا كانت الخطة خاطئة، فإن نطاق التأثير هو الخطة، وليس الحساب.
جعل النطاق المترجم أثرًا قابلاً للمراجعة. النطاق المترجم هو مستند — بيان بالموارد والعمليات والخروج — يوقعه إنسان أو محرك سياسة منفصل قبل إصدار بيانات الاعتماد. هذه هي الخطوة التي تكسر الدائرية: يتم التوقيع من قبل طرف ليس الوكيل ولا يقرأ سياق الوكيل. يمكن أتمتته لأشكال الخطط المعروفة وتصعيده للأشكال الجديدة، لكن القرار يُتخذ مقابل البيان، وليس مقابل رواية الوكيل.
التعامل مع التوسع في منتصف التشغيل كحدث تفويض جديد. عندما يكتشف الوكيل أنه يحتاج موردًا خارج الخطة المترجمة، فهذا ليس استمرارًا للمنح الحالي. إنه طلب جديد: جزء خطة جديد، بيان جديد، توقيع جديد، بيانات اعتماد جديدة. يمكن للوكيل أن يطلب؛ لا يمكنه توسيع نطاقه الخاص. هذه هي القاعدة التي تجعل الحدود تصمد تحت الحقن، لأن تعليمات محقونة يمكنها تغيير ما يريده الوكيل ولكن لا يمكنها تغيير ما يحمل��.
رسم تخطيطي لتدفق التحكم:
النية ──▶ المخطط ──▶ البيان (الموارد، العمليات، الخروج)
│
▼
توقيع السياسة ──▶ وسيط بيانات الاعتماد ──▶ رمز محدد النطاق
│ │
▼ ▼
سجل التدقيق الوكيل المنفذ
│
حاجة في منتصف التشغيل ────────────┘
│
▼
بيان جديد، توقيع جديد
المقايضة الصادقة: تضيف الترجمة زمن وصول وجهد كتابة في مقدمة كل تشغيل، وتفرض أن تكون النية قابلة للتعبير كخطة. بعض المهام المفتوحة حقًا لا تُحل بشكل نظيف إلى بيان، وسيتم رفضها أو تشغيلها تحت نطاق أوسع وموقع صراحة. هذه تكلفة، وهي التكلفة الصحيحة — البديل هو حدود موجودة فقط في وصف الوكيل لنفسه.
ما يجب قياسه
ينتج نظام النطاق المترجم قياسات عن بعد لا يستطيع فحص النية في وقت الاستدعاء إنتاجها. ثلاث قياسات مهمة.
- القدرات الممنوحة مقابل المستخدمة لكل تشغيل. قارن ما أذن به البيان مقابل ما لمسه التشغيل فعليًا. الفجوة الواسعة هي دين امتياز: الخطة واسعة جدًا، المخطط يخمن، أو سير العمل انحرف. تتبع النسبة لكل تشغيل ولكل سير عمل، واعتبر الفجوة المتسعة إشارة لتشديد المخطط، وليس لتوسيع السياسة.
- الرفض، مسجل مع النية التي أثارته. في كل مرة يرفض الوسيط طلبًا — مورد خارج البيان، هدف خروج غير مدرج — سجل النية وجزء الخطة الذي أنتج الطلب. الرفض ليس ضوضاء؛ إنه خريطة حيث تختلف النية والنطاق. سجل رفض صامت هو سياسة لا يتم اختبارها.
- أحداث التوسع. احسب إعادة التفويض في منتصف التشغيل لكل سير عمل. المعدل العالي يعني أن المخطط يحل بشكل ناقص؛ معدل صفر عبر سير عمل متنوع قد يعني أن التوسع يتم استيعابه بصمت في مكان لا ينبغي أن يكون فيه.
يجب أن تكون الحدود خارج الوكيل
التحكم في الوصول المبني على النية هو الاتجاه الصحيح لأن النطاقات الثابتة لا يمكنها وصف التنسيق والموافقة لكل استدعاء لا تتوسع. لكن القيمة تعتمد كليًا على مكان تقييم النية. إذا تم تقييمها في وقت الاستدعاء من وصف الوكيل نفسه، فهي حاجز حماية داخل السياق المراقب — نفس نمط الفشل مثل القواعد على مستوى المطالبة، مع اسم أكثر إقناعًا. إذا تم ترجمتها قبل التشغيل إلى مجموعة قدرات محدودة وموقعة وقابلة للتدقيق، فإنها تصبح حدودًا حقيقية: يمكن للوكيل أن يغير رأيه، ويمكن للحقن أن يغير تعليماته، لكن لا يمكن لأي منهما تغيير النطاق الذي يحمله دون حدث تفويض جديد.

قاعدة التصميم بسيطة في القول وصعبة في الالتزام: الكيان الذي يقرر ما يمكن للوكيل فعله يجب ألا يكون الكيان الذي يصف ما يفعله. ترجم النية، حدد النطاق، وقع البيان، واجعل كل توسع قرارًا جديدًا. كل شيء آخر هو مطالبة ترتدي ثياب سياسة.
