Udostępnij za pośrednictwem


Testy obciążeniowe zabezpieczone punkty końcowe za pomocą testowania obciążenia platformy Azure

Z tego artykułu dowiesz się, jak używać testowania obciążenia platformy Azure z punktami końcowymi aplikacji, które wymagają uwierzytelniania. W zależności od implementacji aplikacji można użyć tokenu dostępu, poświadczeń użytkownika lub certyfikatów klienta do uwierzytelniania żądań.

Testowanie obciążenia platformy Azure obsługuje następujące opcje dla uwierzytelnionych punktów końcowych:

Wymagania wstępne

  • Konto platformy Azure z aktywną subskrypcją. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.
  • Zasób testowania obciążenia platformy Azure. Aby utworzyć zasób testowania obciążenia, zobacz Tworzenie i uruchamianie testu obciążeniowego.

Uwierzytelnianie przy użyciu wspólnego wpisu tajnego lub poświadczeń

W tym scenariuszu punkt końcowy aplikacji wymaga użycia wspólnego wpisu tajnego, takiego jak token dostępu, klucz interfejsu API lub poświadczenia użytkownika do uwierzytelniania.

Na poniższym diagramie pokazano, jak używać udostępnionych wpisów tajnych lub poświadczeń do uwierzytelniania za pomocą punktu końcowego aplikacji w teście obciążeniowym.

Diagram przedstawiający sposób używania uwierzytelniania udostępnionego wpisów tajnych w usłudze Azure Load Testing.

Przepływ uwierzytelniania za pomocą wspólnego wpisu tajnego lub poświadczeń użytkownika to:

  1. Bezpiecznie przechowuj wpis tajny lub poświadczenia, na przykład w usłudze Azure Key Vault lub w magazynie wpisów tajnych ciągłej integracji/ciągłego wdrażania.
  2. Odwołuj się do wpisu tajnego w konfiguracji testu obciążeniowego.
  3. W skrypie JMeter pobierz wartość wpisu tajnego z funkcją GetSecret i przekaż wartość wpisu tajnego do żądania aplikacji.

Bezpieczne przechowywanie wpisu tajnego

Aby uniknąć przechowywania i ujawniania informacji zabezpieczających w skrypcie JMeter, możesz bezpiecznie przechowywać wpisy tajne w usłudze Azure Key Vault lub w magazynie wpisów tajnych ciągłej integracji/ciągłego wdrażania.

Informacje o zabezpieczeniach można dodać w magazynie wpisów tajnych na jeden z dwóch sposobów:

Odwołanie do wpisu tajnego w konfiguracji testu obciążeniowego

Aby można było pobrać wartość wpisu tajnego w skrypie testowym JMeter, należy odwołać się do wpisu tajnego w konfiguracji testu obciążeniowego.

W witrynie Azure Portal można odwoływać się do wpisów tajnych przechowywanych w usłudze Azure Key Vault. Aby dodać i skonfigurować wpis tajny testu obciążeniowego w witrynie Azure Portal:

  1. Przejdź do zasobu testowania obciążenia w witrynie Azure Portal, a następnie wybierz pozycję Testy , aby wyświetlić listę testów obciążeniowych.

  2. Wybierz test z listy, a następnie wybierz pozycję Edytuj , aby edytować konfigurację testu obciążeniowego.

    Zrzut ekranu przedstawiający sposób edytowania testu obciążeniowego w witrynie Azure Portal.

  3. Na karcie Parametry wprowadź szczegóły wpisu tajnego.

    Pole Wartość
    Nazwa/nazwisko Nazwa wpisu tajnego. Ta nazwa GetSecret jest udostępniana funkcji w celu pobrania wartości wpisu tajnego w skrypie JMeter.
    Wartość Pasuje do identyfikatora wpisu tajnego usługi Azure Key Vault.

    Zrzut ekranu przedstawiający sposób dodawania wpisów tajnych do testu obciążeniowego w witrynie Azure Portal.

  4. Wybierz pozycję Zastosuj, aby zapisać zmiany konfiguracji testu obciążeniowego.

Pobieranie i używanie wartości wpisu tajnego w skrypie JMeter

Teraz możesz pobrać wartość wpisu tajnego w skrypie JMeter przy użyciu funkcji niestandardowej GetSecret i przekazać ją do żądania aplikacji. Na przykład użyj nagłówka Authorization HTTP, aby przekazać token OAuth do żądania.

  1. Utwórz zmienną zdefiniowaną przez użytkownika, która pobiera wartość wpisu tajnego z funkcją niestandardową GetSecret :

    Funkcja GetSecret pobiera wartość z usługi Azure Key Vault lub magazynu wpisów tajnych ciągłej integracji/ciągłego wdrażania.

    Zrzut ekranu przedstawiający sposób dodawania zmiennej zdefiniowanej przez użytkownika, która używa funkcji GetSecret w narzędziu JMeter.

  2. Zaktualizuj składnik próbkatora JMeter, aby przekazać wpis tajny w żądaniu.

    Aby na przykład podać token dostępu OAuth2, należy skonfigurować Authorization nagłówek HTTP, dodając element HTTP Header Manager:

    Zrzut ekranu przedstawiający sposób dodawania nagłówka autoryzacji do żądania w JMeter.

