Azure Load Testing 미리 보기를 사용하여 보안 엔드포인트 부하 테스트

이 문서에서는 Azure Load Testing Preview를 사용하여 테스트 보안 애플리케이션을 로드하는 방법을 알아봅니다. 보안 애플리케이션은 엔드포인트에 액세스하려면 인증이 필요합니다. Azure Load Testing을 사용하면 공유 비밀 또는 자격 증명을 사용하여 엔드포인트로 인증하거나클라이언트 인증서를 사용하여 인증할 수 있습니다.

중요

Azure Load Testing은 현재 미리 보기로 제공됩니다. 베타, 미리 보기 또는 아직 일반 공급으로 릴리스되지 않은 Azure 기능에 적용되는 법적 조건은 Microsoft Azure Preview에 대한 추가 사용 약관을 참조하세요.

사전 요구 사항

공유 비밀 또는 자격 증명으로 인증

이 시나리오에서 애플리케이션 엔드포인트는 액세스 토큰, API 키 또는 사용자 자격 증명과 같은 공유 비밀을 사용하여 인증해야 합니다. JMeter 스크립트에서 각 애플리케이션 요청과 함께 이 보안 정보를 제공해야 합니다. 예를 들어 OAuth 2.0을 사용하는 웹 엔드포인트를 로드하려면 액세스 토큰이 포함된 헤더를 HTTP 요청에 추가 Authorization 합니다.

다음 다이어그램에서는 공유 비밀 또는 자격 증명을 사용하여 부하 테스트에서 애플리케이션 엔드포인트로 인증하는 방법을 보여 있습니다. JMeter 스크립트에 보안 정보를 저장하고 공개하지 않도록 하려면 Azure Key Vault 또는 CI/CD 비밀 저장소에 비밀을 안전하게 저장할 수 있습니다. 그런 다음 JMeter 스크립트에서 사용자 지정 JMeter 함수 GetSecret 를 사용하여 비밀 값을 검색합니다. 마지막으로 애플리케이션 엔드포인트에 대한 JMeter 요청에서 비밀 값을 지정합니다.

Azure Load Testing에서 공유 비밀 인증을 사용하는 방법을 보여 주는 다이어그램

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

  2. 부하 테스트 구성에 비밀을 추가합니다.

    Azure Portal 부하 테스트에 비밀을 추가하려면 다음을 수행합니다.

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

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

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

      Azure Portal 부하 테스트를 편집하는 방법을 보여 주는 스크린샷

    4. 매개 변수 탭에서 비밀의 세부 정보를 입력합니다.

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

      Azure Portal 부하 테스트에 비밀을 추가하는 방법을 보여 주는 스크린샷

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

  3. 비밀 값을 검색하도록 JMeter 스크립트를 업데이트합니다.

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

      JMeter에서 GetSecret 함수를 사용하는 사용자 정의 변수를 추가하는 방법을 보여 주는 스크린샷

    2. 요청에 비밀을 전달하도록 JMeter 샘플러 구성 요소를 업데이트합니다. 예를 들어 OAuth2 액세스 토큰을 제공하려면 HTTP 헤더를 Authorization 구성합니다.

      JMeter의 요청에 권한 부여 헤더를 추가하는 방법을 보여 주는 스크린샷

이제 부하 테스트를 실행하면 JMeter 스크립트는 비밀 저장소에서 비밀 정보를 검색하고 애플리케이션 엔드포인트를 사용하여 인증할 수 있습니다.

클라이언트 인증서를 사용하여 인증

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

다음 다이어그램에서는 클라이언트 인증서를 사용하여 부하 테스트에서 애플리케이션 엔드포인트로 인증하는 방법을 보여줍니다. JMeter 스크립트와 함께 클라이언트 인증서를 저장하고 공개하지 않도록 하려면 Azure Key Vault 인증서를 저장합니다. 부하 테스트를 실행하면 Azure Load Testing이 키 자격 증명 모음에서 인증서를 읽고 JMeter에 자동으로 전달합니다. 그런 다음 JMeter는 모든 애플리케이션 요청에서 인증서를 투명하게 전달합니다. 클라이언트 인증서를 사용하도록 JMeter 스크립트를 업데이트할 필요가 없습니다.

Azure Load Testing에서 클라이언트 인증서 인증을 사용하는 방법을 보여 주는 다이어그램

  1. 인증서 가져오기의 단계에 따라 Azure Key Vault 인증서를 저장합니다.

    중요

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

  2. 부하 테스트 리소스에 키 자격 증명 모음에서 인증서를 검색할 수 있는 권한이 있는지 확인합니다.

    Azure Load Testing은 인증서를 비밀로 검색하여 인증서의 프라이빗 키를 사용할 수 있는지 확인합니다. Azure Key Vault 부하 테스트 리소스에 비밀 가져오기 권한을 할당합니다.

  3. 부하 테스트 구성에 인증서를 추가합니다.

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

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

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

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

      Azure Portal 부하 테스트를 편집하는 방법을 보여 주는 스크린샷

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

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

      Azure Portal 부하 테스트에 인증서를 추가하는 방법을 보여 주는 스크린샷

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

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

다음 단계