تفعيل تشفير المفتاح السري

يشرح هذا المستند كيفية تمكين تشفير أسرار المستهلك لتطبيق مطوّر البرامج (بيانات اعتماد العميل) في قاعدة بيانات كاساندرا.

نظرة عامة

يقدّم 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):

  1. نفِّذ الأمر التالي لإنشاء ملف تخزين مفاتيح لتخزين مفتاح سيتم استخدامه بتشفير KEK. أدخِل الأمر كما هو موضَّح تمامًا. (يمكنك تقديم أي اسم ملف تخزين مفاتيح تريده):
    keytool -genseckey -alias KEYSTORE_NAME -keyalg AES -keysize 256 \
    -keystore kekstore.p12 -storetype PKCS12

    أدخِل كلمة مرور عندما يُطلب منك ذلك. ستستخدم كلمة المرور هذه في أقسام لاحقة عند تهيئة خادم الإدارة ومعالج الرسائل.

    ينشئ هذا الأمر ملف تخزين مفاتيح kekstore.p12 يحتوي على مفتاح مع الاسم المستعار KEYSTORE_NAME.

  2. (اختياري) تأكَّد من إنشاء الملف بشكلٍ صحيح باستخدام الأمر التالي. إذا كان الملف صحيح، الأمر يعرض مفتاحًا بالاسم المستعار KEYSTORE_NAME:
    keytool -list -keystore kekstore.p12

الخطوة 2: ضبط خادم الإدارة

بعد ذلك، يمكنك إعداد خادم الإدارة. فإذا كانت لديك خوادم إدارة مثبتة على عُقد متعددة، فيجب تكرار هذه الخطوات على كل عقدة.

  1. انسخ ملف تخزين المفاتيح الذي أنشأته في الخطوة 1 إلى دليل في عقدة خادم الإدارة، مثل /opt/apigee/customer/application. على سبيل المثال:
    cp certs/kekstore.p12 /opt/apigee/customer/application
  2. تأكَّد من أنّه بإمكان مستخدم apigee قراءة الملف:
    chown apigee:apigee /opt/apigee/customer/application/kekstore.p12
    chmod 400 /opt/apigee/customer/application/kekstore.p12
  3. أضِف السمات التالية إلى /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، وذلك بناءً على الأداة المستخدَمة لإنشاء ملف تخزين المفاتيح.

  4. أعِد تشغيل خادم الإدارة باستخدام الأوامر التالية:
    /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.
    
  5. في حال كان لديك خوادم إدارة مثبَّتة على عُقد متعددة، كرِّر الخطوات من 1 إلى 4 أعلاه في كل إدارة. عقدة الخادم.

الخطوة 3: إنشاء تطبيق مطوِّر

والآن بعد أن تم تحديث خوادم الإدارة، يجب إنشاء تطبيق مطوِّر لبدء عملية الإنشاء المفتاح المستخدَم لتشفير بيانات اعتماد العميل:

  1. أنشِئ تطبيق مطوِّر لبدء إنشاء مفتاح تشفير البيانات (KEK). بالنسبة إلى الخطوات، راجِع تسجيل تطبيق.
  2. احذف تطبيق المطوِّر إذا أردت. ولا تحتاج إلى الاحتفاظ بها بعد التشفير يتم إنشاء مفتاح.

الخطوة 4: ضبط معالِجات الرسائل

لن تتمكّن طلبات وقت التشغيل من معالجة أي بيانات اعتماد مشفّرة إلى أن يتم تفعيل التشفير في معالِجات الرسائل.

  1. انسخ ملف تخزين المفاتيح الذي أنشأته في الخطوة 1 إلى دليل في عقدة معالج الرسائل، مثل /opt/apigee/customer/application. على سبيل المثال:
    cp certs/kekstore.p12 /opt/apigee/customer/application
  2. تأكَّد من أنّه بإمكان مستخدم apigee قراءة الملف:
    chown apigee:apigee /opt/apigee/customer/application/kekstore.p12
  3. أضِف السمات التالية إلى /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. اعتمادًا على الأداة المستخدمة لإنشاء ملف تخزين المفاتيح.

  4. أعِد تشغيل معالج الرسائل باستخدام الأوامر التالية:
    /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.
  5. إذا كان لديك معالجات رسائل مثبتة على عُقد متعددة، كرِّر الخطوات من 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 لا ينطبق هذه السمة اختيارية في حال استخدام متغيّرات البيئة لضبط هذه السمات. يمكن أيضًا مراجعة استخدام البيئة المتغيّرات لخصائص الضبط.