Dela via


Läsa in testskyddade slutpunkter med Azure Load Testing

I den här artikeln får du lära dig hur du använder Azure Load Testing med programslutpunkter som kräver autentisering. Beroende på programimplementeringen kan du använda en åtkomsttoken, användarautentiseringsuppgifter eller klientcertifikat för att autentisera begäranden.

Azure Load Testing stöder följande alternativ för autentiserade slutpunkter:

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
  • En Azure-belastningstestningsresurs. Information om hur du skapar en belastningstestresurs finns i Skapa och köra ett belastningstest.

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.

Följande diagram visar hur du använder delade hemligheter eller autentiseringsuppgifter för att autentisera med en programslutpunkt i belastningstestet.

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

Flödet för autentisering med en delad hemlighet eller användarautentiseringsuppgifter är:

  1. Lagra hemligheten eller autentiseringsuppgifterna på ett säkert sätt, till exempel i Azure Key Vault eller CI/CD-hemlighetsarkivet.
  2. Referera till hemligheten i konfigurationen av belastningstestet.
  3. I JMeter-skriptet hämtar du det hemliga värdet med GetSecret funktionen och skickar det hemliga värdet till programbegäran.

Lagra hemligheten på ett säkert sätt

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 Key Vault eller i CI/CD-hemlighetsarkivet.

Du kan lägga till säkerhetsinformationen i ett hemlighetsarkiv på något av två sätt:

Referera till hemligheten i konfigurationen av belastningstestet

Innan du kan hämta det hemliga värdet i JMeter-testskriptet måste du referera till hemligheten i konfigurationen för belastningstest.

I Azure Portal kan du referera till hemligheter som lagras i Azure Key Vault. Så här lägger du till och konfigurerar en belastningstesthemlighet i Azure Portal:

  1. Gå till din belastningstestningsresurs i Azure Portal och välj sedan Tester för att visa listan över belastningstester.

  2. 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.

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

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

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

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

Hämta och använd det hemliga värdet i JMeter-skriptet

Nu kan du hämta det hemliga värdet i JMeter-skriptet med hjälp av den GetSecret anpassade funktionen och skicka det till programbegäran. Använd till exempel ett Authorization HTTP-huvud för att skicka en OAuth-token till en begäran.

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

    Funktionen GetSecret abstraherar hämtning av värdet från antingen Azure Key Vault eller CI/CD-hemlighetsarkivet.

    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 genom att lägga till en HTTP Header Manager:

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

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-typen (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.

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

Flödet för autentisering med klientcertifikat är:

  1. Lagra klientcertifikatet på ett säkert sätt i Azure Key Vault.
  2. Referera till certifikatet i konfigurationen av belastningstestet.
  3. Azure Load Testing skickar transparent certifikatet till alla programbegäranden i JMeter.

Lagra klientcertifikatet i Azure Key Vault

För att undvika att lagra och avslöja klientcertifikatet tillsammans med JMeter-skriptet lagrar du certifikatet i Azure Key Vault.

Följ stegen i Importera ett certifikat för att lagra certifikatet i Azure Key Vault.

Viktigt!

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

Bevilja åtkomst till ditt Azure-nyckelvalv

När du lagrar belastningstesthemligheter eller certifikat i Azure Key Vault använder din belastningstestresurs en hanterad identitet för åtkomst till nyckelvalvet. När du har konfigurerat hanteringsidentiteten måste du ge den hanterade identiteten för resursen för belastningstestning behörighet att läsa dessa värden från nyckelvalvet.

Så här beviljar du resursbehörigheter för Azure-belastningstestning för att läsa hemligheter eller certifikat från ditt Azure-nyckelvalv:

  1. I Azure Portal går du till din Azure Key Vault-resurs.

    Om du inte har något nyckelvalv följer du anvisningarna i Azure Key Vault-snabbstarten för att skapa ett.

  2. I den vänstra rutan väljer du Åtkomstprinciper och sedan + Skapa.

  3. På fliken Behörigheter går du till Hemliga behörigheter, väljer Hämta och sedan Nästa.

    Kommentar

    Azure Load Testing hämtar certifikat som en hemlighet för att säkerställa att den privata nyckeln för certifikatet är tillgänglig.

  4. På fliken Huvudnamn söker du efter och väljer den hanterade identiteten för belastningstestningsresursen och väljer sedan Nästa.

    Om du använder en systemtilldelad hanterad identitet matchar det hanterade identitetsnamnet namnet på din Azure-belastningstestresurs.

  5. Välj Nästa igen.

    När testet körs kan den hanterade identitet som är associerad med din belastningstestningsresurs nu läsa hemligheterna eller certifikaten för belastningstestet från nyckelvalvet.

Referera till certifikatet i konfigurationen av belastningstestet

Om du vill skicka klientcertifikatet till programbegäranden måste du referera till certifikatet i konfigurationen för belastningstestet.

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

  1. Gå till din belastningstestningsresurs i Azure Portal. Om du inte har något belastningstest än 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 Key Vault Secret-identifieraren för certifikatet.
  5. Välj Använd för att spara konfigurationsändringarna för belastningstestet.

När du kör belastningstestet hämtar Azure Load Testing klientcertifikatet från Azure Key Vault och matar automatiskt in det i varje JMeter-webbbegäran.