إدارة المستخدمين اليتامى في SQL Server: دليل شامل

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

خلفية

لت الاتصال بقاعدة بيانات SQL Server، يجب أن يكون لدى المستخدم تسجيل دخول صالح في قاعدة بيانات الماستر. يقوم هذا التسجيل بالمصادقة على المستخدم ويرتبط بمستخدم قاعدة البيانات للتفويض. يتم الحفاظ على هذا الربط باستخدام معرف الأمان (SID)، مما يضمن أن المستخدمين في قاعدة البيانات وتسجيلات الدخول في الخادم مرتبطة بشكل صحيح.

تتضمن الاستثناءات لقاعدة ربط تسجيل الدخول بالمستخدم:

  1. مستخدمو قاعدة البيانات المحتواة: يتم المصادقة عليهم على مستوى قاعدة البيانات، مما يلغي الاعتماد على تسجيلات الدخول في الخادم. تعزز هذه المستخدمون قابلية نقل قاعدة البيانات ولكنها تتطلب إعادة إنشاء منفصلة لكل قاعدة بيانات.
  2. حسابات الضيف: مفعلة بشكل افتراضي، تسمح بالوصول للمستخدمين دون ربط صريح ولكنها عادة ما تُحذر لأسباب أمنية.
  3. عضويات مجموعة Microsoft Windows: يمكن لأعضاء مجموعة Windows الوصول إلى قواعد البيانات إذا تمت إضافة المجموعة كمستخدمين.

يصبح مستخدم قاعدة البيانات يتيمًا عندما:

  • يتم حذف تسجيل الدخول المقابل.
  • يتم ترحيل قاعدة البيانات أو استعادتها دون تسجيلات الدخول المرتبطة.
  • خريطة SID بين المستخدم وتسجيل الدخول غير صحيحة.

ما هم المستخدمون اليتامى؟

يحدث المستخدم اليتيم عندما:

  • يوجد مستخدم قاعدة البيانات، لكن تسجيل الدخول المقابل في قاعدة بيانات الماستر غير موجود.
  • يختلف SID مستخدم قاعدة البيانات عن SID تسجيل الدخول.

تؤدي هذه السيناريوهات إلى تعطيل المصادقة والتفويض، مما يؤدي إلى أخطاء أو وصول مقيد.

كشف المستخدمين اليتامى

لـ SQL Server

استخدم الاستعلام التالي لتحديد المستخدمين اليتامى:

MS SQL

 

لـ Azure SQL Database أو Synapse Analytics

1. استرجع SIDs لتسجيلات الدخول في قاعدة بيانات الماستر:

MS SQL

 

2. استرجع SIDs للمستخدمين في قاعدة البيانات المستهدفة:

MS SQL

 

3. قارن القوائم لتحديد الاختلافات.

حل المستخدمين اليتامى

1. إعادة إنشاء تسجيل الدخول المفقود مع SID 

إذا تم حذف تسجيل الدخول:

MS SQL

 

2. ربط مستخدم يتيم بتسجيل دخول موجود 

إذا كان تسجيل الدخول موجودًا ولكنه غير مرتبط:

MS SQL

 

3. تغيير كلمة مرور المستخدم 

بعد إعادة إنشاء تسجيل الدخول، قم بتحديث كلمة مروره:

MS SQL

 

باستخدام sp_FindOrphanedUser

الإجراء المخزن sp_FindOrphanedUser هو أداة قوية لكشف وحل مشكلة المستخدمين اليتامى. يوفر:

  1. قائمة بالمستخدمين اليتامى.
  2. نصوص تم إنشاؤها تلقائيًا للإصلاحات.
  3. تفاصيل المخططات المملوكة للمستخدمين الأيتام.

احصل على رمز الحزمة من sp_FindOrphanedUser.

تشغيل الإجراء

التنفيذ الافتراضي:

MS SQL

 

لقاعدة بيانات محددة:

MS SQL

 

أمثلة على سيناريوهات المستخدم الأيتام

مثال 1: مستخدم بدون تسجيل دخول

السيناريو

يتم حذف تسجيل الدخول، تاركًا مستخدم قاعدة البيانات يتيمًا.

  • اكتشف المستخدم اليتيم:
    MS SQL

     

  • إعادة إنشاء تسجيل الدخول:
    MS SQL

     

مثال ٢: عدم تطابق SID

السيناريو

لا يتطابق SID تسجيل الدخول مع SID المستخدم.

  • اكتشف التباين:
    MS SQL

     

  • تصحيح تعيين SID:
    MS SQL

     

مثال ٣: مستخدم مهجور يمتلك مخططًا

السيناريو

يمنع المستخدم المهجور حذف المخطط.

  • كشف ملكية المخطط:
    MS SQL

     

  • إعادة تعيين ملكية المخطط:
    MS SQL

     

أفضل الممارسات

  • استخدم مستخدمي قاعدة بيانات محصورة: تجنب الاعتماد على تسجيلات دخول الخادم.
  • مزامنة تسجيلات الدخول: قم دائمًا بترحيل أو استعادة تسجيلات الدخول خلال ترحيل قواعد البيانات.
  • تدقيقات منتظمة: تحقق دوريًا من المستخدمين اليتامى للحفاظ على الأمان.

الخاتمة

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

Source:
https://dzone.com/articles/managing-orphaned-users-in-sql-server