Biztonságos végpontok betöltése az Azure Load Testing használatával

Ebből a cikkből megtudhatja, hogyan használhatja az Azure Load Testinget hitelesítést igénylő alkalmazásvégpontokkal. Az alkalmazás implementációjától függően a kérelmek hitelesítéséhez használhat hozzáférési jogkivonatot, felhasználói hitelesítő adatokat vagy ügyféltanúsítványokat.

Az Azure Load Testing a következő lehetőségeket támogatja a hitelesített végpontokhoz:

Előfeltételek

  • An Azure account with an active subscription. Ha még nincs Azure-előfizetése, kezdés előtt hozzon létre egy ingyenes fiókot.
  • Azure-beli terheléstesztelési erőforrás. Terheléstesztelési erőforrás létrehozásához lásd : Terhelésteszt létrehozása és futtatása.

Hitelesítés megosztott titkos kóddal vagy hitelesítő adatokkal

Ebben a forgatókönyvben az alkalmazásvégponthoz megosztott titkos kód, például hozzáférési jogkivonat, API-kulcs vagy felhasználói hitelesítő adatok szükségesek a hitelesítéshez.

Az alábbi ábra bemutatja, hogyan használhat megosztott titkos kulcsokat vagy hitelesítő adatokat egy alkalmazásvégponttal való hitelesítéshez a terhelési tesztben.

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

A megosztott titkos kóddal vagy felhasználói hitelesítő adatokkal történő hitelesítés folyamata a következő:

  1. Biztonságosan tárolhatja a titkos kulcsokat vagy hitelesítő adatokat, például az Azure Key Vaultban vagy a CI/CD titkos kulcstárolóban.
  2. A terhelésteszt konfigurációjában hivatkozzon a titkos kódra.
  3. A JMeter-szkriptben kérje le a titkos értéket a GetSecret függvénnyel, és adja át a titkos értéket az alkalmazáskérésnek.

A titkos kód biztonságos tárolása

A biztonsági információk JMeter-szkriptben való tárolásának és felfedésének elkerülése érdekében biztonságosan tárolhatja a titkos kulcsokat az Azure Key Vaultban vagy a CI/CD titkos kulcstárolóban.

A titkos kulcstárak biztonsági adatait kétféleképpen adhatja hozzá:

Hivatkozás a titkos kódra a terhelésteszt-konfigurációban

Mielőtt lekérheti a titkos kód értékét a JMeter-tesztszkriptben, hivatkoznia kell a titkos kódra a terhelésteszt konfigurációjában.

Az Azure Portalon hivatkozhat az Azure Key Vaultban tárolt titkos kódokra. Terheléstesztelési titkos kód hozzáadása és konfigurálása az Azure Portalon:

  1. Lépjen a terheléstesztelési erőforrásra az Azure Portalon, majd válassza a Tesztek lehetőséget a terheléstesztek listájának megtekintéséhez.

  2. Válassza ki a tesztet a listából, majd válassza a Szerkesztés lehetőséget a terhelésteszt konfigurációjának szerkesztéséhez.

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

  3. A Paraméterek lapon adja meg a titkos kód részleteit.

    Mező Value
    Név A titkos kód neve. Ezt a nevet adja meg a függvénynek, GetSecret hogy lekérje a titkos értéket a JMeter-szkriptben.
    Érték Megfelel az Azure Key Vault titkos kódazonosítójának.

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

  4. Válassza az Alkalmaz lehetőséget a terhelésteszt konfigurációjának módosításainak mentéséhez.

A titkos kód értékének lekérése és használata a JMeter-szkriptben

Most már lekérheti a titkos értéket a JMeter-szkriptben az GetSecret egyéni függvény használatával, és továbbíthatja azt az alkalmazáskérésnek. Egy HTTP-fejléc használatával Authorization például OAuth-jogkivonatot adhat át egy kérésnek.

  1. Hozzon létre egy felhasználó által definiált változót, amely lekéri a titkos értéket az GetSecret egyéni függvénnyel:

    A GetSecret függvény absztrakciókat használ az érték Azure Key Vaultból vagy a CI/CD titkos kulcstárolóból való lekéréséhez.

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

  2. Frissítse a JMeter-mintavevő összetevőt, hogy átadja a titkos kódot a kérelemben.

    OAuth2 hozzáférési jogkivonat megadásához például konfigurálja a Authorization HTTP-fejlécet egy HTTP Header Manager:

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

Hitelesítés ügyféltanúsítványokkal

