Breaking News
القائمة
Advertisement

تراكم الصلاحيات يعطل حزمة Microsoft Graph PowerShell SDK: دليلك لإصلاح خطأ Connect-MgGraph

تراكم الصلاحيات يعطل حزمة Microsoft Graph PowerShell SDK: دليلك لإصلاح خطأ Connect-MgGraph

يواجه مسؤولو تكنولوجيا المعلومات الذين يعتمدون على حزمة تطوير البرمجيات (Microsoft Graph PowerShell SDK) حداً أقصى داخلياً يؤدي إلى تعطل الجلسات التفاعلية. تتسبب مشكلة زحف الصلاحيات (Permissions creep) داخل تطبيق أدوات سطر الأوامر في فشل أمر (Connect-MgGraph)، مما يمنع المستخدمين من تسجيل الدخول بسبب رسالة خطأ مُضللة.

تستخدم الجلسات التفاعلية تطبيقاً رسمياً لإدارة الوصول. في المرة الأولى التي يتم فيها تشغيل أمر الاتصال في بيئة العمل، يُنشئ نظام (Entra ID) كيان الخدمة (Service principal) الذي يحتفظ بالصلاحيات المفوضة (Delegated permissions) لهذا التطبيق. وبمرور الوقت، يطلب المستخدمون باستمرار نطاقات إضافية لتشغيل أوامر معينة، باستخدام أوامر مشابهة لما يلي:

Connect-MgGraph -Scopes GroupMember.Read.All, User.ReadBasic.All

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

عتبة الـ 140 صلاحية

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

بمجرد الوصول إلى هذا الحد غير الموثق، تؤدي إضافة أعداد كبيرة من الصلاحيات الجديدة إلى فشل الاتصال تماماً. وتؤدي محاولات تشغيل الأمر مع مُعامل النطاقات في جلسات (PowerShell) ذات الصلاحيات العالية أو العادية (باستخدام الإصدار 7.6.2) إلى ظهور الخطأ التالي:

Connect-MgGraph -Scopes AuditLogsQuery-SharePoint.Read.All

WARNING: Note: Sign in by Web Account Manager (WAM) is enabled by default on Windows. If using an embedded terminal, the interactive browser window may be hidden behind other windows.
Connect-MgGraph: InteractiveBrowserCredential authentication failed: User canceled authentication.

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

كيفية إصلاح خطأ المصادقة في Connect-MgGraph

توجد هذه المشكلة حالياً في الإصدار 2.38 والإصدارات الأقدم من حزمة تطوير البرمجيات (Microsoft Graph PowerShell SDK). وإلى أن تقوم شركة Microsoft بمعالجة الخلل أو توثيق الحد الأقصى رسمياً، يجب على المسؤولين التدخل يدوياً لاستعادة وظائف النظام.

  • تحديد التراكم: راجع الصلاحيات المفوضة المخصصة حالياً لكيان الخدمة الخاص بأدوات سطر الأوامر في نظام (Entra ID).
  • تشغيل أمر التنظيف: استخدم أمر (Update-MgOauth2PermissionGrant) لإزالة الصلاحيات المفوضة غير الضرورية بشكل نشط.
  • النزول عن الحد الأقصى: تأكد من أن إجمالي عدد الصلاحيات ينخفض بأمان إلى ما دون حد الـ 140 نطاقاً.
  • إعادة الاتصال: بمجرد تقليل النطاقات، سيعمل أمر (Connect-MgGraph -Scopes) بشكل طبيعي مرة أخرى.

حاجز وقائي غير مقصود لأمن النظام

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

هل أعجبك هذا المقال؟
Advertisement

عمليات البحث الشائعة