تكوين أمان قاعدة بيانات Azure SQL وإدارتها للاستعادة الجغرافية أو تجاوز الفشل

ينطبق على: قاعدة بيانات Azure SQL

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

مواجهة الكوارث مع المستخدمين المضمنين

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

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

كيفية تكوين تسجيلات الدخول والمستخدمين

إذا كنت تستخدم تسجيلات الدخول والمستخدمين (بدلاً من المستخدمين المضمنين)، يجب اتخاذ خطوات إضافية للتأكد من وجود نفس تسجيلات الدخول في قاعدة البيانات الرئيسية. توضح الأقسام التالية الخطوات المتضمنة والاعتبارات الإضافية.

ملاحظة

من الممكن أيضًا استخدام تسجيلات الدخول إلى Azure Active Directory (AAD) لإدارة قواعد البيانات الخاصة بك. لمزيد من المعلومات، راجع تسجيل الدخول إلى Azure SQL والمستخدمين.

إعداد وصول المستخدم إلى قاعدة بيانات ثانوية أو مستردة

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

يتم وصف الأذونات المحددة لكل خطوة لاحقًا في هذا الموضوع.

يجب أن يتم إعداد وصول المستخدم إلى ثانوي النسخ المتماثل الجغرافي كجزء تكوين النسخ المتماثل الجغرافي. وينبغي أن يتم إعداد وصول المستخدم إلى قواعد البيانات المستردة جغرافيًا في أي وقت يكون فيه الخادم الأصلي متصلا بالإنترنت (على سبيل المثال كجزء من تنقل DR).

ملاحظة

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

يتضمن إعداد تسجيلات الدخول على الخادم المستهدف ثلاث خطوات موضحة أدناه:

1. تحديد تسجيلات الدخول مع الوصول إلى قاعدة البيانات الأساسية

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

يمكن فقط لمسؤول الخادم أو عضو دور الخادم LoginManager تحديد تسجيلات الدخول على الخادم المصدر مع عبارة SELECT التالية.

SELECT [name], [sid]
FROM [sys].[sql_logins]
WHERE [type_desc] = 'SQL_Login'

يمكن فقط لعضو دور قاعدة البيانات db_owner أو المستخدم dbo أو مسؤول الخادم تحديد كافة أساسيات مستخدم قاعدة البيانات في قاعدة البيانات الأساسية.

SELECT [name], [sid]
FROM [sys].[database_principals]
WHERE [type_desc] = 'SQL_USER'

2. البحث عن SID لتسجيل الدخول المحدد في الخطوة 1

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

يمكن استخدام الاستعلام التالي لمشاهدة كافة أساسيات المستخدم وSIDs الخاصة بهم في قاعدة بيانات. يمكن فقط لعضو دور قاعدة بيانات db_owner أو مسؤول الخادم تشغيل هذا الاستعلام.

SELECT [name], [sid]
FROM [sys].[database_principals]
WHERE [type_desc] = 'SQL_USER'

ملاحظة

لدى مستخدمي INFORMATION_SCHEMA و sysقيمة فارغة SIDs، و الضيف SID هو 0x00. قد يبدأ dbo SID مع 0x01060000000001648000000000048454، إذا كان منشئ قاعدة البيانات هو مسؤول الخادم وليس عضو DbManager.

3. إنشاء تسجيلات الدخول على الخادم المستهدف

الخطوة الأخيرة هي الانتقال إلى الخادم أو الخوادم المستهدفة وإنشاء تسجيلات الدخول باستخدام SIDs مناسب. بناء الجملة الأساسي كما يلي.

CREATE LOGIN [<login name>]
WITH PASSWORD = '<login password>',
SID = 0x1234 /*replace 0x1234 with the desired login SID*/

ملاحظة

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

ALTER LOGIN [<login name>] DISABLE

الميزة DISABLE لا تقوم بتغير كلمة المرور، لذلك يمكنك التمكين دائمًا إذا لزم الأمر.

الخطوات التالية