تحميل نقاط النهاية الآمنة لاختبار التحميل باستخدام اختبار تحميل Azure

في هذه المقالة، ستتعلم كيفية استخدام اختبار تحميل Azure مع نقاط نهاية التطبيق التي تتطلب المصادقة. اعتمادا على تنفيذ التطبيق الخاص بك، قد تستخدم رمز وصول أو بيانات اعتماد المستخدم أو شهادات العميل لمصادقة الطلبات.

يدعم Azure Load Testing الخيارات التالية لنقاط النهاية المصادق عليها:

المتطلبات الأساسية

  • حساب Azure مع اشتراك نشط. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
  • مورد اختبار تحميل Azure. لإنشاء مورد اختبار تحميل، راجع إنشاء اختبار تحميل وتشغيله.

المصادقة باستخدام بيانات سرية أو بيانات اعتماد مشتركة

في هذا السيناريو، تتطلب نقطة نهاية التطبيق استخدام سر مشترك، مثل رمز مميز للوصول أو مفتاح API أو بيانات اعتماد المستخدم للمصادقة.

يوضح الرسم التخطيطي التالي كيفية استخدام البيانات السرية أو بيانات الاعتماد المشتركة للمصادقة مع نقطة نهاية تطبيق في اختبار التحميل الخاص بك.

Diagram that shows how to use shared-secret authentication with Azure Load Testing.

تدفق المصادقة باستخدام بيانات اعتماد المستخدم أو البيانات السرية المشتركة هو:

  1. قم بتخزين البيانات السرية أو بيانات الاعتماد بشكل آمن، على سبيل المثال في Azure Key Vault، أو مخزن أسرار CI/CD.
  2. الرجوع إلى السر في تكوين اختبار التحميل.
  3. في البرنامج النصي JMeter، قم باسترداد القيمة السرية باستخدام الدالة GetSecret وتمرير القيمة السرية إلى طلب التطبيق.

تخزين البيانات السرية بأمان

لتجنب تخزين معلومات الأمان والكشف عنها في البرنامج النصي JMeter، يمكنك تخزين الأسرار بأمان في Azure Key Vault أو في مخزن أسرار CI/CD.

يمكنك إضافة معلومات الأمان في مخزن أسرار بأي من طريقتين:

الرجوع إلى السر في تكوين اختبار التحميل

قبل أن تتمكن من استرداد القيمة السرية في البرنامج النصي لاختبار JMeter، يجب عليك الرجوع إلى السر في تكوين اختبار التحميل.

في مدخل Microsoft Azure، يمكنك الرجوع إلى الأسرار المخزنة في Azure Key Vault. لإضافة بيانات سرية لاختبار التحميل وتكوينها في مدخل Microsoft Azure:

  1. انتقل إلى مورد اختبار التحميل في مدخل Microsoft Azure، ثم حدد الاختبارات لعرض قائمة اختبارات التحميل.

  2. حدد الاختبار من القائمة، ثم حدد Edit لتحرير تكوين اختبار التحميل.

    Screenshot that shows how to edit a load test in the Azure portal.

  3. في علامة التبويب Parameters ، أدخل تفاصيل السر.

    الحقل قيمة
    الاسم اسم السر. يمكنك توفير هذا الاسم إلى الدالة GetSecret لاسترداد القيمة السرية في البرنامج النصي JMeter.
    القيمة يطابق معرف Azure Key Vault Secret.

    Screenshot that shows how to add secrets to a load test in the Azure portal.

  4. حدد Apply، لحفظ تغييرات تكوين اختبار التحميل.

استرداد القيمة السرية واستخدامها في البرنامج النصي JMeter

يمكنك الآن استرداد القيمة السرية في البرنامج النصي JMeter باستخدام الدالة GetSecret المخصصة وتمريرها إلى طلب التطبيق. على سبيل المثال، استخدم Authorization عنوان HTTP لتمرير رمز OAuth المميز إلى طلب.

  1. إنشاء متغير معرف من قبل المستخدم يسترد القيمة السرية باستخدام الدالة GetSecret المخصصة:

    GetSecret تلخص الدالة استرداد القيمة من Azure Key Vault أو مخزن أسرار CI/CD.

    Screenshot that shows how to add a user-defined variable that uses the GetSecret function in JMeter.

  2. تحديث مكون عينة JMeter لتمرير السر في الطلب.

    على سبيل المثال، لتوفير رمز وصول OAuth2، يمكنك تكوين Authorization عنوان HTTP عن طريق إضافة HTTP Header Manager:

    Screenshot that shows how to add an authorization header to a request in JMeter.

