نظرة عامة على قاعدة بيانات Azure SQL وإمكانيات أمان المثيل المُدار من SQL

ينطبق على: قاعدة بيانات Azure SQL مثيل Azure SQL المُدار Azure Synapse Analytics

توضح هذه المقالة أساسيات تأمين طبقة البيانات لتطبيق ما باستخدام قاعدة بيانات Azure SQL و مثيل Azure SQL المُدار و Azure Synapse Analytics . تتبع الإستراتيجية الأمنية الموضحة نهج الطبقات الدفاعية المتعمق كما هو موضح في الصورة أدناه، وتتحرك من الخارج إلى:

Diagram of layered defense-in-depth. Customer data is encased in layers of network security, access management and threat and information protections.

أمان الشبكة

توفر قاعدة بيانات Microsoft Azure SQL وSQL Managed Instance وAzure Synapse Analytics خدمة قاعدة بيانات علائقية لتطبيقات المؤسسة والسحابة. للمساعدة في حماية بيانات العميل، تمنع جدران الحماية الوصول إلى الشبكة إلى الخادم حتى يتم منح الوصول بشكل صريح بناءً على عنوان IP أو أصل بحركة التدفق شبكة Azure الظاهرية.

قواعد جدار حماية IP

تمنح قواعد جدار حماية IP الوصول إلى قواعد البيانات بناءً على عنوان IP الأصلي لكل طلب. لمزيد من المعلومات، راجع نظرة عامة على قاعدة بيانات Azure SQL وقواعد جدار الحماية Azure Synapse Analytics .

قواعد جدار حماية الشبكة الافتراضية

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

تمكّن قواعد الشبكة الظاهرية قاعدة بيانات Azure SQL لقبول الاتصالات التي يتم إرسالها من الشبكات الفرعية المحددة داخل شبكة افتراضية فقط.

ملاحظة

التحكم في الوصول باستخدام قواعد جدار الحماية لا ينطبق على SQL Managed Instance. لمزيد من المعلومات حول تهيئة الشبكة المطلوبة، راجع الاتصال بمثيل مُدار

إدارة الوصول

هام

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

المصادقة

المصادقة هي عملية إثبات أن المستخدم هو من يدعي أنه. تدعم Azure SQL Database ومثيل SQL المُدار مصادقة SQL ومصادقة Microsoft Azure Active Directory. يدعم مثيل SQL المُدار أيضاً مصادقة Windows لأساسيات Microsoft Azure Active Directory.

  • مصادقة SQL:

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

  • مصادقة Microsoft Azure Active Directory:

    مصادقة Microsoft Azure Active Directory هي آلية للاتصال بـ قاعدة بيانات Azure SQL و مثيل Azure SQL المُدار و Azure Synapse Analytics باستخدام الهويات في Microsoft Azure Active Directory (Microsoft Azure Active Directory ). تسمح مصادقة Microsoft Azure Active Directory للمسؤولين بإدارة الهويات والأذونات لمستخدمي قاعدة البيانات مركزياً جنباً إلى جنب مع خدمات Azure الأخرى في موقع مركزي واحد. يتضمن ذلك تقليل تخزين كلمات المرور وتمكين سياسات تدوير كلمات المرور المركزية.

    يجب إنشاء مسؤول خادم يسمى مسؤول خدمات مجال Active Directory لاستخدام مصادقة Microsoft Azure Active Directory مع قاعدة بيانات SQL. لمزيد من المعلومات، راجع الاتصال بقاعدة بيانات SQL باستخدام مصادقة Microsoft Azure Active Directory . تدعم مصادقة Microsoft Azure Active Directory كلاً من الحسابات المُدارة والمتحدة. تدعم الحسابات الموحدة مستخدمي Windows والمجموعات لمجال العميل المتحد مع Microsoft Azure Active Directory.

    خيارات مصادقة Microsoft Azure Active Directory الإضافية المتوفرة هي اتصالات المصادقة العامة للدليل النشط لـ SQL Server Management Studio بما في ذلك المصادقة متعددة العوامل والوصول المشروط.

  • مصادقة Windows لأساسيات Microsoft Azure Active Directory (إصدار أولي):

    تمكّن مصادقة Kerberos لكيانات Microsoft Azure Active Directory (إصدار أولي) مصادقة Windows لمثيل Azure SQL المُدار. تعمل مصادقة Windows للمثيلات المدارة على تمكين العملاء من نقل الخدمات الحالية إلى السحابة مع الحفاظ على تجربة مستخدم سلسة وتوفر الأساس لتحديث البنية الأساسية.

    لتمكين مصادقة Windows لكيانات Azure Active Directory (Microsoft Azure Active Directory)، ستقوم بتحويل مستأجر Microsoft Azure Active Directory إلى مجال Kerberos مستقل وإنشاء ثقة واردة في مجال مخصص. تعرف على كيفية تنفيذ مصادقة Windows لـ Azure SQL Managed Instance باستخدام Microsoft Azure Active Directory وKerberos.

