تخطَّ إلى المحتوى

منطقة الإدارة

منطقة الإدارة (/management) هي سطح المشغل الخاص. لها تسجيل دخول مستقل عن حسابات المنتج - حساب المشغل لا يفتح صفحات المنتج والعكس صحيح.

تعرض صفحة البدء ما هو التنصيب وما يفعله: أعداد المستخدمين/مساحات العمل/المشاريع، وبطاقات حالة الوحدات (ArchPilot وArchScan وصحة الشيفرة) خلف مرشح مساحة عمل اختياري، ومخططات التوزيع، ومؤشر إيقاع العمل، ونشاط آخر 28 يوما، وفحص التحديث إن كان مهيأ.

كل مساحة عمل في التنصيب، مع صفحة تفاصيل لكل مستأجر:

  • الأعضاء (حسابات الدخول عبر LDAP موسومة - كلمات مرورها تعيش في الدليل)،
  • المشاريع (المشروع بلا بيانات اعتماد يوسم: فهو يفسر مستودعا لا يفحص أبدا)،
  • الدعوات المعلقة مع تاريخ انتهائها،
  • مفتاح الدعوات - عند إغلاقه يختفي زر الدعوة عن أعضاء تلك المساحة وترفض الواجهة البرمجية النداء أيا كان مصدره. ولا يستطيع مديرو المساحة أنفسهم رفعه.
  • بطاقة إعادة ضبط بيانات الوحدات: اختر الوحدات (ArchScan وArchPilot وArchSecurity والامتثال وGit Health وتحليلات الهندسة وسجل المساعد) فتُحذف نتائجها في مساحة العمل هذه فعليًا - عمليات التشغيل والفحوص والنتائج والحقائق. تبقى القواعد والتكاملات وبيانات الاعتماد والأعضاء؛ ويبدأ الفحص أو المزامنة التالية من الصفر. لا تراجع، ولهذا يُطلب التأكيد أولًا.

تحمل عمليات ArchScan ومراجعات ArchPilot في شاشات وحدات مساحة العمل زر حذف للغرض نفسه: تُزال عملية تجريبية لا ينبغي احتسابها مع نتائجها نهائيًا.

تتفرع صفحتان إضافيتان من صفحة تفاصيل مساحة العمل:

  • الإعدادات - نصف إعداد المستأجر الذي لم يكن يراه سوى أعضائه: بأي بيانات اعتماد يصل إلى مزوّد Git (الخاصة به والمشتركة من التثبيت، ولكل منها الأحرف الأربعة الأخيرة وعدد المشاريع التي تستخدمها)، وبماذا هو متصل (Jira وTrello وSonar وSlack وTeams وJMeter وArgo CD وKubernetes وDynatrace وNew Relic)، وجداول الفحص، والأدوار المخصصة مع الصلاحيات التي تمنحها، ومجموعات المشاريع. للقراءة فقط، ولا يمكن قراءة أي سر هناك.
  • تفاصيل المشروع - انقر على اسم المشروع: الفرع الافتراضي، المجموعة، بيانات الاعتماد وتاريخ انتهائها، الأحرف الأربعة الأخيرة لرمز المشغّل وعمره، وهل تم ضبط سر الويب هوك، وأنماط تضمين واستبعاد نطاق الفحص، ومناهج المعمارية، واستثناءات القواعد، وتتبع الإصدارات، ومن سجّل المشروع. يُخزَّن الرمز وسر الويب هوك مجزّأين ولا يمكن قراءتهما.

