다음을 통해 공유


Azure Load Testing을 사용하여 부하 테스트 보안 엔드포인트

이 문서에서는 인증이 필요한 애플리케이션 엔드포인트에서 Azure Load Testing을 사용하는 방법을 알아봅니다. 애플리케이션 구현에 따라 인증 요청에 액세스 토큰, 사용자 자격 증명 또는 클라이언트 인증서를 사용할 수 있습니다.

Azure Load Testing은 인증된 엔드포인트에 대해 다음 옵션을 지원합니다.

필수 조건

  • 활성 구독이 있는 Azure 계정. Azure 구독이 아직 없는 경우 시작하기 전에 체험 계정을 만듭니다.
  • Azure Load Testing 리소스입니다. 부하 테스트 리소스를 만들려면 부하 테스트 만들기 및 실행을 참조하세요.

공유 암호 또는 자격 증명으로 인증

이 시나리오에서 애플리케이션 엔드포인트는 인증을 위해 액세스 토큰, API 키 또는 사용자 자격 증명과 같은 공유 암호를 사용해야 합니다.

다음 다이어그램은 공유 암호 또는 자격 증명을 사용하여 부하 테스트에서 애플리케이션 엔드포인트로 인증하는 방법을 보여 줍니다.

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

공유 비밀 또는 사용자 자격 증명을 사용하여 인증하는 흐름은 다음과 같습니다.

  1. 비밀 또는 자격 증명(예: Azure Key Vault 또는 CI/CD 비밀 저장소)을 안전하게 저장합니다.
  2. 부하 테스트 구성에서 비밀을 참조합니다.
  3. JMeter 스크립트에서 GetSecret 함수를 사용하여 비밀 값을 검색하고 비밀 값을 애플리케이션 요청에 전달합니다.

비밀을 안전하게 저장

JMeter 스크립트에 보안 정보를 저장 및 공개하지 않으려면 Azure Key Vault 또는 CI/CD 비밀 저장소에 비밀을 안전하게 저장할 수 있습니다.

다음 두 가지 방법 중 하나로 비밀 저장소에 보안 정보를 추가할 수 있습니다.

부하 테스트 구성에서 비밀을 참조합니다.

JMeter 테스트 스크립트에서 비밀 값을 검색하려면 부하 테스트 구성에서 비밀을 참조해야 합니다.

Azure Portal에서 Azure Key Vault에 저장된 비밀을 참조할 수 있습니다. Azure Portal에서 부하 테스트 비밀을 추가하고 구성하려면 다음을 수행합니다.

  1. Azure Portal에서 부하 테스트 리소스로 이동한 다음 테스트를 선택하여 부하 테스트 목록을 봅니다.

  2. 목록에서 테스트를 선택한 다음 편집을 선택하여 부하 테스트 구성을 편집합니다.

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

  3. 매개 변수 탭에서 암호 세부 정보를 입력합니다.

    필드
    이름 비밀 이름입니다. 이 이름을 GetSecret 함수에 제공하여 JMeter 스크립트에서 비밀 값을 검색합니다.
    Azure Key Vault 비밀 식별자와 일치합니다.

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

  4. 적용을 선택하여 부하 테스트 구성 변경 내용을 저장합니다.

JMeter 스크립트에서 비밀 값 검색 및 사용

이제 사용자 지정 GetSecret 함수를 사용하여 JMeter 스크립트에서 비밀 값을 검색하고 애플리케이션 요청에 전달할 수 있습니다. 예를 들어 Authorization HTTP 헤더를 사용하여 OAuth 토큰을 요청에 전달합니다.

  1. GetSecret 사용자 지정 함수를 사용하여 비밀 값을 검색하는 사용자 지정 변수를 만듭니다.

    GetSecret 함수는 Azure Key Vault 또는 CI/CD 비밀 저장소에서 값 검색을 추상화합니다.

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

  2. 요청에서 비밀을 전달하도록 JMeter 샘플러 구성 요소를 업데이트합니다.

    예를 들어, OAuth2 액세스 토큰을 제공하려면 HTTP Header Manager를 추가하여 Authorization HTTP 헤더를 구성합니다.

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

클라이언트 인증서로 인증

