Använda flera certifikat i Azure Load Testing

Azure Load Testing stöder användningen av flera certifikat för säker kommunikation under scenarier för belastningstestning. Denna artikel förklarar hur man konsoliderar flera certifikat till en Java KeyStore (JKS)-fil, säkert lagrar lösenordet för keystore i Azure Key Vault (AKV) och konfigurerar Azure Load Testing för att använda JKS-filen.

Förutsättningar

Innan du börjar, försäkra dig om följande:

  • Du har en Azure Key Vault-instans uppsatt för att lagra hemligheter.
  • Du har den Hanserade Identitet (MI) för din Azure Load Testing-resurs konfigurerad.
  • Du har skapat en Java KeyStore (JKS)-fil som innehåller alla nödvändiga certifikat.
  • Du har lagrat JKS-lösenordet som en hemlighet i Azure Key Vault.

Steg för att konfigurera flera certifikat

Steg 1: Skapa och säkra JKS-filen

  1. Använd verktyget keytool för att skapa en JKS-fil och importera alla nödvändiga certifikat.
    keytool -importcert -file <certificate-file> -keystore <keystore-name>.jks -alias <alias-name>
    
  2. Lagra JKS-filens lösenord som en hemlighet i Azure Key Vault:
    • Öppna Azure-portalen och navigera till din Nyckelvalv.
    • Välj Objekt > Hemligheter > Generera/Importera.
    • Ange ett namn och lösenord för JKS-filen och klicka sedan på Skapa.

Steg 2: Tilldela åtkomst till Azure Load Testing hanterad identitet

  1. I Azure-portalen går du till din Azure Key Vault-ressurs och väljer Åtkomstprinciper från den vänstra panelen, klicka sedan på + Skapa.
  2. På fliken Behörigheter:
    • Under hemliga behörigheter väljer du Hämta.
    • Klicka på Nästa.
  3. På fliken Principal:
    • Sök efter och välj den hanterade identiteten för resursen för lasttestning.
    • Klicka på Nästa.
    • Om du använder en systemtilldelad hanterad identitet, matchar det hanterade identitetsnamnet det hos din Azure Load Testing-resurs.
  4. Klicka på Nästa igen för att slutföra konfigurationen av åtkomstpolicy.

När ditt test körs kan den hanterade identiteten som är kopplad till din resurser för belastningstest nu läsa hemligheten för ditt belastningstest från din Key Vault. När du nu har lagt till en hemlighet i Azure Key Vault och konfigurerat en hemlighet för ditt belastningstest, gå vidare till att använda hemligheter i Apache JMeter.

Steg 3: Använd keystore-konfiguration och JSR223 PreProcessor

Konfiguration av keystore

  1. I ditt JMeter-skript, lägg till elementet Keystore Configuration för att hantera SSL-certifikat.
    • Gå till Test Plan > Lägg till > Konfigurationselement > Keystorekonfiguration.
    • Ställ in aliasfältet så att det stämmer överens med certifikatets alias i din JKS-fil.

JSR223 PreProcessor för dynamisk SSL-konfiguration

  1. Lägg till en JSR223 PreProcessor för att dynamiskt konfigurera SSL-egenskaperna vid körning.
    • Gå till Thread Group > Lägg till > Förbehandlare > JSR223 Förbehandlare.
    • Ställ in språket på Java.
    • Lägg till följande skript:
      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. Byt ut path-to-your-keystore och keystore-password med din faktiska nyckellager filsökväg och lösenord.

Steg 4: Lägg till en CSV-datasetkonfiguration för att iterera över certifikaten

  1. I ditt JMeter-skript, lägg till ett element CSV Data Set Config för att iterera över certifikaten i din JKS-fil.
    • Gå till Testplan > Lägg till > Konfigurationselement > CSV Data Set Config.
    • Konfigurera följande fält:
      • Filnamn: Sökväg till CSV-filen som innehåller certifikataliaser.
      • Variabelnamn: Namnet på variabeln (t.ex. certificateAlias).
  2. Skapa en CSV-fil med en lista över certifikataliaser från din JKS-fil. Varje alias bör vara på en ny rad.
  3. Använd variabeln (t.ex. ${certificateAlias}) i Keystore-konfigurationen eller skripten för att dynamiskt hänvisa till det aktuella certifikat-aliaset under testkörningen.

Steg 5: Ladda upp testfiler

  1. I Azure-portalen, navigera till din Azure Load Testing-resurs och starta ett nytt testskapandeflöde.
  2. Ladda upp följande filer:
    • JKS-filen.
    • Ditt JMeter-testskript.
    • CSV-filen med certifikataliaser.

Steg 6: Konfigurera parametrar

  1. Gå till fliken Parametrar i arbetsflödet för testskapande.
  2. Lägg till ett hemligt lösenord för JKS.
    • Namn: Namnet på hemligheten i Azure Key Vault.
    • Värde: Key Vault-URL (t.ex. https://key-vault-name.vault.azure.net/secrets/secret-name).
  3. Konfigurera referensidentiteten för Key Vault genom att specificera den hanterade identiteten för resursen Azure Load Testing som kommer att få åtkomst till hemligheten i Key Vault.

Granska alla konfigurationer för att säkerställa korrekthet. Klicka på Skapa test för att slutföra och köra testet.