هام

يتم التحكم في إدارة قواعد البيانات والخوادم داخل Azure من خلال تعيينات دور حساب مستخدم البوابة الإلكترونية. لمزيد من المعلومات حول هذه المقالة، راجع التحكم في الوصول المستند إلى الدور في Azure في مدخل Microsoft Azure . التحكم في الوصول باستخدام قواعد جدار الحماية لا ينطبق على SQL Managed Instance. الرجاء مراجعة المقالة التالية حول الاتصال بمثيل مُدار للحصول على مزيد من المعلومات حول تهيئة الشبكة المطلوبة.

التخويل

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

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

أمان على مستوى الصف

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

Diagram showing that Row-Level Security shields individual rows of a SQL database from access by users via a client app.

الحماية من المخاطر

تقوم قاعدة بيانات SQL وSQL Managed Instance بتأمين بيانات العملاء من خلال توفير إمكانات التدقيق والكشف عن التهديدات.

تدقيق SQL في سجلات Azure Monitor ومراكز الأحداث

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

حماية من المخاطر المتقدمة

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

Diagram showing SQL Threat Detection monitoring access to the SQL database for a web app from an external attacker and malicious insider.

حماية المعلومات وتشفيرها

أمان خاص بطبقة النقل (التشفير أثناء النقل)

تقوم قاعدة بيانات SQL وSQL Managed Instance وAzure Synapse Analytics بتأمين بيانات العملاء عن طريق تشفير البيانات أثناء الحركة باستخدام بروتوكول أمان طبقة النقل (TLS) .

تقوم قاعدة بيانات SQL وSQL Managed Instance وAzure Synapse Analytics بفرض التشفير (SSL / TLS) في جميع الأوقات لجميع الاتصالات. يضمن هذا تشفير جميع البيانات "أثناء النقل" بين العميل والخادم بغض النظر عن إعداد التشفير أو TrustServerCertificate في سلسلة الاتصال.

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

على سبيل المثال، عند استخدام برنامج تشغيل ADO.NET، يتم تحقيق ذلك عبر Encrypt=True و TrustServerCertificate=False. إذا حصلت على سلسلة الاتصال الخاصة بك من مدخل Microsoft Azure، فستحتوي على الإعدادات الصحيحة.

هام

لاحظ أن بعض برامج التشغيل غير التابعة لـ Microsoft قد لا تستخدم TLS افتراضياً أو تعتمد على إصدار أقدم من TLS (<1.2) لكي تعمل. في هذه الحالة، لا يزال الخادم يسمح لك بالاتصال بقاعدة البيانات الخاصة بك. ومع ذلك، نوصي بتقييم المخاطر الأمنية للسماح لمثل هذه البرامج والتطبيقات بالاتصال بقاعدة بيانات SQL، خاصةً إذا كنت تقوم بتخزين بيانات حساسة.