يمكن استعادة مساحة عمل محذوفة من القائمة. لم تُحذف الصفوف أصلًا، فتعود بمشاريعها وسجلّها.

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

  • ArchScan - لوحة الأسطول، والنزول لكل مساحة إلى التشغيلات والتقارير الكاملة؛ صحة الشيفرة والاعتماديات على شريط تبويباته بالمرشح الاختياري نفسه.
  • ArchPilot - التبني والمحصلة (نجح / يحتاج انتباها / أخفق)، وأكثر القواعد إطلاقا وكم مرة يستجاب لتعليقاتها، وقوائم طلبات الدمج المراجعة لكل مساحة مع تفاصيل النتائج.
  • ArchSecurity - مزيج الشدة، ولوحة الأمان وتقارير الأطر (OWASP وPCI DSS وDISA STIG وCASA ASVS) لكل مساحة، بما فيها النتائج المفتوحة المرآة من GitLab/SonarQube - تعد بجانب نتائجنا ولا تدمج أبدا.
  • الامتثال وصحة Git وكتالوج الخدمات - نظائر على مستوى التنصيب لشاشات المستأجر، وكلها قابلة للتضييق بمساحة العمل والمشروع.

في كل مكان، لم يفحص قط يبلغ عنه بوصفه غير معروف - لا سليما ولا صفرا.

في شاشتي الامتثال وGit Health يستطيع المشغّل أيضًا وضع فحص لمشروع في الطابور نيابةً عن مساحة العمل. تُسجَّل العملية على أنها أُطلقت بواسطة operator ولا تُنسب إلى أي مستخدم للمستأجر، حتى لا يبدو إجراء الدعم وكأنه فعل العميل.

شاشة تبويبات واحدة: الترخيص (مع الحدود الممنوحة)، البريد (SMTP/Postmark مع إرسال تجريبي)، رسائل التقارير، مساعد الذكاء الاصطناعي (انظر Archito، المساعد)، التسجيل والدعوات - مفتاح التسجيل الذاتي وقائمة نطاقات البريد القابلة للدعوة ومفتاح التحقق بخطوتين على مستوى التنصيب -، اللوحة، الوحدات (إطفاء وحدة يوقف مهامها المجدولة أيضا)، LDAP، Turnstile، اللغات والتحليلات. عند انتهاء الترخيص يستمر التثبيت في العمل لمدة سماح 14 يومًا؛ وبعدها يتوقف التثبيت حتى يُثبَّت ترخيص جديد - راجع الحفاظ على سريان الترخيص لمعرفة ما يعنيه ذلك وما الذي قد يوقفه أيضًا.

يعرض تبويب الترخيص أيضًا رمز التثبيت. يعمل الترخيص على تثبيت واحد فقط: أول تثبيت يجلبه عبر الإنترنت يربطه بنفسه، وأي تثبيت آخر يطلب الترخيص نفسه يُرفض. يرسل التثبيت المعزول هذا الرمز إلى AppArch ويستلم ملف .lic يعمل على هذا التثبيت فقط. عدة pods تتشارك قاعدة بيانات واحدة تُعدّ تثبيتًا واحدًا. للانتقال إلى خادم جديد، اطلب من AppArch تحرير الترخيص، ثم اجلبه مجددًا من الخادم الجديد - راجع ترخيص واحد، تثبيت واحد.

منطقة الخطر - إعادة ضبط المصنع

Section titled “منطقة الخطر - إعادة ضبط المصنع”

الإعدادات > منطقة الخطر تعيد التنصيب إلى حالة التشغيل الأول: تحذف كل مساحات العمل والأعضاء والدعوات وحسابات المستخدمين وبيانات اعتماد Git (بما فيها المشتركة) والمشاريع والتكاملات والفحوصات والنتائج والتقارير، وتبدأ عدادات المعرفات من جديد. تبقى حسابات المديرين والترخيص وبيانات اعتماد التنصيب والإعدادات والترجمات وكتالوجات القواعد، لذلك لا يعمل معالج الإعداد مجددا؛ يصبح التطبيق ببساطة بلا مستخدمين أو مساحات. لا تراجع؛ خذ نسخة احتياطية من قاعدة البيانات أولا (docker compose exec postgres pg_dump ...).