이 시나리오에서 애플리케이션 엔드포인트는 클라이언트 인증서를 사용하여 인증해야 합니다. Azure Load Testing은 PKCS12(공개 키 인증서 표준 #12) 형식의 인증서를 지원합니다. 부하 테스트에는 하나의 클라이언트 인증서만 사용할 수 있습니다.

다음 다이어그램은 클라이언트 인증서를 사용하여 부하 테스트에서 애플리케이션 엔드포인트로 인증하는 방법을 보여 줍니다.

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

클라이언트 인증서를 사용하여 인증하는 흐름은 다음과 같습니다.

  1. 클라이언트 인증서를 Azure Key Vault에 안전하게 저장합니다.
  2. 부하 테스트 구성에서 인증서를 참조합니다.
  3. Azure Load Testing은 JMeter의 모든 애플리케이션 요청에 인증서를 투명하게 전달합니다.

Azure Key Vault에 클라이언트 인증서 저장

JMeter 스크립트와 함께 클라이언트 인증서를 저장 및 공개하지 않으려면 인증서를 Azure Key Vault에 저장합니다.

Azure Key Vault에 인증서를 저장하려면 인증서 가져오기의 단계를 따릅니다.

Important

Azure Load Testing은 PKCS12 인증서만 지원합니다. 클라이언트 인증서를 PFX 파일 형식으로 업로드합니다.

Azure Key Vault에 대한 액세스 권한 부여

Azure Key Vault에 부하 테스트 비밀 또는 인증서를 저장하는 경우 부하 테스트 리소스는 키 자격 증명 모음에 액세스하기 위해 관리 ID를 사용합니다. 관리 ID를 구성한 후 키 자격 증명 모음에서 이러한 값을 읽으려면 부하 테스트 리소스 권한의 관리 ID를 부여해야 합니다.

Azure Key Vault에서 비밀 또는 인증서를 읽을 수 있는 Azure Load Testing 리소스 권한을 부여하려면 다음을 수행합니다.

  1. Azure Portal에서 Azure Key Vault 리소스로 이동합니다.

    Key Vault이 없으면 Azure Key Vault 빠른 시작의 지침에 따라 Key Vault을 만듭니다.

  2. 왼쪽 창에서 액세스 정책을 선택한 다음, 만들기를 선택합니다.

  3. 권한 탭의 비밀 권한에서 가져오기를 선택한 후 다음을 선택합니다.

    참고 항목

    Azure Load Testing은 인증서의 프라이빗 키를 사용할 수 있도록 인증서를 비밀로 검색합니다.

  4. 보안 주체 탭에서 부하 테스트 리소스에 대한 관리 ID를 검색하여 선택하고 다음을 선택합니다.

    시스템 할당 관리 ID를 사용하는 경우 관리 ID 이름은 Azure Load Testing 리소스의 이름과 일치합니다.

  5. 다음을 다시 선택합니다.

    테스트가 실행되면 부하 테스트 리소스와 연결된 관리 ID가 이제 키 자격 증명 모음에서 부하 테스트에 대한 비밀 또는 인증서를 읽을 수 있습니다.

부하 테스트 구성에서 인증서 참조

클라이언트 인증서를 애플리케이션 요청에 전달하려면 부하 테스트 구성에서 인증서를 참조해야 합니다.

Azure Portal에서 부하 테스트에 클라이언트 인증서를 추가하려면 다음을 수행합니다.

  1. Azure Portal에서 부하 테스트 리소스로 이동합니다. 아직 부하 테스트가 없는 경우 JMeter 스크립트를 사용하여 새 부하 테스트를 만듭니다.

  2. 왼쪽 창에서 테스트를 선택하여 부하 테스트 목록을 봅니다.

  3. 목록에서 테스트를 선택한 다음 편집을 선택하여 부하 테스트 구성을 편집합니다.

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

  4. 매개 변수 탭에서 인증서 세부 정보를 입력합니다.

    필드
    이름 인증서의 이름입니다.
    인증서의 Azure Key Vault 비밀 식별자와 일치합니다.

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

  5. 적용을 선택하여 부하 테스트 구성 변경 내용을 저장합니다.

부하 테스트를 실행하면 Azure Load Testing이 Azure Key Vault에서 클라이언트 인증서를 검색하고 JMeter 웹 요청에 자동으로 삽입합니다.