يشرح هذا المستند كيفية تمكين تشفير أسرار المستهلك لتطبيق مطوّر البرامج (بيانات اعتماد العميل) في قاعدة بيانات كاساندرا.
نظرة عامة
يقدّم Apigee Edge for Private Cloud عادةً تشفيرًا اختياريًا لخريطة القيم الرئيسية. بيانات (KVM) ورموز الدخول عبر OAuth.
يوضِّح الجدول التالي خيارات تشفير البيانات غير النشِطة في Apigee for Private Cloud:
الكيان | ميزة التشفير مفعَّلة تلقائيًا | يتوفّر التشفير اختياريًا | مستندات ذات صلة |
آلات متجه الدعم | لا | نعم | يُرجى الاطّلاع على لمحة عن أجهزة KVM المشفّرة. |
رموز الدخول عبر OAuth | لا | نعم | راجِع الرموز المميّزة للتجزئة لمزيد من الأمان. |
أسرار المستهلك لتطبيقات المطوّرين | لا | نعم | للتفعيل، عليك تنفيذ خطوات الضبط في هذا المستند. |
لتفعيل تشفير بيانات اعتماد العميل، عليك إجراء المهام التالية في جميع عُقد معالج الرسائل وخادم الإدارة:
- إنشاء ملف تخزين مفاتيح لتخزين مفتاح تشفير المفتاح (KEK). يستخدم Apigee هذا المفتاح المشفر لتشفير المفاتيح السرية اللازمة لتشفير بياناتك.
- تعديل خصائص الإعداد على جميع عُقد خادم الإدارة ومعالج الرسائل
- أنشِئ تطبيقًا للمطوِّر لبدء إنشاء المفتاح.
- أعِد تشغيل العُقد.
يتم شرح هذه المهام في هذا المستند.
ما تحتاج إلى معرفته عن المفتاح ميزة التشفير
توضّح الخطوات الواردة في هذا المستند كيفية تفعيل ميزة KEK، التي تسمح لـ Apigee بتشفير مفاتيح سرية تُستخدَم لتشفير تطبيق المطوِّر بأسرار المستهلك عندما يتم تخزينها في حالة عدم النشاط في قاعدة بيانات كاساندرا.
وبشكل افتراضي، ستظل أي قيم موجودة في قاعدة البيانات دون تغيير (بنص عادي) مواصلة العمل كما كان من قبل.
إذا نفذت أي عملية كتابة على كيان غير مشفّر، فسيتم تشفيره عند إجراء العملية. على سبيل المثال، إذا أبطلت رمزًا مميزًا غير مشفّر ثم وافقت على فسيتم تشفير الرمز المميز الذي تمت الموافقة عليه حديثًا.
الحفاظ على أمان المفاتيح
احرص على تخزين نسخة من ملف تخزين المفاتيح الذي يتم فيه تخزين مفتاح KEK في مكان آمن. ننصحك باستخدام نموذجك الخاص آلية آمنة لحفظ نسخة من ملف تخزين المفاتيح. كما توضح التعليمات الواردة في هذه الوثيقة، يجب وضع ملف تخزين مفاتيح على كل عقدة خادم معالجة الرسائل وخادم الإدارة حيث يمكن أن يشير إليه ملف التهيئة. ولكن من المهم أيضًا تخزين من ملف تخزين المفاتيح في مكان آخر للاحتفاظ بها وكنسخة احتياطية.
جارٍ تفعيل تشفير المفتاح
اتبع هذه الخطوات لتشفير مفتاح سر العميل:
المتطلبات الأساسية
يجب أن تستوفي هذه المتطلبات قبل تنفيذ الخطوات الواردة في هذا المستند:
- يجب تثبيت الإصدار 4.50.00.10 أو إصدار أحدث من Apigee Edge for Private Cloud أو الترقية إلى الإصدار الأحدث.
- يجب أن تكون مشرفًا في Apigee Edge for Private Cloud.
الخطوة 1: إنشاء ملف تخزين مفاتيح
اتّبِع الخطوات التالية لإنشاء ملف تخزين مفاتيح يتضمن مفتاح تشفير المفاتيح (KEK):
- نفِّذ الأمر التالي لإنشاء ملف تخزين مفاتيح لتخزين مفتاح سيتم استخدامه
بتشفير KEK. أدخِل الأمر كما هو موضَّح تمامًا. (يمكنك تقديم أي اسم ملف تخزين مفاتيح تريده):
keytool -genseckey -alias KEYSTORE_NAME -keyalg AES -keysize 256 \ -keystore kekstore.p12 -storetype PKCS12
أدخِل كلمة مرور عندما يُطلب منك ذلك. ستستخدم كلمة المرور هذه في أقسام لاحقة عند تهيئة خادم الإدارة ومعالج الرسائل.
ينشئ هذا الأمر ملف تخزين مفاتيح kekstore.p12 يحتوي على مفتاح مع الاسم المستعار KEYSTORE_NAME.
- (اختياري) تأكَّد من إنشاء الملف بشكلٍ صحيح باستخدام الأمر التالي. إذا كان الملف
صحيح، الأمر يعرض مفتاحًا بالاسم المستعار KEYSTORE_NAME:
keytool -list -keystore kekstore.p12
الخطوة 2: ضبط خادم الإدارة
بعد ذلك، يمكنك إعداد خادم الإدارة. فإذا كانت لديك خوادم إدارة مثبتة على عُقد متعددة، فيجب تكرار هذه الخطوات على كل عقدة.
- انسخ ملف تخزين المفاتيح الذي أنشأته في الخطوة 1 إلى دليل في عقدة خادم الإدارة، مثل
/opt/apigee/customer/application
. على سبيل المثال:cp certs/kekstore.p12 /opt/apigee/customer/application
- تأكَّد من أنّه بإمكان مستخدم
apigee
قراءة الملف:chown apigee:apigee /opt/apigee/customer/application/kekstore.p12
chmod 400 /opt/apigee/customer/application/kekstore.p12
- أضِف السمات التالية إلى
/opt/apigee/customer/application/management-server.properties
. إذا لم يكن الملف متوفّرًا، أنشئه. راجِع أيضًا مرجع ملف الموقع.
conf_keymanagement_kmscred.encryption.enabled=true # Fallback is true to ensure your existing plaintext credentials continue to work conf_keymanagement_kmscred.encryption.allowFallback=true conf_keymanagement_kmscred.encryption.keystore.path=PATH_TO_KEYSTORE_FILE conf_keymanagement_kmscred.encryption.kek.alias=KEYSTORE_NAME # These could alternately be set as environment variables. These variables should be # accessible to Apigee user during bootup of the Java process. If environment # variables are specified, you can skip the password configs below. # KMSCRED_ENCRYPTION_KEYSTORE_PASS= # KMSCRED_ENCRYPTION_KEK_PASS= See also Using environment variables for configuration properties. conf_keymanagement_kmscred.encryption.keystore.pass=KEYSTORE_PASSWORD conf_keymanagement_kmscred.encryption.kek.pass=KEK_PASSWORD
يُرجى العِلم أنّ
KEK_PASSWORD
قد يكون مثلKEYSTORE_PASSWORD
، وذلك بناءً على الأداة المستخدَمة لإنشاء ملف تخزين المفاتيح. - أعِد تشغيل خادم الإدارة باستخدام الأوامر التالية:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
/opt/apigee/apigee-service/bin/apigee-service edge-management-server wait_for_ready
يعرض الأمر
wait_for_ready
الرسالة التالية عندما يكون خادم الإدارة جاهزًا.Checking if management-server is up: management-server is up.
- في حال كان لديك خوادم إدارة مثبَّتة على عُقد متعددة، كرِّر الخطوات من 1 إلى 4 أعلاه في كل إدارة. عقدة الخادم.
الخطوة 3: إنشاء تطبيق مطوِّر
والآن بعد أن تم تحديث خوادم الإدارة، يجب إنشاء تطبيق مطوِّر لبدء عملية الإنشاء المفتاح المستخدَم لتشفير بيانات اعتماد العميل:
- أنشِئ تطبيق مطوِّر لبدء إنشاء مفتاح تشفير البيانات (KEK). بالنسبة إلى الخطوات، راجِع تسجيل تطبيق.
- احذف تطبيق المطوِّر إذا أردت. ولا تحتاج إلى الاحتفاظ بها بعد التشفير يتم إنشاء مفتاح.
الخطوة 4: ضبط معالِجات الرسائل
لن تتمكّن طلبات وقت التشغيل من معالجة أي بيانات اعتماد مشفّرة إلى أن يتم تفعيل التشفير في معالِجات الرسائل.
- انسخ ملف تخزين المفاتيح الذي أنشأته في الخطوة 1 إلى دليل في عقدة معالج الرسائل،
مثل
/opt/apigee/customer/application
. على سبيل المثال:cp certs/kekstore.p12 /opt/apigee/customer/application
- تأكَّد من أنّه بإمكان مستخدم
apigee
قراءة الملف:chown apigee:apigee /opt/apigee/customer/application/kekstore.p12
- أضِف السمات التالية إلى
/opt/apigee/customer/application/message-processor.properties
. إذا لم يكن الملف متوفّرًا، أنشئه. راجِع أيضًا مرجع ملف الموقع.conf_keymanagement_kmscred.encryption.enabled=true # Fallback is true to ensure your existing plaintext credentials continue to work conf_keymanagement_kmscred.encryption.allowFallback=true conf_keymanagement_kmscred.encryption.keystore.path=PATH_TO_KEYSTORE_FILE conf_keymanagement_kmscred.encryption.kek.alias=KEYSTORE_NAME # These could alternately be set as environment variables. These variables should be # accessible to Apigee user during bootup of the Java process. If environment # variables are specified, you can skip the password configs below. # KMSCRED_ENCRYPTION_KEYSTORE_PASS= # KMSCRED_ENCRYPTION_KEK_PASS= See also Using environment variables for configuration properties. conf_keymanagement_kmscred.encryption.keystore.pass=KEYSTORE_PASSWORD conf_keymanagement_kmscred.encryption.kek.pass=KEK_PASSWORD
يُرجى العِلم أنّ قيمة
KEK_PASSWORD
قد تكون متطابقة معKEYSTORE_PASSWORD
. اعتمادًا على الأداة المستخدمة لإنشاء ملف تخزين المفاتيح. - أعِد تشغيل معالج الرسائل باستخدام الأوامر التالية:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor wait_for_ready
يعرض الأمر
wait_for_ready
الرسالة التالية عندما يعمل معالج الرسائل. جاهز لمعالجة الرسائل:Checking if message-processor is up: message-processor is up.
- إذا كان لديك معالجات رسائل مثبتة على عُقد متعددة، كرِّر الخطوات من 1 إلى 4 في كل عُقد. عقدة معالج الرسائل.
ملخّص
سيتم تشفير بيانات الاعتماد السري لأي تطبيقات مطوّر برامج تنشئها من الآن فصاعدًا على والباقي في قاعدة بيانات كاساندرا.
استخدام متغيرات البيئة من أجل خصائص الضبط
يمكنك بدلاً من ذلك ضبط الإعداد التالي لمعالج الرسائل وخادم الإدارة الخصائص باستخدام متغيرات البيئة. وفي حال ضبطها، تلغي متغيرات البيئة الخصائص. الذي تم تعيينه في ملف إعداد خادم إدارة الرسائل أو معالج الرسائل.
conf_keymanagement_kmscred.encryption.keystore.pass= conf_keymanagement_kmscred.encryption.kek.pass=
متغيرات البيئة المقابلة هي:
export KMSCRED_ENCRYPTION_KEYSTORE_PASS=KEYSTORE_PASSWORD
export KMSCRED_ENCRYPTION_KEK_PASS=KEK_PASSWORD
في حالة تعيين متغيرات البيئة هذه، يمكنك حذف خصائص التهيئة هذه من على عُقد معالج الرسائل وخادم الإدارة، حيث سيتم تجاهلها:
conf_keymanagement_kmscred.encryption.keystore.pass conf_keymanagement_kmscred.encryption.kek.pass
مرجع ملف الملكية
يصف هذا القسم خصائص الإعداد التي يجب ضبطها على جميع برامج معالجة الرسائل. وعقد خادم الإدارة، كما هو موضح سابقًا في هذا المستند.
الموقع | تلقائي | الوصف |
conf_keymanagement_kmscred.encryption.enabled
|
false
|
يجب أن يكون true لتفعيل تشفير المفتاح.
|
conf_keymanagement_kmscred.encryption.allowFallback
|
false
|
يُرجى ضبطallowFallback على true لضمان استمرار عمل بيانات اعتماد النص العادي الحالية.
|
conf_keymanagement_kmscred.encryption.keystore.path
|
لا ينطبق | توفير المسار إلى ملف تخزين مفاتيح KEK في معالج الرسائل أو عقدة خادم الإدارة يُرجى الاطِّلاع على الخطوة 2: ضبط الإدارة الخادم والخطوة 3: ضبط معالِجات الرسائل. |
conf_keymanagement_kmscred.encryption.kek.alias
|
لا ينطبق | الاسم المستعار الذي يتم تخزين مفتاح KEK بناءً عليه في ملف تخزين المفاتيح. |
conf_keymanagement_kmscred.encryption.keystore.pass
|
لا ينطبق | هذه السمة اختيارية في حال استخدام متغيّرات البيئة لضبط هذه السمات. يمكن أيضًا مراجعة استخدام البيئة المتغيّرات لخصائص الضبط. |
conf_keymanagement_kmscred.encryption.kek.pass
|
لا ينطبق | هذه السمة اختيارية في حال استخدام متغيّرات البيئة لضبط هذه السمات. يمكن أيضًا مراجعة استخدام البيئة المتغيّرات لخصائص الضبط. |