共用方式為


在 Azure 負載測試中使用多個憑證

Azure 負載測試支援在負載測試案例期間使用多個憑證進行安全通訊。 本文說明如何將多個憑證合併到 Java KeyStore (JKS) 檔案、安全地將密鑰存放區密碼儲存在 Azure Key Vault (AKV),以及設定 Azure 負載測試以使用 JKS 檔案。

先決條件

開始之前,請確定下列事項:

設定多個憑證的步驟

步驟 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 負載測試受控識別的存取權

  1. 在 Azure 入口網站中,移至您的 Azure Key Vault 資源,然後從左窗格中選取 [ 存取原則 ],然後按兩下 [ + 建立]。
  2. 在 [許可權] 索引標籤上:
    • 在 [ 秘密許可權] 底下,選取 [取得]。
    • [下一步]。
  3. 在 [ 主體] 索引標籤 上:
    • 搜尋並選取負載測試資源的受控識別。
    • [下一步]。
    • 如果您使用系統指派的受控識別,受控識別名稱會符合 Azure Load Testing 資源的身分識別名稱。
  4. 再次按 [下一步 ] 以完成存取原則設定。

當您的測試執行時,與負載測試資源相關聯的受控識別現在可以從 Key Vault 讀取負載測試的秘密。 既然您已在 Azure Key Vault 中新增秘密並設定負載測試的秘密,請移至在 Apache JMeter 中使用秘密。

步驟 3:使用金鑰存放區設定和 JSR223 預處理器

金鑰存放區設定

  1. 在您的 JMeter 腳本中,新增 Keystore 組態 元素來管理 SSL 憑證。
    • 移至 [測試計劃 > ] [新增 > Config 元素 > 金鑰存放區組態]。
    • 設定 [別名] 欄位,以符合 JKS 檔案中的憑證別名。

動態 SSL 設定的 JSR223 預處理器

  1. 新增 JSR223 PreProcessor ,以在運行時間動態設定 SSL 屬性。
    • 移至 [線程群組 > ] [新增 > 預處理器 > JSR223 預處理器]。
    • 將語言設定為 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. 將和 keystore-password 取代path-to-your-keystore為您的實際金鑰存放區檔案路徑和密碼。

步驟 4:新增 CSV 數據集組態以逐一查看憑證

  1. 在您的 JMeter 腳本中,新增 CSV 數據集 Config 元素,以逐一查看 JKS 檔案中的憑證。
    • 移至 測試計劃 > 新增 > Config 元素 > CSV 資料集組態
    • 設定下列欄位:
      • 檔名:CSV 檔案的路徑,其中包含憑證別名。
      • 變數名稱:變數名稱:變數的名稱(例如 certificateAlias)。
  2. 使用 JKS 檔案中的憑證別名清單建立 CSV 檔案。 每個別名都應該在新行上。
  3. 在密鑰存放區組態或腳本中使用變數 (例如 ${certificateAlias}),在測試執行期間動態參考目前的憑證別名。

步驟 5:上傳測試檔案

  1. 在 Azure 入口網站中,流覽至您的 Azure 負載測試資源,並開始新的測試建立工作流程。
  2. 上傳下列檔案:
    • JKS 檔案。
    • 您的 JMeter 測試文稿。
    • 具有憑證別名的 CSV 檔案。

步驟 6:設定參數

  1. 移至測試建立工作流程中的 [ 參數 ] 索引標籤。
  2. 新增 JKS 密碼的秘密:
    • 名稱:Azure Key Vault 中的秘密名稱。
    • 值:Key Vault URL(例如,https://key-vault-name.vault.azure.net/secrets/secret-name)。
  3. 藉由指定 Azure 負載測試資源的受控識別來存取 Key Vault 秘密,以設定 Key Vault 參考身分識別。

檢閱所有設定,以確保正確性。 按兩下 [建立測試 ] 以完成並執行測試。