فهم التشفير في MySQL

مكتمل

البيانات المتنقلة

تدعم Azure Database for MySQL الاتصالات المشفرة باستخدام TLS 1.2. يتم تمكين هذا البروتوكول بشكل افتراضي ويتم إدارته بواسطة معلمة خادم tls_version . تسمح لك هذه المعلمة بفرض الحد الأدنى من إصدار TLS الذي يسمح به الخادم. يمكنك تحديد أكثر من إصدار واحد، على سبيل المثال إذا كنت تريد السماح ب TLS 1.2 و1.3. عند تغيير هذه المعلمة، يجب إعادة تشغيل الخادم لتطبيق التغيير.

Screenshot showing the server parameter tls_version page.

إذا كان تطبيق العميل الخاص بك لا يدعم الاتصالات المشفرة، فستحتاج إلى تعطيل الاتصالات المشفرة في قاعدة بيانات Azure ل MySQL. في مدخل Microsoft Azure، انتقل إلى خادم MySQL، وضمن الإعدادات حدد معلمات الخادم. في مربع البحث، أدخل required_secure_transport. تحدد هذه المعلمة ما إذا كان يجب أن تستخدم اتصالات العميل اتصالاً آمناً، أي SSL عبر TCP/IP أو الاتصالات التي تستخدم ملف مأخذ توصيل على Unix، أو الذاكرة المشتركة على Windows. إذا كان تطبيق العميل الخاص بك لا يدعم الاتصالات المشفرة، فقم بتعيين require_secure_transport إلى إيقاف التشغيل.

إشعار

إذا قمت بتعيين require_secure_transport إلى إيقاف التشغيل، ولكن العميل يتصل باتصال مشفر، فسيظل مقبولا.

لاستخدام الاتصالات المشفرة مع تطبيقات العميل، قم بتنزيل شهادة SSL العامة في مدخل Microsoft Azure. انتقل إلى خادم MySQL ومن القائمة اليسرى حدد Networking. من القائمة العلوية، حدد Download SSL Certificate. للسماح للتطبيقات بالاتصال بأمان بقاعدة البيانات عبر SSL، احفظ ملف الشهادة في البيئة المحلية أو بيئة العميل حيث تتم استضافة التطبيق الخاص بك.

البيانات في الراحة

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

بالنسبة إلى تشفير جدول في ملف لكل مساحة جدول:

CREATE TABLE myEncryptedTable (myID INT) ENCRYPTION = 'Y';

إذا قمت بعد ذلك بتغيير جدول، يجب تحديد عبارة التشفير:

ALTER TABLE myEncryptedTable ENCRYPTION = 'Y';

تدعم Azure Database for MySQL تشفير البيانات الثابتة بشكل افتراضي، باستخدام مفاتيح Microsoft المدارة. يتم دائماً تشفير البيانات والنسخ الاحتياطية على القرص، ولا يمكن تعطيل ذلك.