مشاركة عبر


تأمين تجمع SQL مخصص (SQL DW سابقا) في Azure Synapse Analytics

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

أمان الاتصال

يشير أمان الاتصال إلى كيفية تقييد الاتصالات بقاعدة البيانات وتأمينها باستخدام قواعد جدار الحماية وتشفير الاتصال.

يتم استخدام قواعد جدار الحماية بواسطة كل من خادم SQL المنطقي وقواعد البيانات الخاصة به لرفض محاولات الاتصال من عناوين IP التي لم تتم الموافقة عليها صراحة. للسماح بالاتصالات من عنوان IP العام للتطبيق أو جهاز العميل، يجب عليك أولا إنشاء قاعدة جدار حماية على مستوى الخادم باستخدام مدخل Microsoft Azure أو واجهة برمجة تطبيقات REST أو PowerShell.

كأفضل ممارسة، يجب عليك تقييد نطاقات عناوين IP المسموح بها من خلال جدار الحماية على مستوى الخادم قدر الإمكان. للوصول إلى تجمع SQL المخصص (المعروف سابقا باسم SQL DW) من جهاز الكمبيوتر المحلي الخاص بك، تأكد من أن جدار الحماية على شبكتك والكمبيوتر المحلي يسمح بالاتصال الصادر على منفذ TCP 1433.

يستخدم تجمع SQL المخصص (المعروف سابقا باسم SQL DW) قواعد جدار حماية IP على مستوى الخادم. لا يدعم قواعد جدار حماية IP على مستوى قاعدة البيانات. لمزيد من المعلومات، راجع قواعد جدار حماية قاعدة بيانات Azure SQL

يتم تشفير الاتصالات بتجمع SQL المخصص (المعروف سابقا باسم SQL DW) افتراضيا. يتم تجاهل تعديل إعدادات الاتصال لتعطيل التشفير.

Authentication

تشير المصادقة إلى كيفية إثبات هويتك عند الاتصال بقاعدة البيانات. يدعم تجمع SQL المخصص (المعروف سابقا باسم SQL DW) حاليا مصادقة SQL Server باستخدام اسم مستخدم وكلمة مرور، ومع معرف Microsoft Entra.

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

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

لإنشاء مستخدم مصادق عليه في SQL Server، اتصل بقاعدة البيانات الرئيسية على الخادم الخاص بك باستخدام تسجيل دخول مسؤول الخادم وقم بإنشاء تسجيل دخول جديد للخادم. من الجيد أيضا إنشاء مستخدم في قاعدة البيانات الرئيسية. يسمح إنشاء مستخدم في master للمستخدم بتسجيل الدخول باستخدام أدوات مثل SSMS دون تحديد اسم قاعدة بيانات. كما يسمح لهم باستخدام مستكشف الكائنات لعرض جميع قواعد البيانات على الخادم.

-- Connect to master database and create a login
CREATE LOGIN ApplicationLogin WITH PASSWORD = 'Str0ng_password';
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

بعد ذلك، اتصل بتجمع SQL المخصص (المعروف سابقا باسم SQL DW) باستخدام تسجيل الدخول إلى مسؤول الخادم وقم بإنشاء مستخدم قاعدة بيانات استنادا إلى تسجيل الدخول إلى الخادم الذي قمت بإنشائه.

-- Connect to the database and create a database user
CREATE USER ApplicationUser FOR LOGIN ApplicationLogin;

لمنح المستخدم إذنا لتنفيذ عمليات إضافية مثل إنشاء عمليات تسجيل الدخول أو إنشاء قواعد بيانات جديدة، قم بتعيين المستخدم إلى Loginmanager الأدوار و dbmanager في قاعدة البيانات الرئيسية.

لمزيد من المعلومات حول هذه الأدوار الإضافية والمصادقة على قاعدة بيانات SQL، راجع إدارة قواعد البيانات وعمليات تسجيل الدخول في قاعدة بيانات Azure SQL. لمزيد من المعلومات حول الاتصال باستخدام معرف Microsoft Entra، راجع الاتصال باستخدام مصادقة Microsoft Entra.

التصريح

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

EXEC sp_addrolemember 'db_datareader', 'ApplicationUser'; -- allows ApplicationUser to read data
EXEC sp_addrolemember 'db_datawriter', 'ApplicationUser'; -- allows ApplicationUser to write data

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

هناك طرق للحد من ما يمكن للمستخدم القيام به داخل قاعدة البيانات:

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

يمنح المثال التالي حق الوصول للقراءة إلى مخطط معرف من قبل المستخدم.

--CREATE SCHEMA Test
GRANT SELECT ON SCHEMA::Test to ApplicationUser

يتم التحكم في إدارة قواعد البيانات والخوادم من مدخل Microsoft Azure أو استخدام واجهة برمجة تطبيقات Azure Resource Manager من خلال تعيينات دور حساب مستخدم المدخل. لمزيد من المعلومات، راجع تعيين أدوار Azure باستخدام مدخل Azure.

التشفير

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

في قاعدة بيانات SQL، تتم حماية مفتاح تشفير قاعدة البيانات بواسطة شهادة خادم مضمنة. شهادة الخادم المضمنة فريدة لكل خادم. تقوم Microsoft تلقائيا بتدوير هذه الشهادات كل 90 يوما على الأقل. خوارزمية التشفير المستخدمة هي AES-256. للحصول على وصف عام ل TDE، راجع تشفير البيانات الشفاف.

يمكنك تشفير قاعدة البيانات الخاصة بك باستخدام مدخل Microsoft Azure أو T-SQL.

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

للحصول على تفاصيل وأمثلة حول الاتصال بالمستودع الخاص بك باستخدام بروتوكولات مختلفة، راجع الاتصال بتجمع SQL المخصص (المعروف سابقا باسم SQL DW).