Delen via


Loadtesten van beveiligde eindpunten met Azure Load Testing

In dit artikel leert u hoe u Azure Load Testing gebruikt met toepassingseindpunten waarvoor verificatie is vereist. Afhankelijk van uw toepassingsimplementatie kunt u een toegangstoken, gebruikersreferenties, beheerde identiteit of clientcertificaten gebruiken voor het verifiëren van aanvragen.

Azure Load Testing ondersteunt de volgende opties voor geverifieerde eindpunten:

Vereiste voorwaarden

  • Een Azure-account met een actief abonnement. Als je geen Azure-abonnement hebt, maak dan een gratis account aan voordat je begint.
  • Een Azure Load Testing-resource. Zie Create and run a load test om een resource voor belastingtests te maken.

Verifiëren met een gedeeld geheim of referenties

In dit scenario vereist het toepassingseindpunt dat u een gedeeld geheim gebruikt, zoals een toegangstoken, een API-sleutel of gebruikersreferenties voor verificatie.

In het volgende diagram ziet u hoe u gedeelde geheimen of referenties gebruikt om te verifiëren met een toepassingseindpunt in uw belastingstest.

Diagram waarin wordt getoond hoe u verificatie met gedeeld geheim gebruikt met Azure Load Testing.

De stroom voor verificatie met een gedeeld geheim of gebruikersreferenties is:

  1. Sla het geheim of de referenties veilig op, bijvoorbeeld in Azure Key Vault of het CI/CD-geheimenarchief.
  2. Verwijs naar het geheim in de configuratie van de belastingtest.
  3. Voor op JMeter gebaseerde tests haalt u de geheime waarde op met de GetSecret functie. Voor locust-tests haalt u het geheim op met de getenv functie. Geef de geheime waarde door aan het verzoek van de applicatie.

Het geheim veilig opslaan

Om te voorkomen dat beveiligingsgegevens in het testscript worden opgeslagen en openbaar gemaakt, kunt u veilig geheimen opslaan in Azure Key Vault of in het CI/CD-geheimenarchief.

U kunt de beveiligingsgegevens op twee manieren toevoegen aan een geheimenarchief:

Verwijzen naar het geheim in de configuratie van de belastingtest

Voordat u de geheime waarde in het JMeter-testscript kunt ophalen, moet u verwijzen naar het geheim in de configuratie van de belastingtest.

In Azure Portal kunt u verwijzen naar geheimen die zijn opgeslagen in Azure Key Vault. Een belastingtestgeheim toevoegen en configureren in Azure Portal:

  1. Navigeer naar de resource voor belastingstests in Azure Portal en selecteer vervolgens Tests om de lijst met belastingstests weer te geven.

  2. Selecteer uw test in de lijst en selecteer Vervolgens Bewerken om de configuratie van de belastingtest te bewerken.

    Schermopname van het bewerken van een belastingstest in Azure Portal.

  3. Voer op het tabblad Parameters de details van het geheim in.

    Veld Waarde
    Naam Naam van het geheim. U geeft deze naam op aan de GetSecret functie om de geheime waarde in het testscript op te halen.
    Waarde Komt overeen met de geheime id van Azure Key Vault.

    Schermopname van het toevoegen van geheimen aan een belastingstest in Azure Portal.

  4. Selecteer Toepassen om de configuratiewijzigingen van de belastingtest op te slaan.

De geheime waarde ophalen en gebruiken in het JMeter-script

U kunt nu de geheime waarde in het JMeter-script ophalen met behulp van de GetSecret aangepaste functie en deze doorgeven aan de toepassingsaanvraag. Gebruik bijvoorbeeld een Authorization HTTP-header om een OAuth-token door te geven aan een aanvraag.

  1. Maak een door de gebruiker gedefinieerde variabele waarmee de geheime waarde wordt opgehaald met de GetSecret aangepaste functie:

    De GetSecret functie abstraheert het ophalen van de waarde uit Azure Key Vault of het CI/CD-geheimenarchief.

    Schermopname van het toevoegen van een door de gebruiker gedefinieerde variabele die gebruikmaakt van de functie GetSecret in JMeter.

  2. Werk het JMeter-samplercomponent bij om het geheim in het verzoek door te geven.

    Als u bijvoorbeeld een OAuth2-toegangstoken wilt opgeven, configureert u de Authorization HTTP-header door een HTTP Header Manager:

    Schermopname van het toevoegen van een autorisatieheader aan een aanvraag in JMeter.

De geheime waarde ophalen en gebruiken in het locust-script

U kunt nu de geheime waarde ophalen in het locust-script en deze doorgeven aan de toepassingsaanvraag. Gebruik bijvoorbeeld een Authorization HTTP-header om een OAuth-token door te geven aan een aanvraag.

