وثائق أصول Core

توثيق محرك حالة العالم الحتمي ومراجع API.

وثائق بوابة القرار

المساحات الاسمية وحدود الهوية

تعتبر المساحات الاسمية الحدود الفاصلة في Asset Core. إنها تحدد مكان بداية ونهاية الهوية، ومن يمكنه التصرف، وكيفية التفكير في الصحة على نطاق واسع. يوضح هذا المفهوم النموذج الذهني: ما هي المساحة الاسمية، وكيف يتم تحديد نطاق الهويات، وكيف ترسم الأدوار وفئات السياسات حدود الوصول التي يمكنك الاعتماد عليها.

المشكلة التي يحلها هذا المفهوم

عند تشغيل محركات الحالة الحتمية في الإنتاج، تحتاج إلى حدود صارمة. بدونها، تتسرب الحالة في الأنظمة متعددة المستأجرين، وتتداخل المعرفات، وتصبح الحوكمة فوضوية. المشاكل ليست دقيقة:

  • تسرب حالة عبر المستأجرين عندما تعني نفس معرفات الأرقام أشياء مختلفة في عوالم مختلفة.
  • هوية غامضة عندما يتم الإشارة إلى حاوية أو فئة بدون سياق.
  • مسارات تدقيق غير موثوقة عندما تكون قرارات الوصول ضمنية أو غير متسقة.
  • أتمتة غير آمنة عندما يمكن للوكلاء استدعاء عمليات خارج نطاقهم المقصود.

تقوم المساحات الاسمية بحل هذه المشكلة من خلال جعل العزل واضحًا، وتحديد الهوية، والتحكم في الوصول.

الأفكار الأساسية

المساحات الاسمية هي عوالم

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

داخل مساحة الأسماء، تكون هذه محصورة ومستقلة:

  • سجل الفصول (معرفات الفصول، قواعد السلوك، والأشكال)
  • معرفات الحاويات والمواقع
  • معرفات المثيلات وتسلسل الملكية
  • سجل الالتزام وأرقام تسلسل العالم

الهوية محددة النطاق، وليست عالمية

الهوية في Asset Core هي محلية في نطاق. class_id أو container_id لهما معنى فقط داخل نطاقهما. الهوية الحقيقية هي الزوج (namespace_id, local_id). هذا يوفر لك عزلًا نظيفًا دون الحاجة إلى فرض معرفات فريدة عالميًا.

مثال: class_id = 42 يمكن أن يعني “أنبوب عينة” في مساحة الأسماء 1001 و”ترس” في مساحة الأسماء 2002. لا يوجد تعارض لأنهما يعيشان في عوالم مختلفة.

يتم تطبيق ذلك في وقت التنفيذ. يتم رفض العمليات التي تشير إلى معرفات من مساحة الأسماء الخاطئة. لا يحاول وقت التشغيل أبداً تسوية الهوية عبر مساحات الأسماء لأن ذلك سيكون خطأ في سلامة البيانات، وليس ميزة.

الأدوار، فئات السياسة، والتحكم في الوصول

تحدد المساحات أيضًا من يمكنه التصرف. يستخدم Asset Core نموذج تفويض افتراضي يرفض الوصول.

  • يجب أن يتم التحقق من هوية المسؤول وتعيينه للأدوار.
  • الأدوار تمنح الوصول إلى عمليات محددة (حسب المجال والإجراء).
  • تصنيفات السياسات تمنع العمليات عالية المخاطر في مساحات الأسماء ذات الثقة العالية.
  • يمكن أن تضيف ACLs الخاصة بالمساحة أسماء أو تنكر الأذونات لمبادئ معينة.

هذا هو كيفية الحفاظ على أمان الأتمتة. يجب ألا يُسمح لأداة يمكنها نقل الحالات في مساحة أسماء المختبر بحرق الحالات في مساحة أسماء الإنتاج ما لم يتم منح ذلك بشكل صريح. الالتزام العكسي هو إذن خاص به؛ الوصول إلى الالتزام لا يعني حقوق التراجع.

دورة الحياة والنسب واضحة

تحتوي المساحات الاسمية على حالات دورة حياة واضحة (مُجهزة، معطلة، قيد الحذف). يمكن تجميدها أو تعيينها للقراءة فقط أثناء الحوادث. تحمل المساحات الاسمية المتشعبة بيانات التعريف النسبية (الأصل، نقطة التشعب) بحيث يمكنك نمذجة التشعب دون إعادة كتابة التاريخ.

هذا يحول الحوكمة إلى سطح واضح وقابل للتدقيق بدلاً من أن تكون خاصية ناشئة.

مساحة التسلسل لكل مساحة اسم

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

كيف يتناسب مع النظام

تظهر المساحات الاسمية في كل مسار حرج:

  • مسار الكتابة: يتم توجيه جميع الالتزامات بواسطة namespace_id. تنطبق ضمانة الكتابة الواحدة لكل مساحة اسم.
  • مسار القراءة: يتم بناء وتقديم التوقعات لكل مساحة اسم، مع بيانات تحديث مخصصة لذلك العالم.
  • مسار الحوكمة: دورة حياة مساحة الأسماء، فئة السياسة، و ACLs تحدد ما إذا كان سيتم قبول الطلب.

في الممارسة العملية، يعني هذا أنك:

  1. إنشاء أو توفير مساحة اسم.
  2. تعيين الأدوار وبوابات فئة السياسة.
  3. تسجيل الفصول والحاويات داخل تلك المساحة الاسمية.
  4. استخدم أرقام تسلسل العالم للتفكير في التناسق وإعادة التشغيل.

المتغيرات الرئيسية والضمانات

العزل

  • لا يُسمح بالإشارات عبر المساحات الاسمية.
  • كل سجل وفهرس محصور في نطاق مساحة الأسماء.

استقرار الهوية

  • المعرف المحلي ليس له معنى بدون مساحة الأسماء الخاصة به.
  • يمكن إعادة استخدام نفس المعرف الرقمي بأمان عبر المساحات الاسمية.

الترتيب الحتمي

  • أرقام تسلسل العالم هي أحادية الاتجاه لكل مساحة اسم.
  • يحتفظ إعادة التشغيل بنفس الترتيب والنتائج داخل ذلك العالم.

رفض الوصول بشكل افتراضي

  • أسماء المساحات غير المعروفة، الأدوار، أو فئات السياسات تمنع الوصول.
  • الوصول لا يُستنتج أبداً؛ يجب منحه.

انظر أيضًا