إعادة الضبط صعبة التفعيل عمدا:

  1. كلمة المرور - لا يبدأها إلا مدير يملك كل الصلاحيات، وعليه إعادة إدخال كلمة مروره.
  2. رمز بالبريد - يرسل رمز من ستة أرقام إلى عنوان ذلك المدير نفسه (صالح 15 دقيقة، خمس محاولات). يجب أن يكون البريد الصادر مضبوطا؛ لا توجد طريقة أخرى للتأكيد.
  3. تأكيد مكتوب - اسم العميل المرخص كما هو معروض تماما.
  4. نافذة عشر دقائق - تجدول عملية الحذف، ويصل كل مدير نشط بريد فيه رابط، ويمكن لأي منهم الإلغاء حتى تغلق النافذة. بعدها تبدأ المهمة خلال ثلاثين ثانية ولا يمكن إيقافها.

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

  • التحديثات - الإصدار المنصب مقابل سجل المورد لكل مكون، مع زر فحص فوري. يمر الفحص عبر بوابة المورد ببيانات اعتماد التنصيب؛ التنصيبات المعزولة تعطله بـ UpdateCheck:Enabled=false.
  • التنبيهات الأمنية - بيانات الثغرات التي تُطابق بها كل تبعية مفحوصة، لكل سجل حزم، مع استيراد OSV الذي يحدّثها. انظر أدناه.
  • النتائج - ما لاحظه التنصيب عن نفسه: مهمة فشلت، مشروع تتعثر مزامنته باستمرار، بريد استنفد محاولاته، صف رفضته قاعدة البيانات. صف واحد لكل مشكلة مع عدد التكرار وآخر خطأ؛ يغلق نفسه حين ينجح موضوعه مجددا. علّم كمقروء، أغلق يدويا، أو اكتم نوعا لنفسك فقط. تظهر النتائج المفتوحة كشارة في الشريط الجانبي وكسطر في الصفحة الرئيسية.
  • المهام - كل مهمة مجدولة مع زر تشغيل فوري.
  • السعة (صفحة خاصة بها ضمن النظام) - حمل المهام المقاس (متوسط مدة كل مهمة على فاصلها، مجموعا) مقابل خيوط العمل لحاوية Api واحدة، والحاويات الحية من جدول عنقود Quartz مع استهلاكها الفعلي للمعالج والذاكرة، والحمل حسب مجموعة الوحدات، وأثقل المهام مع تصفية حسب الفئة وفرز حسب العمود، وتوصية: حاوية واحدة تحمل الحمل لكن ينصح باثنتين لإعادة تشغيل دون انقطاع، أو N حاويات حين يتجاوز الحمل المضاعف حاوية واحدة. يظهر بعد سبعة أيام من السجل.
  • صحة النظام - مجسات PostgreSQL وRedis حية (لا تخزن مؤقتا أبدا) مع حالة المجدول. لمجسات المنسق استخدم النقطتين غير الموثقتين /health/live و/health/ready - انظر تنصيب on-prem.
  • التكاملات - جرد كل ما يتحدث معه التنصيب، لكل مساحة، دون أسرار.
  • المستخدمون والدعوات والمديرون - إدارة حسابات المستويين.

كل تشغيل ArchScan يبلّغ عن التبعيات التي يعلنها المستودع. تطابق Api تلك القائمة مع كتالوج التنبيهات الخاص بالتنصيب وتفتح نتيجة لكل حزمة يقع إصدارها المنصب داخل نافذة ثغرة منشورة (CWE-1104، مرتبط بـ OWASP A06 وضوابط PCI وSTIG وCASA). تتم المطابقة هنا لا في المشغل: مهمة CI داخل شبكة العميل لا تصل إلى خدمة CVE، وصورة collector مثبتة منذ عام تحمل بيانات عمرها عام.

