تمكين تشفير البيانات الشفاف على مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc (معاينة)
توضح هذه المقالة كيفية تمكين وتعطيل تشفير البيانات الشفاف (TDE) الثابتة على مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc. في هذه المقالة، يشير مصطلح المثيل المدار إلى نشر مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc وسيتم تطبيق تمكين/تعطيل TDE على جميع قواعد البيانات التي تعمل على مثيل مدار.
لمزيد من المعلومات حول TDE، يرجى الرجوع إلى تشفير البيانات الشفاف.
يؤدي تشغيل ميزة TDE إلى ما يلي:
- سيتم الآن تشفير جميع قواعد البيانات الموجودة تلقائيا.
- سيتم تشفير جميع قواعد البيانات التي تم إنشاؤها حديثا تلقائيا.
إشعار
كميزة معاينة، تخضع التقنية المقدمة في هذه المقالة إلى شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
تتوفر آخر التحديثات في ملاحظات حول الإصدار.
المتطلبات الأساسية
قبل المتابعة في هذه المقالة، يجب أن يكون لديك مثيل مدار SQL ممكن بواسطة مورد Azure Arc تم إنشاؤه والاتصال به.
- إنشاء مثيل مدار SQL ممكن بواسطة Azure Arc
- الاتصال إلى مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc
القيود
تنطبق القيود التالية عند تمكين TDE التلقائي:
- يتم دعم مستوى الأغراض العامة فقط.
- مجموعات تجاوز الفشل غير مدعومة.
إنشاء مثيل مدار مع تمكين TDE (Azure CLI)
ينشئ المثال التالي مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc مع نسخة متماثلة واحدة، تمكين TDE:
az sql mi-arc create --name sqlmi-tde --k8s-namespace arc --tde-mode ServiceManaged --use-k8s
تشغيل TDE على المثيل المدار
عند تمكين TDE على SQL Managed Instance الذي يدعم Arc، تقوم خدمة البيانات تلقائيا بالمهام التالية:
- إضافة المفتاح الرئيسي لقاعدة البيانات المدارة بواسطة الخدمة في
master
قاعدة البيانات. - إضافة أداة حماية الشهادة المدارة بواسطة الخدمة.
- إضافة مفاتيح تشفير قاعدة البيانات المقترنة (DEK) على جميع قواعد البيانات على المثيل المدار.
- تمكين التشفير على جميع قواعد البيانات على المثيل المدار.
يمكنك تعيين مثيل SQL المدار الذي تم تمكينه بواسطة Azure Arc TDE في أحد الوضعين:
- مدار بواسطة الخدمة
- يديرها العميل
في الوضع المدار بواسطة الخدمة، يتطلب TDE المثيل المدار لاستخدام مفتاح رئيسي لقاعدة بيانات مدارة بواسطة الخدمة بالإضافة إلى شهادة الخادم المدارة بواسطة الخدمة. يتم إنشاء بيانات الاعتماد هذه تلقائيا عند تمكين TDE المدار بواسطة الخدمة.
في الوضع الذي يديره العميل، يستخدم TDE مفتاحا رئيسيا لقاعدة البيانات المدارة بواسطة الخدمة ويستخدم المفاتيح التي توفرها لشهادة الخادم. لتكوين الوضع المدار من قبل العميل:
- إنشاء شهادة.
- تخزين الشهادة كبيانات سرية في نفس مساحة اسم Kubernetes مثل المثيل.
Enable
يشرح القسم التالي كيفية تمكين TDE في الوضع المدار بواسطة الخدمة.
لتمكين TDE في الوضع المدار للخدمة، قم بتشغيل الأمر التالي:
az sql mi-arc update --tde-mode ServiceManaged
إيقاف تشغيل TDE على المثيل المدار
عند تعطيل TDE على SQL Managed Instance الذي يدعم Arc، تقوم خدمة البيانات تلقائيا بالمهام التالية:
- تعطيل التشفير على جميع قواعد البيانات على المثيل المدار.
- إسقاط DEKs المقترنة على جميع قواعد البيانات على المثيل المدار.
- إسقاط أداة حماية الشهادة المدارة بواسطة الخدمة.
- إسقاط المفتاح الرئيسي لقاعدة البيانات المدارة بواسطة الخدمة في
master
قاعدة البيانات.
لتعطيل TDE:
az sql mi-arc update --tde-mode Disabled
النسخ الاحتياطي لبيانات اعتماد TDE
عند نسخ نسخة احتياطية من بيانات الاعتماد من المثيل المدار، يتم تخزين بيانات الاعتماد داخل الحاوية. لتخزين بيانات الاعتماد على وحدة تخزين ثابتة، حدد مسار الإدخال في الحاوية. على سبيل المثال، var/opt/mssql/data
يقوم المثال التالي بنسخ نسخة احتياطية من شهادة من المثيل المدار:
إشعار
إذا تم تشغيل الأمر kubectl cp
من Windows، فقد يفشل الأمر عند استخدام مسارات Windows المطلقة. استخدم المسارات النسبية أو الأوامر المحددة أدناه.
قم بعمل نسخة احتياطية من الشهادة من الحاوية إلى
/var/opt/mssql/data
.USE master; GO BACKUP CERTIFICATE <cert-name> TO FILE = '<cert-path>' WITH PRIVATE KEY ( FILE = '<private-key-path>', ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>');
مثال:
USE master; GO BACKUP CERTIFICATE MyServerCert TO FILE = '/var/opt/mssql/data/servercert.crt' WITH PRIVATE KEY ( FILE = '/var/opt/mssql/data/servercert.key', ENCRYPTION BY PASSWORD = '<UseStrongPasswordHere>');
انسخ الشهادة من الحاوية إلى نظام الملفات الخاص بك.
انسخ المفتاح الخاص من الحاوية إلى نظام الملفات الخاص بك.
احذف الشهادة والمفتاح الخاص من الحاوية.
kubectl exec -it --namespace <namespace> --container arc-sqlmi <pod-name> -- bash -c "rm <certificate-path> <private-key-path>
مثال:
kubectl exec -it --namespace arc-ns --container arc-sqlmi sql-0 -- bash -c "rm /var/opt/mssql/data/servercert.crt /var/opt/mssql/data/servercert.key"
استعادة بيانات اعتماد TDE إلى مثيل مدار
على غرار ما ورد أعلاه، لاستعادة بيانات الاعتماد، قم بنسخها في الحاوية وقم بتشغيل T-SQL المقابل بعد ذلك.
إشعار
إذا تم تشغيل الأمر kubectl cp
من Windows، فقد يفشل الأمر عند استخدام مسارات Windows المطلقة. استخدم المسارات النسبية أو الأوامر المحددة أدناه.
لاستعادة النسخ الاحتياطية لقاعدة البيانات التي تم أخذها قبل تمكين TDE، ستحتاج إلى تعطيل TDE على مثيل SQL المدار واستعادة النسخ الاحتياطي لقاعدة البيانات وتمكين TDE مرة أخرى.
انسخ الشهادة من نظام الملفات الخاص بك إلى الحاوية.
انسخ المفتاح الخاص من نظام الملفات إلى الحاوية.
قم بإنشاء الشهادة باستخدام مسارات الملفات من
/var/opt/mssql/data
.USE master; GO CREATE CERTIFICATE <certicate-name> FROM FILE = '<certificate-path>' WITH PRIVATE KEY ( FILE = '<private-key-path>', DECRYPTION BY PASSWORD = '<UseStrongPasswordHere>' );
مثال:
USE master; GO CREATE CERTIFICATE MyServerCertRestored FROM FILE = '/var/opt/mssql/data/servercert.crt' WITH PRIVATE KEY ( FILE = '/var/opt/mssql/data/servercert.key', DECRYPTION BY PASSWORD = '<UseStrongPasswordHere>' );
احذف الشهادة والمفتاح الخاص من الحاوية.
kubectl exec -it --namespace <namespace> --container arc-sqlmi <pod-name> -- bash -c "rm <certificate-path> <private-key-path>
مثال:
kubectl exec -it --namespace arc-ns --container arc-sqlmi sql-0 -- bash -c "rm /var/opt/mssql/data/servercert.crt /var/opt/mssql/data/servercert.key"