لمزيد من المعلومات حول TLS والاتصال، راجع اعتبارات TLS

تشفير بيانات شفاف (تشفير ثابت)

يضيف تشفير البيانات الشفاف (TDE) لقاعدة بيانات SQL وSQL Managed Instance وAzure Synapse Analytics طبقة من الأمان للمساعدة في حماية البيانات الباقية من الوصول غير المصرح به أو دون اتصال إلى الملفات الأولية أو النسخ الاحتياطية. تتضمن السيناريوهات الشائعة سرقة مركز البيانات أو التخلص غير الآمن من الأجهزة أو الوسائط مثل محركات الأقراص وأشرطة النسخ الاحتياطي. يقوم TDE بتشفير قاعدة البيانات بالكامل باستخدام خوارزمية تشفير AES، والتي لا تتطلب من مطوري التطبيقات إجراء أي تغييرات على التطبيقات الحالية.

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

إدارة المفاتيح باستخدام Azure Key Vault

Bring Your Own Key (BYOK) يدعم تشفير البيانات الخارجية (TDE) الذي يسمح للعملاء بالحصول على ملكية إدارة المفاتيح والتناوب باستخدام Azure Key Vault، نظام إدارة المفاتيح الخارجية المستند إلى السحابة من Azure. إذا تم إبطال وصول قاعدة البيانات إلى خزنة المفاتيح، فلا يمكن فك تشفير قاعدة البيانات وقراءتها في الذاكرة. يوفر Azure Key Vault نظاماً أساسياً لإدارة المفاتيح المركزية، ويعزز وحدات أمان الأجهزة المراقبة بإحكام (HSM)، ويتيح فصل المهام بين إدارة المفاتيح والبيانات للمساعدة في تلبية متطلبات الامتثال الأمني.

Always Encrypted (تشفير قيد الاستخدام)

Diagram showing the basics of the Always Encrypted feature. An SQL database with a lock is only accessed by an app containing a key.

Always Encrypted هي ميزة مصممة لحماية البيانات الحساسة المخزنة في أعمدة قاعدة بيانات معينة من الوصول (على سبيل المثال، أرقام بطاقات الائتمان أو أرقام التعريف الوطنية أو البيانات على أساس الحاجة إلى المعرفة). يتضمن ذلك مسؤولي قاعدة البيانات أو غيرهم من المستخدمين المتميزين المرخص لهم بالوصول إلى قاعدة البيانات لأداء مهام الإدارة، ولكن ليس لديهم عمل للوصول إلى البيانات المعينة في الأعمدة المشفرة. يتم دائماً تشفير البيانات، ما يعني أنه يتم فك تشفير البيانات المشفرة فقط للمعالجة بواسطة تطبيقات العميل مع الوصول إلى مفتاح التشفير. لا يتم عرض مفتاح التشفير مطلقاً لقاعدة بيانات SQL أو مثيل مُدار من SQL ويمكن تخزينه إما في Windows Certificate Store أو في Azure Key Vault .

إخفاء البيانات الديناميكي

Diagram showing dynamic data masking. A business app sends data to a SQL database which masks the data before sending it back to the business app.

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

إدارة الأمان

تقييم الثغرات الأمنية

تقييم الثغرات الأمنية هو خدمة سهلة التكوين يمكنها اكتشاف وتتبع والمساعدة في معالجة الثغرات الأمنية المحتملة في قاعدة البيانات بهدف تحسين أمان قاعدة البيانات بشكل استباقي. تقييم الثغرات الأمنية (VA) هو جزء من Microsoft Defender for SQL، وهو عبارة عن حزمة موحَّدة لإمكانيات أمان SQL المتقدمة. يمكن الوصول إلى تقييم الثغرة الأمنية وإدارته عبر مدخل Microsoft Defender المركزية لـ SQL.

اكتشاف البيانات وتصنيفها

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

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

لمزيد من المعلومات، راجع البدء في اكتشاف البيانات وتصنيفها .

التوافق

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

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