Zabezpečené koncové body zátěžového testu s využitím zátěžového testování Azure
V tomto článku se dozvíte, jak používat Azure Load Testing s koncovými body aplikace, které vyžadují ověřování. V závislosti na implementaci aplikace můžete k ověřování požadavků použít přístupový token, přihlašovací údaje uživatele nebo klientské certifikáty.
Azure Load Testing podporuje následující možnosti pro ověřené koncové body:
- Ověřování pomocí sdíleného tajného kódu nebo přihlašovacích údajů uživatele
- Ověřování pomocí klientských certifikátů
Požadavky
- Účet Azure s aktivním předplatným. Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.
- Prostředek zátěžového testování Azure. Pokud chcete vytvořit prostředek zátěžového testování, přečtěte si téma Vytvoření a spuštění zátěžového testu.
Ověřování pomocí sdíleného tajného klíče nebo přihlašovacích údajů
V tomto scénáři koncový bod aplikace vyžaduje, abyste k ověření použili sdílený tajný klíč, jako je přístupový token, klíč rozhraní API nebo přihlašovací údaje uživatele.
Následující diagram ukazuje, jak použít sdílené tajné kódy nebo přihlašovací údaje k ověření pomocí koncového bodu aplikace v zátěžovém testu.
Tok pro ověřování pomocí sdíleného tajného kódu nebo přihlašovacích údajů uživatele je:
- Bezpečně uložte tajný klíč nebo přihlašovací údaje, například ve službě Azure Key Vault nebo v úložišti tajných kódů CI/CD.
- Odkazujte na tajný klíč v konfiguraci zátěžového testu.
- Ve skriptu JMeter načtěte hodnotu tajného
GetSecret
kódu pomocí funkce a předejte hodnotu tajného kódu do požadavku aplikace.
Bezpečné uložení tajného kódu
Abyste se vyhnuli ukládání a zveřejnění informací o zabezpečení ve skriptu JMeter, můžete bezpečně ukládat tajné kódy ve službě Azure Key Vault nebo v úložišti tajných kódů CI/CD.
Informace o zabezpečení můžete do úložiště tajných kódů přidat dvěma způsoby:
Přidejte tajné informace ve službě Azure Key Vault. Postupujte podle kroků v parametrizaci zátěžových testů s tajnými kódy k uložení tajného kódu a autorizaci prostředku zátěžového testování ke čtení jeho hodnoty.
Přidejte tajné informace jako tajný kód v CI/CD (tajné kódy GitHub Actions nebo proměnné tajných kódů Azure Pipelines).
Odkazování na tajný klíč v konfiguraci zátěžového testu
Než budete moct načíst hodnotu tajného kódu v testovacím skriptu JMeter, musíte na tajný kód odkazovat v konfiguraci zátěžového testu.
Na webu Azure Portal můžete odkazovat na tajné kódy uložené ve službě Azure Key Vault. Přidání a konfigurace tajného kódu zátěžového testu na webu Azure Portal:
Na webu Azure Portal přejděte k vašemu prostředku zátěžového testování a výběrem možnosti Testy zobrazte seznam zátěžových testů.
V seznamu vyberte svůj test a pak vyberte Upravit a upravte konfiguraci zátěžového testu.
Na kartě Parametry zadejte podrobnosti tajného klíče.
Pole Hodnota Název Název tajného klíče. Tento název zadáte funkci, GetSecret
která načte hodnotu tajného kódu ve skriptu JMeter.Hodnota Odpovídá identifikátoru tajného klíče služby Azure Key Vault. Výběrem možnosti Použít uložte změny konfigurace zátěžového testu.
Načtení a použití hodnoty tajného kódu ve skriptu JMeter
Teď můžete načíst hodnotu tajného kódu ve skriptu JMeter pomocí GetSecret
vlastní funkce a předat ji do požadavku aplikace. Například k předání tokenu OAuth do požadavku použijte hlavičku Authorization
HTTP.
Vytvořte uživatelem definovanou proměnnou, která načte hodnotu tajného
GetSecret
kódu pomocí vlastní funkce:Funkce
GetSecret
abstrahuje načtení hodnoty z Azure Key Vaultu nebo úložiště tajných kódů CI/CD.Aktualizujte komponentu sampleru JMeter tak, aby předala tajný kód v požadavku.
Pokud například chcete poskytnout přístupový token OAuth2, nakonfigurujete hlavičku
Authorization
HTTP přidánímHTTP Header Manager
příkazu :
Ověřování pomocí klientských certifikátů
V tomto scénáři koncový bod aplikace vyžaduje, abyste k ověření použili klientský certifikát. Zátěžové testování Azure podporuje typ certifikátů PKCS12 (Public Key Certificate Standard). V zátěžovém testu můžete použít pouze jeden klientský certifikát.
Následující diagram ukazuje, jak použít klientský certifikát k ověření pomocí koncového bodu aplikace v zátěžovém testu.
Tok ověřování pomocí klientských certifikátů je následující:
- Bezpečně uložte klientský certifikát ve službě Azure Key Vault.
- Odkazujte na certifikát v konfiguraci zátěžového testu.
- Azure Load Testing transparentně předává certifikát všem žádostem aplikace v JMeteru.
Uložení klientského certifikátu ve službě Azure Key Vault
Aby se zabránilo ukládání a zveřejnění, klientský certifikát společně se skriptem JMeter uložíte certifikát ve službě Azure Key Vault.
Postupujte podle kroků v části Import certifikátu a uložte certifikát ve službě Azure Key Vault.
Důležité
Azure Load Testing podporuje pouze certifikáty PKCS12. Nahrajte klientský certifikát ve formátu souboru PFX.
Udělení přístupu k trezoru klíčů Azure
Při ukládání tajných kódů nebo certifikátů zátěžového testu ve službě Azure Key Vault používá váš prostředek zátěžového testování spravovanou identitu pro přístup k trezoru klíčů. Po konfiguraci identity správy musíte udělit spravovanou identitu prostředku zátěžového testování, abyste mohli číst tyto hodnoty z trezoru klíčů.
Udělení oprávnění prostředků zátěžového testování Azure ke čtení tajných kódů nebo certifikátů z trezoru klíčů Azure:
Na webu Azure Portal přejděte k prostředku služby Azure Key Vault.
Pokud trezor klíčů nemáte, vytvořte ho podle pokynů v rychlém startu pro Azure Key Vault.
V levém podokně vyberte Zásady přístupu a pak vyberte + Vytvořit.
Na kartě Oprávnění v části Oprávnění vyberte Získat a pak vyberte Další.
Poznámka:
Azure Load Testing načte certifikáty jako tajný klíč , aby byl k dispozici privátní klíč certifikátu.
Na kartě Objekt zabezpečení vyhledejte a vyberte spravovanou identitu prostředku zátěžového testování a pak vyberte Další.
Pokud používáte spravovanou identitu přiřazenou systémem, název spravované identity odpovídá názvu spravované identity prostředku zátěžového testování Azure.
Znovu vyberte Další .
Když se test spustí, spravovaná identita přidružená k vašemu prostředku zátěžového testování teď může číst tajné kódy nebo certifikáty pro zátěžový test z vašeho trezoru klíčů.
Odkazování na certifikát v konfiguraci zátěžového testu
Pokud chcete klientský certifikát předat žádostem o aplikaci, musíte na certifikát odkazovat v konfiguraci zátěžového testu.
Přidání klientského certifikátu do zátěžového testu na webu Azure Portal:
Na webu Azure Portal přejděte k vašemu prostředku zátěžového testování. Pokud ještě nemáte zátěžový test, vytvořte nový zátěžový test pomocí skriptu JMeter.
V levém podokně vyberte Testy a zobrazte seznam zátěžových testů.
V seznamu vyberte svůj test a pak vyberte Upravit a upravte konfiguraci zátěžového testu.
Na kartě Parametry zadejte podrobnosti o certifikátu.
Pole Hodnota Název Název certifikátu. Hodnota Odpovídá identifikátoru tajného klíče služby Azure Key Vault certifikátu. Výběrem možnosti Použít uložte změny konfigurace zátěžového testu.
Když spustíte zátěžový test, Azure Load Testing načte klientský certifikát ze služby Azure Key Vault a automaticky ho vloží do každého webového požadavku JMeter.
Související obsah
- Přečtěte si další informace o parametrizaci zátěžového testu.