Laden von gesicherten Endpunkten mit Azure Load Testing

In diesem Artikel erfahren Sie, wie Sie Azure Load Testing mit Anwendungsendpunkten verwenden, die eine Authentifizierung erfordern. Je nach Anwendungsimplementierung können Sie ein Zugriffstoken, Benutzeranmeldeinformationen oder Clientzertifikate für die Authentifizierung von Anforderungen verwenden.

Azure Load Testing unterstützt die folgenden Optionen für authentifizierte Endpunkte:

Voraussetzungen

Authentifizieren mit einem gemeinsamen Geheimnis oder Anmeldeinformationen

In diesem Szenario erfordert der Anwendungsendpunkt, dass Sie ein gemeinsames Geheimnis, z. B. ein Zugriffstoken, einen API-Schlüssel oder Benutzeranmeldeinformationen, zur Authentifizierung verwenden.

Das folgende Diagramm zeigt, wie Sie gemeinsame Geheimnisse oder Anmeldeinformationen verwenden, um sich bei einem Anwendungsendpunkt in Ihrem Auslastungstest zu authentifizieren.

Diagram that shows how to use shared-secret authentication with Azure Load Testing.

Der Ablauf für die Authentifizierung mit einem freigegebenen geheimen Schlüssel oder Benutzeranmeldeinformationen lautet:

  1. Speichern Sie den geheimen Schlüssel oder die Anmeldeinformationen sicher, z. B. im Azure Key Vault oder im GEHEIMEN CI/CD-Speicher.
  2. Verweisen Sie in der Auslastungstestkonfiguration auf das Geheimnis.
  3. Rufen Sie im JMeter-Skript den geheimen Wert mit der GetSecret Funktion ab, und übergeben Sie den geheimen Wert an die Anwendungsanforderung.

Sicheres Speichern des geheimen Schlüssels

Um die Speicherung und Offenlegung von Sicherheitsinformationen im JMeter-Skript zu vermeiden, können Sie Geheimnisse in Azure Key Vault oder im CI/CD-Geheimnisspeicher sicher speichern.

Sie können die Sicherheitsinformationen in einem geheimen Speicher auf zwei Arten hinzufügen:

Verweisen auf den geheimen Schlüssel in der Auslastungstestkonfiguration

Bevor Sie den geheimen Wert im JMeter-Testskript abrufen können, müssen Sie in der Auslastungstestkonfiguration auf den geheimen Schlüssel verweisen.

Im Azure-Portal können Sie auf geheime Schlüssel verweisen, die in Azure Key Vault gespeichert sind. So fügen Sie einen geheimen Ladetestschlüssel im Azure-Portal hinzu und konfigurieren diesen:

  1. Navigieren Sie in der Azure-Portal zu Ihrer Auslastungstestressource, und wählen Sie dann "Tests" aus, um die Liste der Auslastungstests anzuzeigen.

  2. Wählen Sie ihren Test aus der Liste aus, und wählen Sie dann "Bearbeiten" aus, um die Auslastungstestkonfiguration zu bearbeiten.

    Screenshot that shows how to edit a load test in the Azure portal.

  3. Geben Sie auf der Registerkarte Parameter die Details des Geheimnisses ein.

    Feld Wert
    Name Name des Geheimnisses. Sie geben diesen Namen für die GetSecret Funktion an, um den geheimen Wert im JMeter-Skript abzurufen.
    Wert Entspricht dem Geheimnisbezeichner von Azure Key Vault.

    Screenshot that shows how to add secrets to a load test in the Azure portal.

  4. Wählen Sie Übernehmen aus, um die Änderungen an der Konfiguration des Auslastungstests zu speichern.

Abrufen und Verwenden des geheimen Werts im JMeter-Skript

Sie können nun den geheimen Wert im JMeter-Skript mithilfe der GetSecret benutzerdefinierten Funktion abrufen und an die Anwendungsanforderung übergeben. Verwenden Sie beispielsweise einen Authorization HTTP-Header, um ein OAuth-Token an eine Anforderung zu übergeben.

  1. Erstellen Sie eine benutzerdefinierte Variable, die den Geheimniswert mit der benutzerdefinierten GetSecret-Funktion abruft:

    Die GetSecret Funktion abstrahiert das Abrufen des Werts aus dem Azure Key Vault- oder dem CI/CD-Schlüsselspeicher.

    Screenshot that shows how to add a user-defined variable that uses the GetSecret function in JMeter.

  2. Aktualisieren Sie die JMeter-Samplerkomponente, um das Geheimnis in der Anforderung zu übergeben.

    Um z. B. ein OAuth2-Zugriffstoken bereitzustellen, konfigurieren Sie den Authorization HTTP-Header durch Hinzufügen eines HTTP Header Manager:

    Screenshot that shows how to add an authorization header to a request in JMeter.

Authentifizierung mit Clientzertifikaten

In diesem Szenario erfordert der Anwendungsendpunkt, dass Sie ein Clientzertifikat zur Authentifizierung verwenden. Azure Load Testing unterstützt den Zertifikattyp Public Key Certificate Standard #12 (PKCS12). Sie können in einem Auslastungstest nur ein Clientzertifikat verwenden.

Das folgende Diagramm zeigt, wie Sie ein Clientzertifikat verwenden, um sich bei einem Anwendungsendpunkt in Ihrem Auslastungstest zu authentifizieren.

Diagram that shows how to use client-certificate authentication with Azure Load Testing.

Der Ablauf für die Authentifizierung mit Clientzertifikaten lautet:

  1. Speichern Sie das Clientzertifikat sicher im Azure Key Vault.
  2. Verweisen Sie auf das Zertifikat in der Auslastungstestkonfiguration.
  3. Azure Load Testing übergibt das Zertifikat transparent an alle Anwendungsanforderungen in JMeter.

Speichern des Clientzertifikats im Azure Key Vault

Um zu vermeiden, dass das Clientzertifikat zusammen mit dem JMeter-Skript gespeichert und offengelegt werden kann, speichern Sie das Zertifikat in Azure Key Vault.

Führen Sie die Schritte unter Importieren eines Zertifikats aus, um Ihr Zertifikat in Azure Key Vault zu speichern.

Wichtig

Azure Load Testing unterstützt nur PKCS12-Zertifikate. Laden Sie das Clientzertifikat im PFX-Dateiformat hoch.

Gewähren des Zugriffs auf Ihren Azure-Schlüsseltresor

Wenn Sie Testschlüssel oder Zertifikate in Azure Key Vault speichern, verwendet Ihre Ressourcen zum Ladentest eine verwaltete Identität für den Zugriff auf den Schlüsseltresor. Nachdem Sie die Verwaltete Identität konfiguriert haben, müssen Sie die verwaltete Identität Ihrer Ressourcenberechtigungen zum Ladentest erteilen, um diese Werte aus dem Schlüsseltresor zu lesen.

So gewähren Sie Ihren Azure Load Testing Ressourcenberechtigungen zum Lesen von Geheimschlüsseln oder Zertifikaten aus Ihrem Azure Key Vault:

  1. Wechseln Sie im Azure-Portal zu Ihrer Azure Key Vault-Ressource.

    Wenn Sie nicht über einen Schlüsseltresor verfügen, befolgen Sie die Anweisungen unter Azure Key Vault: Schnellstart, um einen zu erstellen.

  2. Wählen Sie im linken Bereich Zugriffsrichtlinien und dann +Erstellen aus.

  3. Wählen Sie auf der Registerkarte "Berechtigungen" unter "Geheime Berechtigungen" die Option "Abrufen" und dann "Weiter" aus.

    Hinweis

    Azure Load Testing ruft Zertifikate als geheimen Schlüssel ab, um sicherzustellen, dass der private Schlüssel für das Zertifikat verfügbar ist.

  4. Suchen Sie auf der Registerkarte "Prinzipal " nach der verwalteten Identität für die Ressource "Auslastungstests", und wählen Sie dann "Weiter" aus.

    Wenn Sie eine vom System zugewiesene verwaltete Identität verwenden, entspricht der Name der verwalteten Identität mit der Ihrer Azure-Auslastungstestressource.

  5. Wählen Sie erneut Weiter aus.

    Wenn Der Test ausgeführt wird, kann die verwaltete Identität, die Ihrer Ressourcen für Die Auslastungstests zugeordnet ist, jetzt die geheimen Schlüssel oder Zertifikate für den Auslastungstest aus Dem Schlüsseltresor lesen.

Verweisen auf das Zertifikat in der Auslastungstestkonfiguration

Um das Clientzertifikat an Anwendungsanforderungen zu übergeben, müssen Sie in der Auslastungstestkonfiguration auf das Zertifikat verweisen.

So fügen Sie ein Clientzertifikat zu Ihrem Auslastungstest im Azure-Portal hinzu:

  1. Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource. Wenn noch kein Auslastungstest verfügbar ist, erstellen Sie einen neuen Auslastungstest mit einem JMeter-Skript.

  2. Wählen Sie im linken Bereich Tests aus, um die Liste der Auslastungstests anzuzeigen.

  3. Wählen Sie ihren Test aus der Liste und dann Bearbeiten aus, um die Konfiguration des Auslastungstests zu bearbeiten.

    Screenshot that shows how to edit a load test in the Azure portal.

  4. Geben Sie auf der Registerkarte Parameter die Details des Zertifikats ein.

    Feld Wert
    Name Name des Zertifikats.
    Wert Entspricht dem Azure Key Vault-Geheimnisbezeichner des Zertifikats.

    Screenshot that shows how to add a certificate to a load test in the Azure portal.

  5. Wählen Sie Übernehmen aus, um die Änderungen an der Konfiguration des Auslastungstests zu speichern.

Wenn Sie Ihren Auslastungstest ausführen, ruft Azure Load Testing das Clientzertifikat aus Azure Key Vault ab und fügt es automatisch in jede JMeter-Webanforderung ein.