التعامل مع خرائط القيمة الرئيسية

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

هناك أوقات تريد فيها تخزين البيانات لاستردادها في وقت التشغيل، وهي بيانات غير منتهية الصلاحية يجب ألّا يتم ترميزها بشكل ثابت في منطق الخادم الوكيل لواجهة برمجة التطبيقات. وتُعد خرائط القيم الرئيسية (KVMs) مثالية لهذا الغرض. وأداة KVM هي مجموعة مخصّصة من أزواج سلسلة المفتاح/القيمة، سواء كانت مشفّرة أو غير مشفرة. وإليك مثالان:

للتعرّف على الأنواع الأخرى من الإصرار، يمكنك الاطّلاع على إضافة التخزين المؤقت والاستمرار.

سيناريوهات KVM

فيما يلي بعض المواقف التي تكون فيها آلات KVM مفيدة:

  • لديك خادم وكيل لواجهة برمجة التطبيقات يحتاج إلى طلب عنوان URL مستهدف واحد (أو وسيلة شرح خدمة) في بيئة اختبار وعنوان URL آخر مستهدف في بيئة إنتاج. بدلاً من استخدام عناوين URL ذات ترميز ثابت في الخادم الوكيل، يمكنك أن تطلب من الخادم الوكيل اكتشاف البيئة الموجودة فيه وتنفيذ سياسة عمليات ربط قيمة المفاتيح ذات الصلة واسترداد عنوان URL المستهدَف الصحيح من إحدى ماكينات KVM التي أنشأتها. وبعد ذلك، إذا تغيّر أحد الهدفَين أو كليهما، ما عليك سوى تعديل طُرق KVM باستخدام عناوين URL الجديدة. ويختار الخادم الوكيل القيم الجديدة، ولا حاجة إلى إعادة النشر عبر الخادم الوكيل.
  • لنفترض أنّك تريد تخزين بيانات الاعتماد أو المفاتيح الخاصة أو الرموز المميّزة، مثل الرموز المميّزة للخدمات الخارجية أو بيانات الاعتماد المطلوبة لإنشاء رموز OAuth المميزة أو المفاتيح الخاصة المستخدَمة في وسائل شرح Java أو JavaScript للتشفير أو لتوقيع رمز JSON المميّز للويب (JWT). وبدلاً من تمرير بيانات الاعتماد أو المفاتيح أو الرموز المميزة في الطلب أو ترميزها بشكل ثابت في منطق الخادم الوكيل، يمكنك تخزينها في KVM (مشفّر دائمًا) واستردادها بشكل ديناميكي في الاستدعاءات إلى الأهداف التي تتطلّبها.

ستكتشف حالات أخرى يكون فيها تخزين أزواج سلسلة المفتاح/القيمة مفيدة. وبشكل عام، ننصحك باستخدام آلة متجه الدعم في الحالات التالية:

  • تتطلب الأماكن المحددة في الرمز قيمًا مختلفة في وقت التشغيل.
  • يجب تمرير البيانات الحساسة بدون ترميزها بشكل ثابت.
  • تريد تخزين القيم التي لا تنتهي صلاحيتها كما هو الحال في ذاكرة التخزين المؤقت.

لدى KVM نطاق

النطاق يعني "الأماكن التي يتوفر فيها KVM". يمكن إنشاء KVM على النطاقات التالية: organization وenvironment وapiproxy.

على سبيل المثال، إذا كان خادم وكيل واحد فقط لواجهة برمجة التطبيقات يتطلب بيانات في KVM، يمكنك إنشاء KVM على نطاق apiproxy، حيث يمكن فقط للخادم الوكيل الخاص بواجهة برمجة التطبيقات الوصول إلى البيانات.

وقد تحتاج أيضًا إلى منح جميع الخوادم الوكيلة لواجهة برمجة التطبيقات في بيئة الاختبار إمكانية الوصول إلى خريطة القيم الرئيسية، وفي هذه الحالة، عليك إنشاء خريطة قيم رئيسية على نطاق البيئة. لا يمكن للخوادم الوكيلة المنشورة في بيئة "الإنتاج" الوصول إلى أجهزة KVM في نطاق بيئة "الاختبار". إذا أردت إتاحة مفاتيح KVM نفسها في الإنتاج، أنشِئ آلة KVM موازية لها بيئة إنتاج.

إذا كنت تريد أن تصل جميع الخوادم الوكيلة في جميع البيئات إلى KVM نفسه، أنشِئ KVM على نطاق organization.

لمحة عن آلة متجه الدعم المشفّرة

يتم تشفير مركبات KVM المشفّرة باستخدام مفتاح تشفير AES-128 من Apigee. ويتم تخزين المفتاح المستخدم لتشفير آلة متجه الدعم في نطاق آلة متجه الدعم. على سبيل المثال، داخل المؤسسة، يتم إنشاء جميع آلة متجه الدعم المشفّرة التي تنشئها في نطاق البيئة باستخدام المفتاح نفسه على مستوى البيئة.

يتعامل Edge مع عرض القيم المشفرة بالطرق التالية. (راجع إدارة واستخدام KVMs للحصول على معلومات حول إنشاء KVM مشفَّر).

واجهة مستخدم Edge

تعرض خرائط قيم المفاتيح المشفَّرة القيم المغطاة بعلامات نجمية في واجهة المستخدم (*****). على سبيل المثال:

واجهة برمجة التطبيقات لإدارة Google Analytics

في واجهة برمجة التطبيقات للإدارة، يتم عرض القيم المشفَّرة مخفية. في ما يلي نموذج للرد من واجهة برمجة التطبيقات للإدارة على طلب الحصول على تشفير KVM:

{
  "encrypted": true,
  "entry": [
    {
      "name": "Key1",
      "value": "*****"
    },
    {
      "name": "Key2",
      "value": "*****"
    }
  ],
  "name": "secretMap"
}

التتبُّع وتصحيح الأخطاء

عند استخدام سياسة عمليات ربط القيم الرئيسية لاسترداد قيم KVM المشفّرة، يجب إدخال اسم المتغيّر لتخزين القيمة. للحصول على قيمة مشفّرة، يجب إضافة البادئة "private." إلى اسم المتغيّر، ما يمنع ظهور مفاتيح/قيم KVM في جلسات التتبُّع وتصحيح الأخطاء.

الحدود المسموح بها

في المؤسسات التي تم فيها تفعيل خدمات المستمرة الأساسية (CPS):

  • تجدر الإشارة إلى أنّ اسم/معرّف KVM حسّاس لحالة الأحرف.
  • الحدّ الأقصى لحجم المفتاح هو 2 كيلوبايت.
  • يقتصر حجم القيمة على 10 كيلوبايت.

بالنسبة إلى Apigee Edge لـ Private Cloud، يجب ألا يتجاوز كل آلة KVM 15 ميغابايت (هذا هو الحجم المجمّع للمفاتيح والقيم). إذا تجاوزت هذا الحدّ، ستعرض Apigee Edge for Private Cloud رسالة خطأ. لتحديد حجم KVMs، يمكنك استخدام الأمر nodetool cfstats.

ويمكن أن تؤدي آلات KVM الأكبر حجمًا إلى تدهور الأداء. ونتيجةً لذلك، يجب عليك تقسيم آلات KVM الكبيرة المتجانسة إلى أجهزة أصغر لتحسين الأداء.

إدارة واستخدام KVMs

يمكنك إنشاء آلة متجه الدعم وإدارتها واستخدامها بعدة طرق. يوضّح هذا القسم الخيارات المختلفة لإنشاء آلات KVM المشفّرة وغير المشفّرة، ثم استردادها.

إنشاء وتحديث آلة متجه الدعم