المصادقة باستخدام شهادات العميل

في هذا السيناريو، تتطلب نقطة نهاية التطبيق استخدام شهادة عميل للمصادقة. يدعم اختبار تحميل Azure نوع شهادات Standard #12 (PKCS12) لشهادة المفتاح العام. يمكنك استخدام شهادة عميل واحدة فقط في اختبار التحميل.

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

Diagram that shows how to use client-certificate authentication with Azure Load Testing.

تدفق المصادقة مع شهادات العميل هو:

  1. تخزين شهادة العميل بأمان في Azure Key Vault.
  2. الرجوع إلى الشهادة في تكوين اختبار التحميل.
  3. يقوم Azure Load Testing بتمرير الشهادة بشفافية إلى جميع طلبات التطبيق في JMeter.

تخزين شهادة العميل في Azure Key Vault

لتجنب تخزين شهادة العميل والكشف عنها جنبا إلى جنب مع البرنامج النصي JMeter، يمكنك تخزين الشهادة في Azure Key Vault.

اتبع الخطوات الواردة في استيراد شهادة لتخزين شهادتك في Azure Key Vault.

هام

يدعم اختبار تحميل Azure شهادات PKCS12 فقط. تحميل شهادة العميل بتنسيق ملف PFX.

منح حق الوصول إلى مخزن مفاتيح Azure

عند تخزين أسرار اختبار التحميل أو الشهادات في Azure Key Vault، يستخدم مورد اختبار التحميل الخاص بك هوية مدارة للوصول إلى مخزن المفاتيح. بعد تكوين هوية الإدارة، تحتاج إلى منح الهوية المدارة لأذونات موارد اختبار التحميل لقراءة هذه القيم من مخزن المفاتيح.

لمنح أذونات موارد اختبار تحميل Azure لقراءة الأسرار أو الشهادات من مخزن مفاتيح Azure:

  1. في مدخل Microsoft Azure، انتقل إلى مورد Azure key vault.

    إذا لم يكن لديك مخزن مفاتيح، فاتبع الإرشادات الواردة في التشغيل السريع ل Azure Key Vault لإنشاء مخزن.

  2. في الجزء الأيمن، حدد Access Policies، ثم حدد + Create.

  3. في علامة التبويب أذونات ، ضمن أذونات سرية، حدد الحصول، ثم حدد التالي.

    إشعار

    يسترد Azure Load Testing الشهادات كبيانات سرية للتأكد من توفر المفتاح الخاص للشهادة.

  4. في علامة التبويب Principal ، ابحث عن الهوية المدارة وحددها لمورد اختبار التحميل، ثم حدد Next.

    إذا كنت تستخدم هوية مدارة معينة من قبل النظام، فإن اسم الهوية المدارة يطابق اسم مورد اختبار تحميل Azure.

  5. حدد التالي مرة أخرى.

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

الرجوع إلى الشهادة في تكوين اختبار التحميل

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

لإضافة شهادة عميل إلى اختبار التحميل في مدخل Microsoft Azure:

  1. انتقل إلى مورد اختبار التحميل في مدخل Microsoft Azure. إذا لم يكن لديك اختبار تحميل حتى الآن، قم بإنشاء اختبار تحميل جديد باستخدام برنامج نصي JMeter.

  2. في الجزء الأيمن، حدد Tests لعرض قائمة اختبارات التحميل.

  3. حدد الاختبار من القائمة، ثم حدد تحرير، لتحرير تكوين اختبار التحميل.

    Screenshot that shows how to edit a load test in the Azure portal.

  4. في علامة التبويب Parameters ، أدخل تفاصيل الشهادة.

    الحقل قيمة
    الاسم اسم الشهادة.
    القيمة يطابق المعرف السري ل Azure Key Vault للشهادة.

    Screenshot that shows how to add a certificate to a load test in the Azure portal.

  5. حدد Apply، لحفظ تغييرات تكوين اختبار التحميل.

عند تشغيل اختبار التحميل الخاص بك، يسترد Azure Load Testing شهادة العميل من Azure Key Vault، ويدخلها تلقائيا في كل طلب ويب JMeter.