Ebben az esetben az alkalmazásvégponthoz ügyféltanúsítványt kell használnia a hitelesítéshez. Az Azure Load Testing támogatja a nyilvános kulcsú tanúsítványok standard #12 (PKCS12) típusú tanúsítványait. A terhelési tesztben csak egy ügyféltanúsítvány használható.

Az alábbi ábra bemutatja, hogyan használhat ügyféltanúsítványt egy alkalmazásvégponttal való hitelesítéshez a terheléstesztben.

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

Az ügyféltanúsítványok hitelesítésének folyamata a következő:

  1. Az ügyféltanúsítvány biztonságos tárolása az Azure Key Vaultban.
  2. Hivatkozzon a tanúsítványra a terhelésteszt-konfigurációban.
  3. Az Azure Load Testing transzparens módon továbbítja a tanúsítványt a JMeterben található összes alkalmazáskérésnek.

Az ügyféltanúsítvány tárolása az Azure Key Vaultban

A JMeter-szkript mellett az ügyféltanúsítvány tárolása és közzététele elkerülése érdekében a tanúsítványt az Azure Key Vaultban kell tárolnia.

A tanúsítvány Azure Key Vaultban való tárolásához kövesse a tanúsítvány importálása című témakörben leírt lépéseket.

Fontos

Az Azure Load Testing csak a PKCS12-tanúsítványokat támogatja. Töltse fel az ügyféltanúsítványt PFX fájlformátumban.

Hozzáférés biztosítása az Azure Key Vaulthoz

Amikor betöltési teszt titkos kulcsait vagy tanúsítványait az Azure Key Vaultban tárolja, a terheléstesztelési erőforrás egy felügyelt identitást használ a kulcstartó eléréséhez. A kezelési identitás konfigurálása után meg kell adnia a terheléstesztelési erőforrás felügyelt identitásának engedélyeit, hogy beolvassa ezeket az értékeket a kulcstartóból.

Az Azure-beli terheléstesztelési erőforrás engedélyeinek megadása titkos kulcsok vagy tanúsítványok azure-kulcstartóból való olvasásához:

  1. Az Azure Portalon nyissa meg az Azure Key Vault-erőforrást.

    Ha nem rendelkezik kulcstartóval, kövesse az Azure Key Vault rövid útmutatójában található utasításokat a kulcstartó létrehozásához.

  2. A bal oldali panelen válassza a Hozzáférési szabályzatok, majd a + Létrehozás lehetőséget.

  3. Az Engedélyek lap Titkos engedélyek csoportjában válassza a Beolvasás, majd a Tovább gombot.

    Megjegyzés:

    Az Azure Load Testing titkos kódként kéri le a tanúsítványokat, hogy a tanúsítvány titkos kulcsa elérhető legyen.

  4. Az Egyszerű lapon keresse meg és válassza ki a terheléstesztelési erőforrás felügyelt identitását, majd kattintson a Tovább gombra.

    Ha rendszer által hozzárendelt felügyelt identitást használ, a felügyelt identitás neve megegyezik az Azure-beli terheléstesztelési erőforrás nevével.

  5. Kattintson ismét a Tovább gombra.

    A teszt futtatásakor a terheléstesztelési erőforráshoz társított felügyelt identitás mostantól beolvassa a terhelésteszt titkos kulcsait vagy tanúsítványait a kulcstartóból.

Hivatkozás a tanúsítványra a terhelésteszt-konfigurációban

Az ügyféltanúsítvány alkalmazáskérelmeknek való átadásához hivatkoznia kell a tanúsítványra a terhelésteszt-konfigurációban.

Ügyféltanúsítvány hozzáadása a terhelési teszthez az Azure Portalon:

  1. Lépjen a terheléstesztelési erőforráshoz az Azure Portalon. Ha még nem rendelkezik terhelésteszttel, hozzon létre egy új terheléstesztet egy JMeter-szkripttel.

  2. A bal oldali panelen válassza a Tesztek lehetőséget a terheléses tesztek listájának megtekintéséhez.

  3. Válassza ki a tesztet a listából, majd válassza a Szerkesztés lehetőséget a terhelésteszt konfigurációjának szerkesztéséhez.

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

  4. A Paraméterek lapon adja meg a tanúsítvány részleteit.

    Mező Value
    Név A tanúsítvány neve.
    Érték Megfelel a tanúsítvány Azure Key Vault titkos azonosítójának .

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

  5. Válassza az Alkalmaz lehetőséget a terhelésteszt konfigurációjának módosításainak mentéséhez.

A terhelésteszt futtatásakor az Azure Load Testing lekéri az ügyféltanúsítványt az Azure Key Vaultból, és automatikusan injektálja azt minden JMeter-webes kérelembe.