Läsa in testskyddade slutpunkter med förhandsversionen av Azure Load Testing

I den här artikeln får du lära dig hur du läser in testsäkra program med förhandsversionen av Azure Load Testing. Skyddade program kräver autentisering för att få åtkomst till slutpunkten. Med Azure Load Testing kan du autentisera med slutpunkter med hjälp av delade hemligheter eller autentiseringsuppgifter, eller autentisera med klientcertifikat.

Viktigt

Azure Load Testing är för närvarande en förhandsversion. Juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller som ännu inte har släppts till allmän tillgänglighet finns i Kompletterande användningsvillkor för Microsoft Azure-förhandsversioner.

Förutsättningar

Autentisera med en delad hemlighet eller autentiseringsuppgifter

I det här scenariot kräver programslutpunkten att du använder en delad hemlighet, till exempel en åtkomsttoken, en API-nyckel eller användarautentiseringsuppgifter för att autentisera. I JMeter-skriptet måste du ange den här säkerhetsinformationen för varje programbegäran. Om du till exempel vill läsa in test av en webbslutpunkt som använder OAuth 2.0 lägger du till en Authorization rubrik, som innehåller åtkomsttoken, i HTTP-begäran.

Följande diagram visar hur du använder delade hemligheter eller autentiseringsuppgifter för att autentisera med en programslutpunkt i belastningstestet. För att undvika att lagra och avslöja säkerhetsinformation i JMeter-skriptet kan du lagra hemligheter på ett säkert sätt i Azure 密钥保管库 eller i CI/CD-hemlighetsarkivet. I JMeter-skriptet använder du sedan en anpassad JMeter-funktion GetSecret för att hämta det hemliga värdet. Slutligen anger du det hemliga värdet i JMeter-begäran till programslutpunkten.

Diagram som visar hur du använder delad hemlighetsautentisering med Azure Load Testing.

  1. Lägg till säkerhetsinformationen i ett hemlighetslager på något av två sätt:

  2. Lägg till hemligheten i belastningstestkonfigurationen:

    Så här lägger du till en hemlighet i belastningstestet i Azure-Portal:

    1. Gå till belastningstestningsresursen i Azure-Portal. Om du inte har något belastningstest ännu skapar du ett nytt belastningstest med hjälp av ett JMeter-skript.

    2. I den vänstra rutan väljer du Tester för att visa listan över belastningstester.

    3. Välj ditt test i listan och välj sedan Redigera för att redigera konfigurationen för belastningstestet.

      Skärmbild som visar hur du redigerar ett belastningstest i Azure-Portal.

    4. På fliken Parametrar anger du informationen om hemligheten.

      Fält Värde
      Namn Namnet på hemligheten. Du anger det här namnet till GetSecret funktionen för att hämta det hemliga värdet i JMeter-skriptet.
      Värde Matchar identifieraren för Azure 密钥保管库 Secret.

      Skärmbild som visar hur du lägger till hemligheter i ett belastningstest i Azure-Portal.

    5. Välj Använd för att spara konfigurationsändringarna för belastningstestet.

  3. Uppdatera JMeter-skriptet för att hämta det hemliga värdet:

    1. Skapa en användardefinierad variabel som hämtar det hemliga värdet med den GetSecret anpassade funktionen:

      Skärmbild som visar hur du lägger till en användardefinierad variabel som använder funktionen GetSecret i JMeter.

    2. Uppdatera JMeter-exempelkomponenten för att skicka hemligheten i begäran. Om du till exempel vill ange en OAuth2-åtkomsttoken konfigurerar Authorization du HTTP-huvudet:

      Skärmbild som visar hur du lägger till ett auktoriseringshuvud i en begäran i JMeter.

När du nu kör belastningstestet kan JMeter-skriptet hämta den hemliga informationen från hemlighetsarkivet och autentisera med programslutpunkten.

Autentisera med klientcertifikat

I det här scenariot kräver programslutpunkten att du använder ett klientcertifikat för att autentisera. Azure Load Testing har stöd för PKCS12-certifikattypen (Public Key Certificate Standard 12). Du kan bara använda ett klientcertifikat i ett belastningstest.

Följande diagram visar hur du använder ett klientcertifikat för att autentisera med en programslutpunkt i belastningstestet. För att undvika att lagra och avslöja klientcertifikatet tillsammans med JMeter-skriptet lagrar du certifikatet i Azure 密钥保管库. När du kör belastningstestet läser Azure Load Testing certifikatet från nyckelvalvet och skickar det automatiskt till JMeter. JMeter skickar sedan certifikatet transparent i alla programbegäranden. Du behöver inte uppdatera JMeter-skriptet för att använda klientcertifikatet.

Diagram som visar hur du använder klientcertifikatautentisering med Azure Load Testing.

  1. Följ stegen i Importera ett certifikat för att lagra certifikatet i Azure 密钥保管库.

    Viktigt

    Azure Load Testing stöder endast PKCS12-certifikat. Ladda upp klientcertifikatet i PFX-filformat.

  2. Kontrollera att belastningstestningsresursen har behörighet att hämta certifikatet från nyckelvalvet.

    Azure Load Testing hämtar certifikatet som en hemlighet för att säkerställa att den privata nyckeln för certifikatet är tillgänglig. Tilldela behörigheten Hämta hemlighet till din belastningstestningsresurs i Azure 密钥保管库.

  3. Lägg till certifikatet i belastningstestkonfigurationen:

    Så här lägger du till ett klientcertifikat i belastningstestet i Azure-Portal:

    1. Gå till belastningstestningsresursen i Azure-Portal. Om du inte har något belastningstest ännu skapar du ett nytt belastningstest med hjälp av ett JMeter-skript.

    2. I den vänstra rutan väljer du Tester för att visa listan över belastningstester.

    3. Välj ditt test i listan och välj sedan Redigera för att redigera konfigurationen för belastningstestet.

      Skärmbild som visar hur du redigerar ett belastningstest i Azure-Portal.

    4. På fliken Parametrar anger du information om certifikatet.

      Fält Värde
      Namn Namnet på certifikatet.
      Värde Matchar Azure 密钥保管库 Secret-identifieraren för certifikatet.

      Skärmbild som visar hur du lägger till ett certifikat i ett belastningstest i Azure-Portal.

    5. Välj Använd för att spara konfigurationsändringarna för belastningstestet.

När du nu kör belastningstestet hämtar Azure Load Testing klientcertifikatet från Azure 密钥保管库 och matar in det i JMeter-webbbegäranden.

Nästa steg