ويمكنك إنشاء وتحديث آلة متجه الدعم بالطرق التالية:

  • سياسة عمليات ربط القيم الرئيسية (بدون تشفير)

    لإنشاء KVM وتعديل KVM لوقت التشغيل بواسطة الخوادم الوكيلة لواجهة برمجة التطبيقات، استخدِم سياسة العمليات الرئيسية لخريطة القيم. (في السياسة، يجب تحديد اسم KVM في السمة mapIdentifier على العنصر الرئيسي).

    يتيح لك العنصر <InitialEntries> إنشاء مجموعة أساسية من الإدخالات وملئها في KVM جديد فور حفظ السياسة في واجهة المستخدم أو نشر الخادم الوكيل لواجهة برمجة التطبيقات (في حال تطويره بلا اتصال بالإنترنت). إذا تغيّرت القيم في السياسة، يتم استبدال القيم الحالية. تتم إضافة أي مفاتيح/قيم جديدة إلى آلة متجه الدعم الحالية إلى جانب المفاتيح/القيم الحالية.

    ينشئ العنصر <Put> آلة متجه الدعم جديدة في حال عدم توفّرها، وينشئ مفتاحًا يحتوي على قيمة واحدة أو أكثر. وإذا كان آلة متجه الدعم متوفرة، تتم إضافة المفتاح/القيم (أو تعديلها إذا كان المفتاح متوفرًا). ويمكنك استخدام عناصر <Put> متعدّدة في سياسة KVM.

  • Management API

    تم تصميم واجهة برمجة التطبيقات الإدارية للعمل مع KVMs كمشرف وليس أثناء وقت التشغيل في الخوادم الوكيلة لواجهة برمجة التطبيقات. على سبيل المثال، قد يكون لديك نص برمجي داخلي يستخدم واجهة برمجة تطبيقات الإدارة لحذف أجهزة KVM وإعادة إنشائها في بيئة اختبار، أو قد تحتاج إلى إعادة ضبط قيمة مفتاح في KVM بحيث يتلقى جميع الخوادم الوكيلة. (للتلاعب في KVMs أثناء التشغيل، استخدِم سياسة العمليات المرتبطة بخريطة القيم الرئيسية في الخوادم الوكيلة).

    تتيح لك واجهة برمجة التطبيقات لإدارة خرائط القيمة/المفتاح إنشاء وتعديل وحذف آلات KVM المشفّرة والمفاتيح/القيم على جميع النطاقات (المؤسسة والبيئة وواجهة برمجة التطبيقات (apiproxy)).

    لإنشاء آلة KVM مشفّرة باستخدام واجهة برمجة التطبيقات للإدارة، أضِف "encrypted" : "true" إلى حمولة بيانات JSON. لا يمكنك تشفير KVM إلا عند إنشائها. لا يمكنك تشفير آلة متجه الدعم الحالية.

  • واجهة مستخدم الإدارة

    في واجهة مستخدم إدارة Edge، يمكنك إنشاء وتحديث أجهزة KVM على مستوى البيئة، وهي نطاق KVM الوحيد الذي يظهر في واجهة المستخدم. تشكّل واجهة المستخدم الإدارية طريقة جيدة لإدارة بيانات KVM يدويًا للخوادم الوكيلة لواجهة برمجة التطبيقات في وقت التشغيل. راجِع إنشاء خرائط القيم الأساسية للبيئة وتعديلها للحصول على مزيد من المعلومات.

استرداد KVMs

ويمكنك استرداد عمليات ربط قيم المفتاح المشفرة وغير المشفرة بالطريقة نفسها، مع اختلاف بسيط واحد عند استرداد البيانات باستخدام سياسة عمليات خرائط القيم الرئيسية.

  • السياسة: يمكنك استخدام العنصر <Get> في سياسة عمليات ربط القيم الرئيسية لاسترداد أجهزة KVM المشفّرة وغير المشفّرة. يتمثل الاختلاف الوحيد البسيط في استرداد القيم المشفّرة باستخدام السياسة، حيث يجب إضافة بادئة "private." إلى اسم المتغيّر الذي سيحتوي على القيمة التي تم استردادها، كما هو موضّح في قسم الحصول على العمليات الخاص بالموضوع المرجعي. وتخفي هذه البادئة القيمة من جلسات التتبُّع وتصحيح الأخطاء أثناء تصحيح أخطاء الخوادم الوكيلة لواجهة برمجة التطبيقات.
  • Management API: لأغراض متعلقة بالإدارة الإدارية، يمكنك استخدام ربط قيم مفاتيح إنشاء البيئة وتعديلها للحصول على KVMs والمفاتيح/القيم. على سبيل المثال، إذا كنت تريد الاحتفاظ بنسخة احتياطية من KVMs من خلال الحصول على تعريفات JSON وتخزينها، يمكنك استخدام واجهة برمجة تطبيقات الإدارة. ومع ذلك، يُرجى الانتباه إلى أنّ القيم المشفّرة يتم عرضها كـ ***** في استجابة واجهة برمجة التطبيقات.
  • واجهة مستخدم الإدارة: يمكنك عرض KVM على مستوى البيئة في واجهة مستخدم الإدارة من خلال الانتقال إلى واجهات برمجة التطبيقات > إعداد البيئة > خرائط القيم الأساسية (الإصدار الكلاسيكي من Edge) أو المشرف > البيئات > خرائط القيم الرئيسية (New Edge).

مثال على KVM

للاطّلاع على مثال على استخدام آلة متجه الدعم لتعبئة القيم في عنوان URL، راجِع https://community.apigee.com/questions/32727/templatize-target-url-with-kvm-by-environment.html.