التشفير على مستوى التخزين
يتم تكوين ClickHouse Cloud افتراضيًا مع تشفير البيانات المخزنة باستخدام مفاتيح AES 256 التي يديرها موفر السحابة. لمزيد من المعلومات، راجع:
- تشفير AWS من جانب الخادم لـ S3
- التشفير الافتراضي للبيانات المخزنة في GCP
- تشفير Azure Storage للبيانات المخزنة
التشفير على مستوى قاعدة البيانات
Enhanced Encryption متوفرة في خطة Enterprise. للترقية، انتقل إلى صفحة الخطط في Cloud Console.
تُشفَّر البيانات المخزَّنة افتراضيًا باستخدام مفاتيح AES 256 التي يديرها مزود الخدمة السحابية. يمكن للعملاء تفعيل التشفير الشفاف للبيانات (TDE) لإضافة طبقة حماية إضافية لبيانات الخدمة، أو استخدام مفتاحهم الخاص لتطبيق مفاتيح التشفير المُدارة من العميل (CMEK) على خدمتهم.
يتوفر التشفير المحسّن حاليًا في خدمات AWS وGCP. وسيتوفر Azure قريبًا.
التشفير الشفاف للبيانات (TDE)
يجب تمكين TDE عند إنشاء الخدمة. ولا يمكن تشفير الخدمات الحالية بعد إنشائها. وبمجرد تمكين TDE، لا يمكن تعطيله. ستظل جميع البيانات في الخدمة مشفّرة. وإذا أردت تعطيل TDE بعد تمكينه، فيجب عليك إنشاء خدمة جديدة وترحيل بياناتك إليها.
- حدِّد
Create new service - سمِّ الخدمة
- حدِّد AWS أو GCP باعتباره موفّر السحابة، ثم اختر المنطقة المطلوبة من القائمة المنسدلة
- انقر على القائمة المنسدلة الخاصة بميزات Enterprise، ثم فعِّل خيار Enable Transparent Data Encryption (TDE)
- انقر على Create service
مفتاح التشفير المُدار من العميل (CMEK)
بمجرد تشفير الخدمة باستخدام TDE، يمكن للعملاء تحديث المفتاح لتمكين CMEK. ستُعاد تشغيل الخدمة تلقائيًا بعد تحديث إعداد TDE. أثناء هذه العملية، يفك مفتاح KMS القديم تشفير مفتاح تشفير البيانات (DEK)، ثم يعيد مفتاح KMS الجديد تشفير DEK. ويضمن ذلك أن تستخدم الخدمة، بعد إعادة التشغيل، مفتاح KMS الجديد في عمليات التشفير مستقبلًا. وقد تستغرق هذه العملية عدة دقائق.
تمكين CMEK باستخدام AWS KMS
-
في ClickHouse Cloud، حدِّد الخدمة المشفّرة
-
انقر على Settings في الجهة اليسرى
-
في أسفل الشاشة، وسِّع قسم Network security information
-
انسخ Encryption role ID (AWS) أو Encryption Service Account (GCP) — ستحتاج إليه في خطوة لاحقة
-
انقر على المفتاح
-
حدِّث Key Policy في AWS كما يلي:
{ "Sid": "Allow ClickHouse Access", "Effect": "Allow", "Principal": { "AWS": [ "Encryption role ID " ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey" ], "Resource": "*" } -
احفظ Key Policy
-
انسخ Key ARN
-
ارجع إلى ClickHouse Cloud والصق Key ARN في قسم التشفير الشفاف للبيانات ضمن Service Settings
-
احفظ التغيير
تمكين CMEK باستخدام GCP KMS
- في ClickHouse Cloud، حدِّد الخدمة المشفّرة
- انقر على Settings في الجهة اليسرى
- في أسفل الشاشة، وسِّع قسم Network security information
- انسخ Encryption Service Account (GCP) — ستحتاج إليه في خطوة لاحقة
- أنشئ مفتاح KMS لـ GCP
- انقر على المفتاح
- امنح الأذونات التالية إلى GCP Encryption Service Account الذي نسخته في الخطوة 4 أعلاه.
- Cloud KMS CryptoKey Encrypter/Decrypter
- Cloud KMS Viewer
- احفظ إذن المفتاح
- انسخ Key Resource Path
- ارجع إلى ClickHouse Cloud والصق Key Resource Path في قسم التشفير الشفاف للبيانات ضمن Service Settings
- احفظ التغيير
تمكين CMEK باستخدام Azure KMS
- في ClickHouse Cloud، حدِّد الخدمة المشفّرة
- انقر على
Settingsفي الجانب الأيسر - في أسفل الشاشة، وسِّع
Network security information - انسخ
Cross Tenant App Client ID— ستحتاج إليه في الخطوة التالية - سجّل الدخول إلى اشتراك Azure الخاص بك، واستخدم الأمر التالي عبر Azure CLI لإنشاء service principal جديد؛ واستبدل
{azure_cross_tenant_app_client_id}بالقيمة التي نسختها في الخطوة السابقةaz ad sp create --id {azure_cross_tenant_app_client_id} - انسخ قيمة
Nameالخاصة بـ service principal الجديد الذي تم إنشاؤه — ستحتاج إليها في خطوة لاحقة - أنشئ Azure Key Vault
- أنشئ مفتاحًا في Key Vault على Azure
- من مفتاح Key Vault، حدِّد
Access control (IAM)من الجانب الأيسر - حدِّد
Role assignmentsمن القائمة العلوية - انقر على
AddثمAdd role assignmentمن القائمة العلوية - حدِّد الدور
Key Vault Crypto User، ثم انقر علىNext - اترك الخيارات الافتراضية في شاشة
Add role assignmentكما هي، ثم انقر على+Select members - الصق اسم service principal الذي نسخته في الخطوة 6 (يبدأ بـ CH-TDE)، ثم حدِّد service principal وانقر على
Select - انقر على
NextثمReview + assign - ارجع إلى Azure Key Vault وانسخ القيم التالية:
- من صفحة
Overview، انسخ Vault URI - من صفحة
Overview، انسخ Directory ID - من صفحة
Keys، انسخNameالخاص بمفتاحك
- من صفحة
- ارجع إلى إعدادات خدمتك في ClickHouse Cloud والصق القيم من الخطوة 16 في الحقول التالية:
- Key ID > الصق
Nameالخاص بمفتاحك - Key Vault URI > الصق Vault URI
- Key Tenant ID > الصق Directory ID
- Key ID > الصق
- انقر على Rotate KMS، وانتظر بضع دقائق لأن هذا سيؤدي إلى إعادة تشغيل متدرجة، ثم تحقّق من أن خدمتك تعمل
تدوير المفتاح
بمجرد إعداد CMEK، قم بتدوير المفتاح باتباع الإجراءات الواردة أعلاه لإنشاء مفتاح KMS جديد ومنح الأذونات. ارجع إلى إعدادات الخدمة للصق ARN الجديد (AWS) أو Key Resource Path (GCP) أو Key Name (Azure)، ثم احفظ الإعدادات. ستُعاد تشغيل الخدمة لتطبيق المفتاح الجديد.
أداة التحقق الدوري من مفتاح KMS
عند استخدام CMEK، يتم التحقق من صلاحية مفتاح KMS المحدد كل 10 دقائق. وإذا لم يعد الوصول إلى مفتاح KMS صالحًا، فستتوقف خدمة ClickHouse. ولاستئناف الخدمة، أعِد الوصول إلى مفتاح KMS باتباع الخطوات الواردة في هذا الدليل، ثم أعد تشغيل الخدمة.
النسخ الاحتياطي والاستعادة
تُشفَّر النسخ الاحتياطية باستخدام المفتاح نفسه المرتبط بالخدمة المعنية. وعند استعادة نسخة احتياطية مشفّرة، تُنشئ عملية الاستعادة مثيلاً مشفّرًا يستخدم مفتاح KMS نفسه المستخدم في المثيل الأصلي. وإذا لزم الأمر، يمكنك تدوير مفتاح KMS بعد الاستعادة؛ راجع تدوير المفتاح لمزيد من التفاصيل.
الأداء
يعتمد التشفير على مستوى قاعدة البيانات على ميزة نظام الملفات الافتراضي لتشفير البيانات المدمجة في ClickHouse لتشفير بياناتك وحمايتها. والخوارزمية المستخدمة في هذه الميزة هي AES_256_CTR، ومن المتوقع أن تؤدي إلى انخفاض في الأداء بنسبة تتراوح بين 5% و15% بحسب عبء العمل:
