Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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, verwaltete Identität oder Clientzertifikate für die Authentifizierung von Anforderungen verwenden.
Azure Load Testing unterstützt folgende Optionen für authentifizierte Endpunkte:
- Authentifizieren mit einem gemeinsamen Geheimnis oder mit freigegebenen Benutzeranmeldeinformationen
- Authentifizieren mit Clientzertifikaten
- Authentifizieren mit einer verwalteten Identität
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
- Eine Azure Load Testing-Ressource. Informationen zum Erstellen einer Azure Load Testing-Ressource finden Sie unter Erstellen und Ausführen eines Auslastungstests.
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.
Die Authentifizierung mit einem gemeinsamen Geheimnis oder mit freigegebenen Benutzeranmeldeinformationen läuft wie folgt ab:
- Speichern Sie das Geheimnis oder die Anmeldeinformationen an einem sicheren Ort (etwa in Azure Key Vault oder im CI/CD-Geheimnisspeicher).
- Verweisen Sie in der Auslastungstestkonfiguration auf das Geheimnis.
- Rufen Sie für JMeter-basierte Tests den geheimen Wert mit der
GetSecret
Funktion ab. Bei Locust-basierten Tests rufen Sie das Geheimnis den mit dergetenv
-Funktion ab. Übergeben Sie den geheimen Wert an die Anwendungsanforderung.
Sicheres Speichern des Geheimnisses
Um das Speichern und Offenlegen von Sicherheitsinformationen im Testskript zu vermeiden, können Sie geheime Schlüssel sicher im Azure Key Vault oder im CI/CD-Geheimspeicher speichern.
Die Sicherheitsinformationen können einem Geheimnisspeicher auf zwei Arten hinzugefügt werden:
Fügen Sie die geheimen Informationen in Azure Key Vault hinzu. Führen Sie die Schritte in Parametrisieren von Auslastungstests mit Geheimnissen aus, um ein Geheimnis zu speichern und Ihre Azure Load Testing-Ressource zu autorisieren, den Wert zu lesen.
Fügen Sie die geheimen Informationen als Geheimnis in CI/CD hinzu (GitHub Actions-Geheimnisse oder Azure Pipelines-Geheimnisvariablen).
Verweisen auf das Geheimnis in der Konfiguration des Auslastungstests
Um den Geheimniswert im JMeter-Testskript abrufen zu können, müssen Sie zunächst in der Konfiguration des Auslastungstests auf das Geheimnis verweisen.
Im Azure-Portal können Sie auf Geheimnisse verweisen, die in Azure Key Vault gespeichert sind. So können Sie ein Auslastungstestgeheimnis im Azure-Portal hinzufügen und konfigurieren
Navigieren Sie im Azure-Portal zu Ihrer Auslastungstestressource, und wählen Sie dann Tests aus, um die Liste der Auslastungstests anzuzeigen.
Wählen Sie in der Liste Ihren Test und anschließend die Option Bearbeiten aus, um die Konfiguration des Auslastungstests zu bearbeiten.
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 Testskript abzurufen.Wert Entspricht dem Geheimnisbezeichner von Azure Key Vault. Wählen Sie Übernehmen aus, um die Änderungen an der Konfiguration des Auslastungstests zu speichern.
Abrufen und Verwenden des Geheimniswerts im JMeter-Skript
Nun können Sie mithilfe der benutzerdefinierten Funktion GetSecret
den Geheimniswert im JMeter-Skript abrufen und ihn an die Anwendungsanforderung übergeben. Verwenden Sie beispielsweise einen HTTP-Header vom Typ Authorization
, um ein OAuth-Token an eine Anforderung zu übergeben.
Erstellen Sie eine benutzerdefinierte Variable, die den Geheimniswert mit der benutzerdefinierten
GetSecret
-Funktion abruft:Die Funktion
GetSecret
abstrahiert das Abrufen des Werts aus Azure Key Vault oder aus dem CI/CD-Geheimspeicher.Aktualisieren Sie die JMeter-Samplerkomponente, um das Geheimnis in der Anforderung zu übergeben.
Wenn Sie also beispielsweise ein OAuth2-Zugriffstoken bereitstellen möchten, konfigurieren Sie den
Authorization
-HTTP-Header, indem Sie einen HTTP-Header-Manager (HTTP Header Manager
) hinzufügen:
Abrufen und Verwenden des geheimen Werts im Locust-Skript
Sie können nun den geheimen Wert im Locust-Skript abrufen und an die Anwendungsanforderung übergeben. Verwenden Sie beispielsweise einen HTTP-Header vom Typ Authorization
, um ein OAuth-Token an eine Anforderung zu übergeben.
Auf die in der Lasttestkonfiguration konfigurierten Geheimnisse kann als Umgebungsvariablen zugegriffen werden.
- Initialisieren Sie eine Variable mit dem geheimen Wert mithilfe des geheimen Namens , der in der Auslastungstestkonfiguration angegeben ist.
my_secret = os.getenv("appToken")
- Verweisen Sie auf die Variable in Ihrem Testskript, um den geheimen Wert zu verwenden, der in Azure KeyVault gespeichert ist.
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 auch mehrere Clientzertifikate in einem Auslastungstest verwenden.
Das folgende Diagramm zeigt, wie Sie ein Clientzertifikat verwenden, um sich bei einem Anwendungsendpunkt in Ihrem Auslastungstest zu authentifizieren.
Die Authentifizierung mit Clientzertifikaten läuft wie folgt ab:
- Speichern Sie das Zertifikat sicher in Azure Key Vault.
- Verweisen Sie in der Auslastungstestkonfiguration auf das Zertifikat.
- Bei JMeter-basierten Tests übergibt Azure Load Testing das Zertifikat transparent an alle Anwendungen. Bei Locust-basierten Tests können Sie das Zertifikat in Ihrem Testskript abrufen und an die Anforderungen übergeben.
Speichern des Clientzertifikats in 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 Auslastungstestgeheimnisse oder Zertifikate in Azure Key Vault speichern, verwendet Ihre Auslastungstestressource eine verwaltete Identität für den Zugriff auf die Instanz. Nachdem Sie die verwaltete Identität konfiguriert haben, müssen Sie der verwalteten Identität Ihrer Auslastungstestressource Berechtigungen erteilen, diese Werte aus der Key Vault-Instanz zu lesen.
So weisen Sie Ihrer Azure Load Testing-Ressource Berechtigungen zum Lesen von Geheimnissen oder Zertifikaten aus Azure Key Vault zu
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.
Wählen Sie im linken Bereich Zugriffsrichtlinien aus, und wählen Sie dann + Erstellen aus.
Wählen Sie auf der Registerkarte Berechtigungen unter Geheimnisberechtigungen die Option Abrufen aus, und wählen Sie dann Weiter aus.
Hinweis
Azure Load Testing ruft Zertifikate als Geheimnis ab, um sicherzustellen, dass der private Schlüssel für das Zertifikat verfügbar ist.
Suchen Sie auf der Registerkarte Prinzipal nach der verwalteten Identität für die Auslastungstestressource, wählen Sie sie aus, und wählen Sie dann Weiter aus.
Wenn Sie eine systemseitig zugewiesene verwaltete Identität verwenden, entspricht der Name dem Ihrer Azure Load Testing-Ressource.
Wählen Sie erneut Weiter aus.
Wenn Ihr Test ausgeführt wird, kann die verwaltete Identität, die Ihrer Auslastungstestressource zugeordnet ist, die Geheimnisse oder Zertifikate für den Auslastungstest aus der Key Vault-Instanz lesen.
Verweisen auf das Zertifikat in der Auslastungstestkonfiguration
Um das Clientzertifikat an Anwendungsanforderungen zu übergeben, müssen Sie in der Konfiguration des Auslastungstests auf das Zertifikat verweisen.
So fügen Sie ein Clientzertifikat zu Ihrem Auslastungstest im Azure-Portal hinzu:
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.
Wählen Sie im linken Bereich Tests aus, um die Liste der Auslastungstests anzuzeigen.
Wählen Sie ihren Test aus der Liste und dann Bearbeiten aus, um die Konfiguration des Auslastungstests zu bearbeiten.
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. 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.
Bei Locust-basierten Tests können Sie das Zertifikat abrufen und in Ihrem Testskript verwenden. Das in der Auslastungstestkonfiguration festgelegte Zertifikat ist in der ALT_CERTIFICATES_DIR
verfügbar.
cert_dir = os.getenv("ALT_CERTIFICATES_DIR")
cert_file = open(os.path.join(cert_dir), "cert_name_in_keyvault.pfx")
Authentifizieren mit einer verwalteten Identität
In diesem Szenario erfordert der Anwendungsendpunkt, dass Sie eine verwaltete Identität zum Authentifizieren verwenden. Sie können sowohl vom System zugewiesene als auch vom Benutzer zugewiesene verwaltete Identitäten verwenden.
Der Ablauf für die Authentifizierung mithilfe einer verwalteten Identität lautet:
- Weisen Sie die verwaltete Identität zu, die der Zielendpunkt der Azure Load Testing-Ressource identifiziert.
- Wählen Sie die verwaltete Identität in der Auslastungstestkonfiguration aus.
Sie müssen ein Skript für Auslastungstests einrichten, um Zugriffstoken mithilfe von verwalteten Identitäten abzurufen und das Token zum Authentifizieren der Anforderungen am Zielendpunkt zu verwenden. Sie können z. B. ein Token über einen HTTP-REST-Aufruf an den Azure Instance Metadata Service (IMDS)-Endpunkt abrufen und dann das Token mithilfe des Authorization
HTTP-Headers an eine Anforderung übergeben.
Zuweisen der verwalteten Identität
Weisen Sie der Azure Load Testing-Ressource die verwaltete Identität zu, die über den erforderlichen Zugriff auf den Zielendpunkt verfügt. Wenn Sie den Test ausführen, weist Azure Load Testing den Engine-Instanzen diese Identität zu. Dadurch wird sichergestellt, dass Ihre Anforderungen zum Abrufen von Zugriffstoken mithilfe der verwalteten Identität erfolgreich sind.
Sie können entweder eine vom System zugewiesene verwaltete Identität oder eine vom Benutzer zugewiesene verwaltete Identität verwenden,
Um eine vom System zugewiesene verwaltete Identität zu verwenden, weisen Sie ihrer Azure Load Testing-Ressource zuerst eine vom System zugewiesene verwaltete Identität zu. Nachdem sie aktiviert ist, geben Sie die erforderlichen RBAC-Berechtigungen für diese Identität auf dem Zielendpunkt an.
Um eine vom Benutzer zugewiesene verwaltete Identität zu verwenden, weisen Sie der Azure Load Testing-Ressource zuerst die vom Benutzer zugewiesene Identität zu. Wenn diese Identität nicht über die erforderlichen RBAC-Berechtigungen für den Zielendpunkt verfügt, geben Sie die erforderlichen Berechtigungen an. Wenn Ihr Testskript mehrere vom Benutzer zugewiesene mehrere Identitäten verwendet, weisen Sie die mehreren Identitäten Ihrer Ressource zu, und stellen Sie sicher, dass sie über die erforderlichen RBAC-Berechtigungen verfügen.
Auswählen der verwalteten Identität in der Auslastungstestkonfiguration
Wählen Sie die erforderliche verwaltete Identität aus, wenn Sie einen Test in Azure Load Testing erstellen oder bearbeiten.
So wählen Und konfigurieren Sie eine verwaltete Identität für die Authentifizierung im Azure-Portal:
Navigieren Sie im Azure-Portal zu Ihrer Auslastungstestressource, und wählen Sie dann Tests aus, um die Liste der Auslastungstests anzuzeigen.
Wählen Sie in der Liste Ihren Test und anschließend die Option Bearbeiten aus, um die Konfiguration des Auslastungstests zu bearbeiten.
Konfigurieren Sie auf der Registerkarte "Testplan " die verwaltete Identität für Authentifizierungsszenarien. Wählen Sie nach Bedarf "Vom System zugewiesene Identität" oder "Vom Benutzer zugewiesene Identität" aus.
Wenn Sie "Vom Benutzer zugewiesene Identität" ausgewählt haben, wählen Sie die erforderlichen Identitäten aus der Dropdownliste " Benutzer zugewiesene Identität " aus.
Wählen Sie Übernehmen aus, um die Änderungen an der Konfiguration des Auslastungstests zu speichern.
Wichtig
Die Lastverteilung über Regionen hinweg ist nicht aktiviert, wenn Sie verwaltete Identitäten für die Authentifizierung verwenden.
Zugehöriger Inhalt
Weitere Informationen zum Parametrisieren eines Auslastungstests.
Erfahren Sie mehr über die Verwendung mehrerer Zertifikate in einem Auslastungstest.