تحدّ إمكانية الوصول القائمة على القدرات من صلاحيات الوكيل عبر جعل السلطة قدرةً صريحة مرتبطةً بمورد محدد، بدلًا من أن تكون إذنًا ضمنيًا موروثًا مع كل استدعاء لأداة.
على خادم منزلي، يتيح ذلك لوكيل فحص وجهة نسخ احتياطي، ولوكيل آخر إعادة تشغيل خدمة واحدة، ولوكيل ثالث قراءة مجلد صور، من دون مشاركة بيانات اعتماد رئيسية.
تربط القدرة السلطة بمورد محدد
تمثّل إمكانية الوصول القائمة على القدرات السلطة في صورة رمز أو مرجع يحدّد كائنًا ويحمل الحقوق المتاحة على هذا الكائن.
يصف seL4 القدرة بأنها رمز غير قابل للتزوير يمنح الإذن بالوصول إلى كيان أو كائن. وتُعدّ الحيازة جزءًا من آلية التفويض. ويمثّل seL4 السلطة من خلال قدرات تشير إلى كائنات محددة في النواة، موفرًا مثالًا ملموسًا على السلطة المرتبطة بالمورد في نموذج قدرات seL4.
بالنسبة إلى وكيل ذكاء اصطناعي منزلي، يمكن لأداة النسخ الاحتياطي أن تتلقى سلطة الوصول إلى مستودع واحد بدلًا من الوصول الضمني إلى نظام الملفات بأكمله. فمعرفة المسار وحدها لا تمنح الإذن.
تحلّ الحيازة محل السلطة الضمنية بالتفويض الصريح
غالبًا ما تتيح البيئات التقليدية سلطة ضمنية من خلال بيانات اعتماد العمليات أو رموز واجهات برمجة التطبيقات واسعة الصلاحيات.
تجعل أنظمة القدرات السلطة صريحة في المراجع التي يحوزها المكوّن فعليًا.
يصف capDL في seL4 أي أجزاء النظام تحوز قدرات لأجزاء أخرى. وتحدّد عمليات التوزيع هذه حدود التحكم في الوصول. ويصف Wasmtime العزل الموجّه بالقدرات لموارد WASI، موضحًا كيف يمكن للحيازة الصريحة أن تحل محل الوصول الضمني الواسع في أمان القدرات في Wasmtime.
وبذلك يمكن لوكيل فرعي لتنظيم الصور أن يتلقى صلاحية القراءة لمجلد الاستيراد وصلاحية الكتابة في منطقة التجهيز، من دون اكتساب صلاحية حذف الأرشيف.
يمكن أن تكون الحقوق أضيق من نطاق المورد
يمكن أن تحمل القدرة حقوقًا تحدّد العمليات المتاحة على الكائن المشار إليه.
ويمكن لوكيلين حيازة قدرات للكائن نفسه مع امتلاك كل منهما مستوى مختلفًا من السلطة.
يوضح seL4 أن القدرة تضم مرجعًا إلى كائن بالإضافة إلى حقوق وصول تتحكم في العمليات المسموح بها. وقد وصف تحالف Bytecode نظام WASI على أساس الأمان القائم على القدرات، مما يدعم فكرة أن الحقوق الممنوحة يمكن أن تكون أضيق من المورد المضيف نفسه في أمان WASI القائم على القدرات.
قد يحتفظ سير عمل المراقبة بصلاحية قراءة الحالة، بينما يحتفظ سير عمل الصيانة بصلاحية إعادة التشغيل. الخدمة واحدة، لكن العمليات المتاحة ليست كذلك.
يمكن للتفويض أن يمنح مهمة فرعية قدرةً أصغر
تلائم أنظمة القدرات تقسيم الوكلاء إلى مهام، لأن السلطة يمكن تمريرها مع العمل. إذ يستطيع الوكيل الرئيسي تفويض ما يحتاج إليه مساعد واحد فقط، بدلًا من تمرير بيانات اعتماد رئيسية.
يقدّم Cap'n Proto مراجع RPC بوصفها مراجع تنقل أيضًا سلطة استدعاء كائن. فتمرير المرجع يعني تمرير قدرة محددة. ويتعامل Cap’n Proto RPC مع مراجع الكائنات باعتبارها قدرات يمكن تمريرها إلى مكوّنات أخرى، وهو نموذج مفيد للسلطة المفوّضة في قدرات الكائنات في Cap’n Proto.
يمكن للمساعد المكلّف بفحص مجلد سجلات واحد أن يتلقى قدرة قراءة لهذا المجلد وحده. وقد يذكر طلبه موارد أخرى، لكن لا يمكن للسلطة أن تتوسع استجابةً للطلب.
تختلف آليات القدرات عن نطاق الأدوات، فهما طبقتان مختلفتان
نطاق الأداة هو خيار متعلق بالسياسة يحدد مدى تضييق إجراء الوكيل.
أما التحكم في الوصول القائم على القدرات فهو آلية وقت تشغيل لتمثيل تلك السلطة وإنفاذها.
يشرح تحليل ZimaSpace لنطاق أدوات وكيل الذكاء الاصطناعي المنزلي سبب ضرورة تضييق نطاق الإجراء والمورد والوسيط وبيانات الاعتماد مع ازدياد الاستقلالية. ويستكشف العمل الحالي في مسودة IETF حول تقليص نطاق رموز الوكلاء سلطةً مفوّضة يمكن تضييقها للوكلاء التابعين، موضحًا حدود التفويض في مسودة رموز الوكلاء ذات النطاق المخفّض.
ويظل إنفاذ القدرات مهمًا عندما يفشل منطق الوكيل. يوضح تحليل ZimaSpace لحلقات استدعاء الأدوات المتكررة سبب ضرورة التعامل مع الفشل السلوكي وحدود السلطة بوصفهما مسألتين منفصلتين.
يبقى الإلغاء وواجهات برمجة التطبيقات القديمة من حدود التنفيذ
لا تزال الأنظمة العملية بحاجة إلى وسائل لإلغاء السلطة المفقودة، وإنهاء صلاحية الوصول المؤقت، وربط الخدمات التي لا تفهم سوى المستخدمين أو الأدوار أو الرموز الحاملة.
يوفر seL4 عمليات اشتقاق القدرات وحذفها، لكن سلوك الإلغاء يعتمد على البنية المحيطة. ويعرض مشروع cap-std الموارد الخارجية بوصفها قيم قدرات بدلًا من متغيرات عامة ضمنية، مع إظهار أن واجهات برمجة التطبيقات القديمة والإلغاء يظلان من الاهتمامات الهندسية المنفصلة في واجهات برمجة التطبيقات القائمة على قدرات cap-std.
ولا يكون غلاف القدرة حول واجهة برمجة تطبيقات NAS قويًا إلا بقدر قوة البوابة التي تقف خلفه. فإذا استخدم كل طلب في النهاية رمز مسؤول غير مقيّد، فقد تختفي الدقة الظاهرية على الجانب الآخر من ذلك الحد.
مركز التكنولوجيا والذكاء الاصطناعي
المزيد للقراءة

الحالة أثناء التشغيل مقابل الحالة المستمرة في Home Assistant: ما الذي يجب أن يبقى بعد إعادة التشغيل؟
لا يحتفظ Home Assistant بكل قيمة مباشرة؛ إذ تؤدي الإعدادات والسجلات والحالات المحددة المستعادة وبيانات النشر أدوارًا مختلفة عند إعادة التشغيل.

كيف يُجري Home Assistant مصادقة الجلسات المحلية وعن بُعد؟
تستخدم جلسات Home Assistant المحلية وعن بُعد نموذج الهوية نفسه من جهة الخادم؛ إذ يغيّر الوصول عن بُعد المسار وحدود TLS، وليس تدفق الرموز...

لماذا قد تصبح استعلامات سجل Home Assistant بطيئة مع نمو بيانات المسجّل؟
يمكن أن يؤدي نمو بيانات Recorder إلى زيادة تكلفة استعلامات History عندما يشمل النطاق المطلوب عددًا أكبر من الصفوف، أو تزداد حالات فقدان ذاكرة...