يأتي المنتج بقاعدة منتقاة لسجلات الحزم الثمانية التي تقرأها المجمعات: NuGet وnpm وPyPI وMaven (جافا وكوتلن) وGo وRubyGems وPackagist وSwiftPM. بيانات الثغرات تتقادم خلال أسابيع، لذا حدّثها من الإدارة ← التنبيهات الأمنية: على جهاز متصل بالإنترنت نزّل تصدير السجل المطلوب من osv.dev (osv-vulnerabilities/<السجل>/all.zip)، وادمج السجلات في مصفوفة JSON واحدة، وارفع الملف. التحليل التالي يطابق بها - دون إعادة بناء أي صورة ودون أي اتصال خارجي.

الاستيراد يضيف ويحدّث؛ لا يحذف صفا أبدا ولا يعيد تفعيل تنبيه أوقفه المشغّل بعد إنذار كاذب. تعرض الشاشة أيضا السجلات التي لا تنبيهات لها، فذلك يعني لغة لا يفحص أحد تبعياتها.

تسجيل دخول المسؤول والقفل

Section titled “تسجيل دخول المسؤول والقفل”

تُسجَّل كل محاولة دخول إلى الإدارة - من، ومن أي عنوان، وبأي متصفح، وسبب الفشل (كلمة مرور خاطئة، بريد غير معروف، حساب غير نشط، حساب مقفل). السجل موجود في التدقيق > عمليات الدخول.

بعد خمس محاولات فاشلة يُقفَل الحساب خمس عشرة دقيقة. القفل لكل حساب لا لكل عنوان: كل عملية دخول تصل إلى الواجهة البرمجية عبر خادم الواجهة، فالقفل حسب العنوان سيحسب جهازًا واحدًا. الحساب المقفل يظهر بشارة في قائمة المسؤولين، ويستطيع أي مسؤول لديه صلاحية المسؤولين فتح قفله دون انتظار.

صار كل رمز مشغّل ينتمي إلى جلسة، وتعرضها صفحة جلساتي (من شاشة المسؤولين): الجهاز والعنوان ووقت البدء وآخر استخدام، مع تمييز الجلسة التي تنظر إليها. إنهاء جلسة يُخرج ذلك المتصفح عند طلبه التالي، ولا يمكن تجديدها بعد ذلك أيضًا، فـ«أخرِج ذلك الحاسوب» تعني ذلك فعلًا بدل أن تستمر حتى انتهاء صلاحية الرمز صدفة. وإنهاء كل الجلسات الأخرى ينظّف البقية بإجراء واحد.

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

حذف المسؤول في القائمة يزيل الحساب: يختفي من القائمة، ولا يستطيع تسجيل الدخول، وتنتهي جلساته المفتوحة فورًا، ويصبح بريده متاحًا لمن يخلفه.

يبقى الصف في قاعدة البيانات، وهذا مقصود. سجل التدقيق وسجل الدخول وكل إشارة «عُدّل بواسطة» تسمي فاعلها بمعرّف ذلك الحساب دون مفتاح أجنبي خلفه. حذف الصف سيجعلها كلها تقول «أحدهم»، فيبقى السجل بعد الحساب لكنه ينسى من كان فيه. لذلك يُفرَّغ الحساب بدلًا من حذفه ويُخفى من كل موضع يمكن استخدامه فيه.

لا يمكنك حذف حسابك أنت: طلب يدمّر بيانات اعتماده في منتصف الطريق طريقة مربكة لقول «تسجيل الخروج»، ونقرة خاطئة تقفل عليك اللوحة. لإغلاق حسابك اطلب من زميل أن يفعل ذلك.

صلاحيات المسؤول تحدد ما يستطيع فعله لا ما يراه فقط - والواجهة البرمجية ترفض الطلب في الحالتين:

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

المسؤول الذي لا يملك صلاحية ما لا يرى مجموعة القائمة التابعة لها، وتردّ نقاط النهاية المقابلة بالرمز 403.

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