Поделиться через


Использование нескольких сертификатов в Нагрузочном тестировании Azure

Нагрузочное тестирование Azure поддерживает использование нескольких сертификатов для безопасного взаимодействия во время сценариев нагрузочного тестирования. В этой статье объясняется, как объединить несколько сертификатов в файл Java KeyStore (JKS), безопасно сохранить пароль хранилища ключей в Azure Key Vault (AKV) и настроить Azure Load Testing для использования JKS-файла.

Предпосылки

Перед началом работы убедитесь в следующем:

  • У вас есть экземпляр Azure Key Vault , настроенный для хранения секретов.
  • У вас настроено управляемое удостоверение (MI) для вашего ресурса Azure Load Testing.
  • Вы создали файл Java KeyStore (JKS), содержащий все необходимые сертификаты.
  • Вы сохранили пароль JKS в качестве секрета в Azure Key Vault.

Действия по настройке нескольких сертификатов

Шаг 1. Создание и защита JKS-файла

  1. Используйте служебную программу keytool для создания файла JKS и импорта всех необходимых сертификатов.
    keytool -importcert -file <certificate-file> -keystore <keystore-name>.jks -alias <alias-name>
    
  2. Сохраните пароль JKS-файла в качестве секрета в Azure Key Vault:
    • Откройте портал Azure и перейдите в Key Vault.
    • Выберите Объекты > Секреты > Создать/Импортировать.
    • Введите имя и пароль для JKS-файла, а затем нажмите кнопку "Создать".

Шаг 2. Назначение доступа к управляемому удостоверению Azure Load Testing

  1. На портале Azure перейдите к ресурсу Azure Key Vault и выберите политики доступа в левой области, а затем нажмите кнопку +Создать.
  2. На вкладке "Разрешения":
    • В разделе "Разрешения секрета" нажмите кнопку "Получить".
    • Нажмите кнопку Далее.
  3. На вкладке "Основные":
    • Найдите и выберите управляемое удостоверение для ресурса для нагрузочного тестирования.
    • Нажмите кнопку Далее.
    • Если вы используете управляемое удостоверение, назначаемое системой, имя управляемого удостоверения совпадает с именем ресурса Azure Load Testing.
  4. Нажмите кнопку "Далее" , чтобы завершить настройку политики доступа.

При выполнении теста управляемое удостоверение, связанное с ресурсом нагрузочного тестирования, теперь может прочитать секретное значение для нагрузочного теста из Хранилища ключей. Теперь, когда вы добавили секрет в Azure Key Vault и настроили секрет для нагрузочного теста, перейдите к использованию секретов в Apache JMeter.

Шаг 3: Использование конфигурации хранилища ключей и JSR223 PreProcessor

Конфигурация хранилища ключей

  1. В скрипте JMeter добавьте элемент конфигурации хранилища ключей для управления SSL-сертификатами.
    • Перейдите к План тестирования > Добавить > элемент конфигурации > Конфигурация хранилища ключей.
    • Задайте поле "Псевдоним", чтобы соответствовать псевдониму сертификата в JKS-файле.

Предварительная обработка JSR223 для динамической конфигурации SSL

  1. Добавьте препроцессор JSR223 для динамической настройки свойств SSL во время выполнения.
    • Перейдите в группу потоков > Добавить > Препроцессоры > JSR223 PreProcessor.
    • Установите язык на Java.
    • Добавьте следующий скрипт:
      System.setProperty("javax.net.ssl.keyStoreType", "PKCS12");
      System.setProperty("javax.net.ssl.keyStore", "<path-to-your-keystore>");
      System.setProperty("javax.net.ssl.keyStorePassword", "<keystore-password>");
      
  2. Замените path-to-your-keystore и keystore-password на фактический путь к файлу хранилища ключей и пароль.

Шаг 4. Добавьте конфигурацию набора данных CSV для итерации по сертификатам

  1. В скрипте JMeter добавьте элемент Конфигурация Набора Данных CSV для итерации по сертификатам в JKS-файле.
    • Перейдите в раздел План тестирования > Добавить > элемент конфигурации > Конфигурация набора данных CSV.
    • Настройте следующие поля:
      • Имя файла: путь к CSV-файлу с псевдонимами сертификатов.
      • Имена переменных: имя переменной (например, certificateAlias).
  2. Создайте CSV-файл со списком псевдонимов сертификатов из JKS-файла. Каждый псевдоним должен находиться в новой строке.
  3. Используйте переменную (например, ${certificateAlias}) в конфигурации хранилища ключей или скриптах, чтобы динамически ссылаться на текущий псевдоним сертификата во время выполнения теста.

Шаг 5. Отправка тестовых файлов

  1. На портале Azure перейдите к ресурсу Azure Load Testing и запустите новый рабочий процесс создания тестов.
  2. Отправьте следующие файлы:
    • JKS-файл.
    • Ваш скрипт тестирования JMeter.
    • CSV-файл с псевдонимами сертификатов.

Шаг 6. Настройка параметров

  1. Перейдите на вкладку "Параметры " в рабочем процессе создания теста.
  2. Добавьте секрет для пароля JKS:
    • Имя: название секрета в Azure Key Vault.
    • Значение: URL-адрес Хранилища ключей (например, https://key-vault-name.vault.azure.net/secrets/secret-name).
  3. Настройте эталонное удостоверение Key Vault, указав управляемое удостоверение ресурса Нагрузочного тестирования Azure, который получит доступ к секрету Key Vault.

Проверьте все конфигурации, чтобы обеспечить правильность. Нажмите кнопку "Создать тест", чтобы завершить работу и запустить тест.