الخلاصة
- يمكن أن تستعين قيود النموذج المركّب ببيانات منتقاة من النموذج الأب، ولذلك لا يفسر ثبات ملف الوحدة وحده كل نتائج التحقق من الإعدادات.
- توسّع
parent-referenceالسياق المتاح لتقييم XPath، لكنها لا تمنح المستخدم تلقائياً حق قراءة البيانات المنتقاة أو تعديلها عبر شجرة النموذج المركّب. - اشتراك النسخ في المخطط لا يعني تطابق بياناتها، وحدود المسارات ليست دليلاً مستقلاً على العزل. ينبغي تحديد الجهة المسؤولة عن علاقة التركيب نفسها.
قد تحتاج قاعدة للتحقق من إعداد شبكة إلى معلومة لا يستطيع مستخدم ذلك الإعداد قراءتها من الموضع نفسه. هذه ليست مفارقة بالضرورة. فالبيانات التي تدخل في حساب شرط، والبيانات التي يسمح بروتوكول الإدارة للمستخدم بالحصول عليها، لا تنتميان دائماً إلى النطاق ذاته.
تجعل YANG Schema Mount هذا الفرق واضحاً. فهي تتيح وضع نماذج كاملة تحت نقاط يحددها نموذج أب، من دون إعادة كتابة كل وحدة لتناسب جميع البيئات المحتملة. ويمكن، في ترتيب محدد، أن تُضاف بعض بيانات الأب إلى السياق الذي تُقيَّم فيه قواعد النموذج المركّب. لكن ذلك لا ينقل إدارة هذه البيانات إلى كل من يستخدم النموذج.
الخلط بين الأمرين يضر بالتشغيل وبمراجعة الصلاحيات معاً. فقد يظن فريق أن منع القراءة المباشرة يلغي أي اعتماد على البيانات، أو يظن فريق آخر أن وجود مرجع يعني منح سلطة تعديل. الآلية لا تقول أياً من ذلك. وهي تستدعي ثلاثة أسئلة منفصلة: ما الذي تستند إليه القاعدة، وما الذي يمكن ضبطه، وما الذي يُسمح لهذا المستخدم بفعله؟
هذا تحليل لبنية معيارية، وليس وصفاً لحادثة جرى رصدها. لا يقدم اختباراً لمنتج معين ولا يثبت استغلالاً أمنياً أو أثراً مقاساً على حركة البيانات. أهميته هي تحديد علاقة ينبغي تفسيرها قبل أن تتحول نتيجة تحقق غير متوقعة إلى خلاف بين فرق لا يرى أي منها الصورة كاملة.
قراءة المعلومة لأغراض مختلفة
يصف RFC 8528 آلية parent-reference في نمط المخطط المشترك. تُقيَّم تعبيرات XPath في سياق الأب، فتنتج مجموعات من العقد. وتُضاف هذه العقد وأسلافها إلى الشجرة المتاحة لتقييم تعبيرات XPath داخل المخطط المركّب.
لا يعني ذلك أن العقد المختارة تصبح متاحة لعمليات NETCONF أو RESTCONF التي تستهدف الشجرة المركّبة. ما اتسع هو سياق التقييم. أما مساحة البيانات التي يقدمها ذلك الموضع عبر البروتوكول فلا تتوسع تلقائياً بالطريقة نفسها. لهذا يمكن لقيد أن يعتمد على تعيين تديره جهة أخرى، من دون أن تصبح الجهة التي تضبط النموذج صاحبة ذلك التعيين.
تسمح هذه العلاقة بإعادة الاستخدام مع الاحتفاظ بتقسيم الإدارة. لكنها تجعل وصف الصلاحيات وحده غير كافٍ لوصف جميع الاعتمادات. إذا تغيرت معلومة في الأب، فقد يتغير ما تستند إليه قاعدة في الأسفل، حتى إذا لم يحصل مستخدمها على أي حق جديد في القراءة أو الكتابة.
كذلك فإن كون البيانات للقراءة فقط لا يحدد وحده من يملك حق قراءتها. قد تصبح عقد النموذج المركّب غير قابلة للضبط بسبب خصائص نقطة التركيب أو المعلومات التي تصفها. هذه إجابة عن طبيعة البيانات، وليست سياسة مكتملة لكل هوية مستخدم. جمع الإجابتين في عبارة عامة مثل «البيانات محمية» يخفي الفارق بدلاً من شرحه.
الواجهة موجودة، لكن لأي نسخة؟
يقدم الملحق A.3 من الوثيقة مثالاً ملموساً لنسخ الشبكة. يختار التعبير واجهات من النموذج الأب بحسب ارتباطها بنسخة الشبكة الحالية. وبذلك يستطيع النموذج المركّب استخدام مرجع إلى واجهة الخروج في مسار ثابت، مع أن وحدة الواجهات ليست جزءاً من مخططه الخاص.
السؤال الصحيح هنا ليس فقط هل توجد الواجهة على الجهاز. بل هل تقع ضمن المجموعة التي يختارها هذا السياق؟ يمكن للتعبير نفسه، حين ينطلق من نسختين مختلفتين، أن يختار مجموعتين مختلفتين. لا يكفي اشتراك التعريفات لكي تصبح كل واجهات الجهاز خيارات متكافئة لكل نسخة.
هذا مثال توضيحي غير معياري، لا شهادة مطابقة لمورّد. وهو لا يبين ما إذا كان جهاز بعينه يقبل إعداداً أو يمرر حركة فعلية. ما يوضحه هو أن القاعدة قد تشير إلى كائنات تبقى تعريفاتها وتعييناتها خارج النموذج الذي يحتويها. تسليم ملف النموذج لا يسلم بالضرورة كل المعرفة اللازمة لإعادة إنتاج تلك العلاقة.
وهناك درس أصغر في قراءة الأمثلة نفسها. يصحح التصويب التحريري المعتمد رقم 5797 مثالاً آخر خاصاً بعنصر شبكة منطقي: يجب أن يحتوي حقل ربط الواجهة على اسم العنصر المنطقي، لا اسم الواجهة ذاتها. لا يغير التصويب آلية الإشارة إلى الأب. لكنه يذكّر بأن معرّفين يبدوان مناسبين قد يشيران إلى نوعين مختلفين من الكائنات.
ثبات القاعدة لا يثبت ثبات مدخلاتها
تحدد لغة YANG شروط must التي يجب أن تكون صحيحة للبيانات المعنية. وللمراجع إلى الأوراق فرق إضافي يتعلق بخاصية require-instance: عندما تكون true، يلزم تحقق شروط وجود النسخة المرجعية وفق قواعد اللغة؛ وعندما تكون false، يمكن السماح بغيابها. كما توجد أحكام للقيم الافتراضية وللمراجع بين بيانات الضبط. هذه الفروق موضحة في RFC 7950.
لذلك لا يكفي القول إن كل مرجع يحتاج إلى كائن موجود بالطريقة نفسها. ينبغي معرفة نوع القيد، وما يشترطه، والشجرة التي يجري تقييمه ضمنها. النموذج يحدد قواعد على بيانات وعلاقات، ولا يمنح نصاً معيناً من الإعدادات شهادة صلاحية مستقلة عن كل سياق.
إذا تغير تعيين واجهة في الأب وتغيرت بسببه المجموعة المختارة للنسخة، فقد يتغير السياق الذي يقيّم فيه قيد يعتمد على تلك المجموعة. يمكن أن يحدث ذلك مع بقاء الوحدة والإعداد المرشح كما هما. هذا استنتاج مشروط من آلية التركيب وقواعد اللغة، لا تقرير عن سلوك جهاز تمت معاينته.
والشرط مهم. ليست كل تعديلات الأب مؤثرة في كل القيود. قد تكون العقدة المعدلة خارج الاختيار، وقد تظل المجموعة الناتجة كما كانت، وقد لا يستخدم القيد البيانات المضافة أصلاً. التحقيق المفيد يتتبع الاعتماد المحدد. أما إلقاء التبعة على أي تغيير خارجي فلا يفسر النتيجة أكثر من إلقائها على ملف لم يتغير.
ولا يمتد الاستنتاج تلقائياً إلى مستوى تمرير الرزم. قبول عملية الإدارة وصلاحيات المستخدم والأثر الفعلي على الشبكة تحتاج إلى أدلة أخرى. الفصل بين هذه الملاحظات يمنع أن تتحول نتيجة محدودة في التحقق إلى ادعاء أوسع مما تثبته.
حدود النموذج لا تشرح كل حدود النظام
تُعرَّف نقطة التركيب في حاوية أو قائمة ضمن النموذج الأب. وتُفسَّر المسارات داخل النموذج المركّب عادة انطلاقاً من هذه النقطة باعتبارها الجذر، لا من جذر الجهاز كله. ويتيح اختيار بيانات الأب إضافة محددة إلى سياق التقييم بدلاً من جعل كل البيئة الخارجية متاحة ضمنياً.
يُستخدم أحياناً تعبير mount jail لوصف نطاق المسارات. لا ينبغي تحميله معنى العزل الكامل بين العمليات أو المستأجرين. إنه يشرح أولاً كيفية تفسير المسار، ولا يثبت وحده انفصال الموارد أو صلاحيات الجلسات. الاسم لا يضيف ضمانة لم تقدمها الآلية.
كذلك فإن بيانات التشغيل تحت schema-mounts تصف التركيب الذي يقدمه الخادم، لكنها ليست مدخلاً عاماً قابلاً للكتابة لتغيير كل تركيب. لا تضع الوثيقة طريقة واحدة للحصول على جميع البيانات الأساسية، ولا تصف دورة حياة كل نسخة تفصيلاً. رؤية البنية لا تعني معرفة كل الطرق التي يمكن بها تغييرها.
تنعكس هذه الحدود على تسليم المسؤولية. قد يستطيع فريق قراءة وصف التركيب، بينما تتحكم جهة أخرى في التعيينات التي تنتج عنه. يحتاج المشغل إلى معرفة العلاقة والجهة القادرة على تغييرها، لا مجرد مكان عرض معلوماتها. وإلا طُلب منه تفسير سلوك يعتمد على قرارات لا يعرف مسارها.
المخطط المشترك لا يلغي البيانات الخاصة بكل نسخة
يفرض نمط المخطط المشترك مخططاً واحداً على نسخ نقطة التركيب المعنية. أما نمط inline فيسمح بمخططات مختلفة. وتقدم كل نسخة تشغيلية معلومات YANG Library، لكن تطابق معرّفات المحتوى بين نسختين من نوع inline لا يضمن تطابق محتوى المكتبتين، بحسب التحذير الصريح في RFC 8528.
حتى مع اشتراك المخطط فعلياً، لا يلزم أن تتطابق بيانات الأب العادية. فالاختيار قد يعتمد على النسخة التي يبدأ منها التقييم. ومعرّف المكتبة ليس سجلاً لكل قيمة خارجية يمكن أن يستند إليها أحد القيود. قد يكون تغيير تعيين ما مهماً من دون أن يظهر كتغيير في قائمة الوحدات.
الحل ليس التخلي عن إعادة الاستخدام أو التخزين المؤقت. بل تحديد نطاق ما تثبته المعلومات المشتركة. يمكن للأداة أن تعيد استخدام معرفة المخطط، مع الاحتفاظ بالدليل الذي يميز سياق نسخة عن أخرى. لا ينبغي أن يأتي التوفير من محو الفروق اللازمة لفهم النتيجة.
مراجعة الصلاحيات لا تنتهي عند نقطة التركيب
إذا كان NACM منفذاً، يشمل التحكم في الوصول العقد المركّبة بحسب موضعها في الشجرة المركبة. لا تنشئ نقطة التركيب تلقائياً عالماً خاصاً من الصلاحيات مستقلاً عن الأب. وتصف ترتيبات الإدارة المشتركة أو المنفصلة تنظيم الجلسات، لا كل خصائص الفصل الأمني.
وتشير مناقشة NACM في RFC 8341 إلى ضرورة الانتباه لاعتمادات النموذج والمراجع والآثار الضمنية. فقد لا يشرح منع القراءة المباشرة كل ما يمكن للمستخدم استنتاجه من بيانات مرتبطة أو عمليات مسموحة. هذا تنبيه أمني عام، وليس إثباتاً لهجوم معين عبر Schema Mount.
لهذا يجب تجنب استنتاجين متقابلين: وجود مرجع إلى الأب لا يثبت فشل العزل، وغياب القراءة المباشرة لا يثبت اكتماله. يلزم النظر إلى النموذج الفعلي والجلسات والحقوق والسلوك القابل للملاحظة. وكل ضمانة ينبغي أن ترتبط بالدليل الذي يسندها.
قد يبقى الملف صحيحاً ومستقراً، فيما تتغير العلاقة التي تفسر استخدامه. نجاح إعادة الاستخدام يعتمد على الاعتراف بهذه العلاقة كجزء من العمل التشغيلي. فالقاعدة لا تعيش وحدها، والمسؤولية لا يمكن أن تتوقف دائماً عند آخر سطر في تعريفها.
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