De geheimen die in de configuratie van de belastingtest zijn geconfigureerd, zijn toegankelijk als omgevingsvariabelen.

  1. Initialiseer een variabele met de geheime waarde met behulp van de geheime naam die is opgegeven in de configuratie van de belastingtest.
my_secret = os.getenv("appToken")
  1. Verwijs naar de variabele in uw testscript om de geheime waarde te gebruiken die is opgeslagen in Azure KeyVault.

Verifiëren met clientcertificaten

In dit scenario vereist het toepassingseindpunt dat u een clientcertificaat gebruikt om te verifiëren. Azure Load Testing ondersteunt het pkCS12-type certificaten (Public Key Certificate Standard #12). U kunt ook meerdere clientcertificaten in een belastingstest gebruiken.

In het volgende diagram ziet u hoe u een clientcertificaat gebruikt om te verifiëren met een toepassingseindpunt in uw belastingstest.

Diagram waarin wordt getoond hoe u verificatie van clientcertificaten gebruikt met Azure Load Testing.

De stroom voor verificatie met clientcertificaten is:

  1. Sla het clientcertificaat veilig op in Azure Key Vault.
  2. Verwijs naar het certificaat in de configuratie van de belastingstest.
  3. Voor op JMeter gebaseerde tests geeft Azure Load Testing het certificaat transparant door aan alle toepassingen. Voor op Locust gebaseerde tests kunt u het certificaat in uw testscript ophalen en doorgeven aan de verzoeken.

Het clientcertificaat opslaan in Azure Key Vault

Om te voorkomen dat u het clientcertificaat naast het JMeter-script opslaat en openbaar maakt, slaat u het certificaat op in Azure Key Vault.

Volg de stappen in Een certificaat importeren om uw certificaat op te slaan in Azure Key Vault.

Belangrijk

Azure Load Testing ondersteunt alleen PKCS12-certificaten. Upload het clientcertificaat in pfx-bestandsindeling.

Toegang verlenen tot uw Azure-sleutelkluis

Wanneer u load test geheimen of certificaten opslaat in Azure Key Vault, gebruikt uw load test resource een beheerde identiteit voor toegang tot de Key Vault. Nadat u de beheerde identiteit hebt geconfigureerd, moet u de beheerde identiteit van uw load testing-resource toestemmingen verlenen om deze waarden uit de Key Vault te lezen.

Om uw Azure Load Testing-middelen rechten te verlenen om geheimen of certificaten uit uw Azure Key Vault te lezen:

  1. Ga in Azure Portal naar uw Azure Key Vault-resource.

    Als u geen sleutelkluis hebt, volgt u de instructies in de quickstart van Azure Key Vault om er een te maken.

  2. Selecteer in het linkerdeelvenster Toegangsbeleid en klik op + Maken.

  3. Selecteer Op het tabblad Machtigingen onder Geheime machtigingen de optie Ophalen en selecteer vervolgens Volgende.

    Opmerking

    Azure Load Testing haalt certificaten op als een geheim om ervoor te zorgen dat de persoonlijke sleutel voor het certificaat beschikbaar is.

  4. Zoek en selecteer op het tabblad Principal de beheerde identiteit voor de resource voor belastingtests en selecteer vervolgens Next.

    Als u een door het systeem toegewezen beheerde identiteit gebruikt, komt de naam van de beheerde identiteit overeen met die van uw Azure-belastingstestresource.

  5. Selecteer Volgende opnieuw.

    Wanneer uw test wordt uitgevoerd, kan de beheerde identiteit die is gekoppeld aan uw loadtestresource nu de geheimen of certificaten voor uw loadtest lezen vanuit uw sleutelhanger.

Verwijzen naar het certificaat in de configuratie van de belastingtest

Om het clientcertificaat door te geven aan applicatieverzoeken, moet u het certificaat in de loadtestconfiguratie refereren.

Ga als volgende te werk om een clientcertificaat toe te voegen aan uw belastingstest in Azure Portal:

  1. Navigeer naar de resource voor belastingstests in Azure Portal. Als u nog geen belastingstest hebt, maakt u een nieuwe belastingstest met behulp van een JMeter-script.

  2. Selecteer in het linkerdeelvenster Tests om de lijst met belastingstests weer te geven.

  3. Selecteer uw test in de lijst en selecteer vervolgens Bewerken om de configuratie van de belastingtest te bewerken.

    Schermopname van het bewerken van een belastingstest in Azure Portal.

  4. Voer op het tabblad Parameters de details van het certificaat in.

    Veld Waarde
    Naam Naam van het certificaat.
    Waarde Komt overeen met de geheime id van Azure Key Vault van het certificaat.
  5. Selecteer Toepassen om de configuratiewijzigingen van de belastingtest op te slaan.

Wanneer u de belastingtest uitvoert, haalt Azure Load Testing het clientcertificaat op uit Azure Key Vault en injecteert deze automatisch in elke JMeter-webaanvraag.

Voor op locust gebaseerde tests kunt u het certificaat ophalen en gebruiken in uw testscript. Het certificaat dat is geconfigureerd in de configuratie van de belastingtest, is beschikbaar in de ALT_CERTIFICATES_DIR.

cert_dir = os.getenv("ALT_CERTIFICATES_DIR")
cert_file = open(os.path.join(cert_dir), "cert_name_in_keyvault.pfx")

Verifiëren met een beheerde identiteit

In dit scenario vereist het toepassingseindpunt dat u een beheerde identiteit gebruikt om te verifiëren. U kunt zowel door het systeem toegewezen als door de gebruiker toegewezen beheerde identiteiten gebruiken.

De stroom voor verificatie met behulp van een beheerde identiteit is:

  1. Wijs de beheerde identiteit toe die het doeleindpunt identificeert aan de Azure Load Testing-resource.
  2. Selecteer de beheerde identiteit in de configuratie van de belastingtest.

U moet het script voor belastingstests instellen om het toegangstoken op te halen met behulp van een beheerde identiteit en om het token te gebruiken om de aanvragen voor het doeleindpunt te verifiëren. U kunt bijvoorbeeld een token ophalen via een HTTP REST-aanroep naar het EINDPUNT van azure Instance Metadata Service (IMDS) en het token vervolgens doorgeven aan een aanvraag met behulp van de Authorization HTTP-header.

De beheerde identiteit toewijzen

Wijs de beheerde identiteit met de vereiste toegang tot het doeleindpunt toe aan uw Azure Load Testing-resource. Wanneer u de test uitvoert, wijst Azure Load Testing deze identiteit toe aan de engine-exemplaren. Dit zorgt ervoor dat uw aanvragen voor het ophalen van toegangstokens met behulp van de beheerde identiteit zijn geslaagd.

U kunt een door het systeem toegewezen beheerde identiteit of een door de gebruiker toegewezen beheerde identiteit gebruiken,

  • Als u een door het systeem toegewezen beheerde identiteit wilt gebruiken, wijst u eerst een door het systeem toegewezen beheerde identiteit toe aan uw Azure Load Testing-resource. Zodra deze is ingeschakeld, geeft u de vereiste RBAC-machtigingen op voor deze identiteit op het doeleindpunt.

  • Als u een door de gebruiker toegewezen beheerde identiteit wilt gebruiken, wijst u eerst de door de gebruiker toegewezen identiteit toe aan uw Azure Load Testing-resource. Als deze identiteit niet beschikt over de vereiste RBAC-machtigingen voor het doeleindpunt, geeft u de vereiste machtigingen op. Als uw testscript meerdere door de gebruiker toegewezen meerdere identiteiten gebruikt, wijst u de meerdere identiteiten toe aan uw resource en zorgt u ervoor dat deze over de vereiste RBAC-machtigingen beschikt.

Selecteer de beheerde identiteit in de configuratie van de belastingtest

Selecteer de vereiste beheerde identiteit wanneer u een test maakt of bewerkt in Azure Load Testing.

Een beheerde identiteit selecteren en configureren voor verificatie in Azure Portal:

  1. Navigeer naar de resource voor belastingstests in Azure Portal en selecteer vervolgens Tests om de lijst met belastingstests weer te geven.

  2. Selecteer uw test in de lijst en selecteer Vervolgens Bewerken om de configuratie van de belastingtest te bewerken.

    Schermopname van het bewerken van een belastingstest in Azure Portal.

  3. Configureer op het tabblad Plan testen de beheerde identiteit voor verificatiescenario's. Selecteer 'Door het systeem toegewezen identiteit' of 'Door de gebruiker toegewezen identiteit' zoals vereist.

    Schermopname van het selecteren van een beheerde identiteit voor verificatie in een belastingstest in Azure Portal.

  4. Als u 'Door de gebruiker toegewezen identiteit' hebt geselecteerd, selecteert u de vereiste identiteiten in de vervolgkeuzelijst Door de gebruiker toegewezen identiteit .

  5. Selecteer Toepassen om de configuratiewijzigingen van de belastingtest op te slaan.

Belangrijk

Lastendistributie over regio's is niet ingeschakeld wanneer u beheerde identiteiten gebruikt voor authenticatie.