Uwierzytelnianie przy użyciu certyfikatów klienta

W tym scenariuszu punkt końcowy aplikacji wymaga uwierzytelnienia przy użyciu certyfikatu klienta. Testowanie obciążenia platformy Azure obsługuje certyfikaty typu Standard certyfikatu klucza publicznego #12 (PKCS12). W teście obciążeniowym można użyć tylko jednego certyfikatu klienta.

Na poniższym diagramie pokazano, jak używać certyfikatu klienta do uwierzytelniania za pomocą punktu końcowego aplikacji w teście obciążeniowym.

Diagram przedstawiający sposób używania uwierzytelniania certyfikatu klienta z usługą Azure Load Testing.

Przepływ uwierzytelniania za pomocą certyfikatów klienta to:

  1. Bezpiecznie przechowuj certyfikat klienta w usłudze Azure Key Vault.
  2. Odwołuj się do certyfikatu w konfiguracji testu obciążeniowego.
  3. Testowanie obciążenia platformy Azure w sposób niewidoczny przekazuje certyfikat do wszystkich żądań aplikacji w narzędziu JMeter.

Przechowywanie certyfikatu klienta w usłudze Azure Key Vault

Aby uniknąć przechowywania i ujawniania certyfikatu klienta wraz ze skryptem JMeter, należy przechowywać certyfikat w usłudze Azure Key Vault.

Wykonaj kroki opisane w temacie Importowanie certyfikatu do przechowywania certyfikatu w usłudze Azure Key Vault.

Ważne

Testowanie obciążenia platformy Azure obsługuje tylko certyfikaty PKCS12. Przekaż certyfikat klienta w formacie pliku PFX.

Udzielanie dostępu do magazynu kluczy platformy Azure

Podczas przechowywania wpisów tajnych testów obciążeniowych lub certyfikatów w usłudze Azure Key Vault zasób testowania obciążenia używa tożsamości zarządzanej do uzyskiwania dostępu do magazynu kluczy. Po skonfigurowaniu tożsamości zarządzania należy udzielić tożsamości zarządzanej uprawnień zasobu do testowania obciążenia, aby odczytać te wartości z magazynu kluczy.

Aby przyznać zasobom testowania obciążenia platformy Azure uprawnienia do odczytywania wpisów tajnych lub certyfikatów z magazynu kluczy platformy Azure:

  1. W witrynie Azure Portal przejdź do zasobu usługi Azure Key Vault.

    Jeśli nie masz magazynu kluczy, postępuj zgodnie z instrukcjami w przewodniku Szybki start usługi Azure Key Vault, aby go utworzyć.

  2. W okienku po lewej stronie wybierz pozycję Zasady dostępu, a następnie wybierz pozycję + Utwórz.

  3. Na karcie Uprawnienia w obszarze Uprawnienia w obszarze Uprawnienia tajne wybierz pozycję Pobierz, a następnie wybierz pozycję Dalej.

    Uwaga

    Testowanie obciążenia platformy Azure pobiera certyfikaty jako klucz tajny , aby upewnić się, że klucz prywatny certyfikatu jest dostępny.

  4. Na karcie Podmiot zabezpieczeń wyszukaj i wybierz tożsamość zarządzaną dla zasobu testowania obciążenia, a następnie wybierz pozycję Dalej.

    Jeśli używasz tożsamości zarządzanej przypisanej przez system, nazwa tożsamości zarządzanej jest zgodna z nazwą zasobu testowania obciążenia platformy Azure.

  5. Ponownie wybierz przycisk Dalej .

    Po uruchomieniu testu tożsamość zarządzana skojarzona z zasobem testowania obciążenia może teraz odczytywać wpisy tajne lub certyfikaty dla testu obciążeniowego z magazynu kluczy.

Odwołanie do certyfikatu w konfiguracji testu obciążeniowego

Aby przekazać certyfikat klienta do żądań aplikacji, należy odwołać się do certyfikatu w konfiguracji testu obciążeniowego.

Aby dodać certyfikat klienta do testu obciążeniowego w witrynie Azure Portal:

  1. Przejdź do zasobu testowania obciążenia w witrynie Azure Portal. Jeśli nie masz jeszcze testu obciążeniowego, utwórz nowy test obciążeniowy przy użyciu skryptu JMeter.

  2. W okienku po lewej stronie wybierz pozycję Testy , aby wyświetlić listę testów obciążeniowych.

  3. Wybierz test z listy, a następnie wybierz pozycję Edytuj, aby edytować konfigurację testu obciążeniowego.

    Zrzut ekranu przedstawiający sposób edytowania testu obciążeniowego w witrynie Azure Portal.

  4. Na karcie Parametry wprowadź szczegóły certyfikatu.

    Pole Wartość
    Nazwa/nazwisko Nazwa certyfikatu.
    Wartość Pasuje do identyfikatora wpisu tajnego usługi Azure Key Vault certyfikatu.
  5. Wybierz pozycję Zastosuj, aby zapisać zmiany konfiguracji testu obciążeniowego.

Po uruchomieniu testu obciążeniowego usługa Azure Load Testing pobiera certyfikat klienta z usługi Azure Key Vault i automatycznie wprowadza go do każdego żądania internetowego JMeter.