Azure Load Testing은 부하 테스트 시나리오 중에 보안 통신을 위해 여러 인증서 사용을 지원합니다. 이 문서에서는 여러 인증서를 JKS(Java KeyStore) 파일로 통합하고, AKV(Azure Key Vault)에 키 저장소 암호를 안전하게 저장하고, JKS 파일을 사용하도록 Azure Load Testing을 구성하는 방법을 설명합니다.
필수 조건
시작하기 전에 다음을 확인합니다.
- 비밀을 저장하도록 Azure Key Vault 인스턴스가 설정되어 있습니다.
- Azure Load Testing 리소스의 MI(관리 ID) 가 구성되어 있습니다.
- 필요한 모든 인증서를 포함하는 JKS(Java KeyStore) 파일을 만들었습니다.
- JKS 암호를 Azure Key Vault에 비밀로 저장했습니다.
여러 인증서를 구성하는 단계
1단계: JKS 파일 만들기 및 보호
-
keytool 유틸리티를 사용하여 JKS 파일을 만들고 필요한 모든 인증서를 가져옵니다.
keytool -importcert -file <certificate-file> -keystore <keystore-name>.jks -alias <alias-name>
- JKS 파일의 암호를 Azure Key Vault에 비밀로 저장합니다.
- Azure Portal을 열고 Key Vault로 이동합니다.
- 개체 > 비밀 > 생성/가져오기를 선택합니다.
- JKS 파일의 이름과 암호를 입력한 다음 만들기를 클릭합니다.
2단계: Azure Load Testing 관리 ID에 대한 액세스 할당
- Azure Portal에서 Azure Key Vault 리소스로 이동하여 왼쪽 창에서 액세스 정책을 선택한 다음 + 만들기를 클릭합니다.
- 사용 권한 탭에서 다음을 수행합니다.
- 비밀 권한에서 가져오기를 선택합니다.
- 다음을 클릭합니다.
-
주요 탭에서 다음을 수행합니다.
- 부하 테스트 리소스에 대한 관리 ID를 검색하고 선택합니다.
- 다음을 클릭합니다.
- 시스템 할당 관리 ID를 사용하는 경우 관리 ID 이름이 Azure Load Testing 리소스의 이름과 일치합니다.
- 액세스 정책 구성을 완료하려면 [다음 ]을 다시 클릭합니다.
테스트가 실행되면 부하 테스트 리소스와 연결된 관리 ID가 이제 Key Vault에서 부하 테스트에 대한 비밀을 읽을 수 있습니다. 이제 Azure Key Vault에 비밀을 추가하고 부하 테스트에 대한 비밀을 구성했으므로 Apache JMeter에서 비밀을 사용하도록 이동합니다.
3단계: 키 저장소 구성 및 JSR223 전처리기 사용
키 저장소 구성
- JMeter 스크립트에서 Keystore 구성 요소를 추가하여 SSL 인증서를 관리합니다.
- 테스트 계획 > 구성 요소 > 키 저장소 구성 추가>로 이동합니다.
- JKS 파일의 인증서 별칭과 일치하도록 별칭 필드를 설정합니다.
동적 SSL 구성을 위한 JSR223 전처리기
-
JSR223 PreProcessor를 추가하여 런타임에 SSL 속성을 동적으로 구성합니다.
- 스레드 그룹 >으로 이동하여 > 전처리기 추가 > JSR223 전처리기를 선택하십시오.
- 언어를 Java로 설정합니다.
- 다음 스크립트를 추가합니다.
System.setProperty("javax.net.ssl.keyStoreType", "PKCS12"); System.setProperty("javax.net.ssl.keyStore", "<path-to-your-keystore>"); System.setProperty("javax.net.ssl.keyStorePassword", "<keystore-password>");
-
path-to-your-keystore
및keystore-password
을 실제 키 저장소 파일 경로와 암호로 교체하십시오.
4단계: 인증서를 순회하는 CSV 데이터 세트 설정 추가
- JMeter 스크립트에서 CSV 데이터 집합 구성 요소를 추가하여 JKS 파일의 인증서를 반복합니다.
- 테스트 계획 > 추가 > 구성 요소 > CSV 데이터 세트 구성으로 이동합니다.
- 다음 필드를 구성합니다.
- 파일 이름: 인증서 별칭을 포함하는 CSV 파일의 경로입니다.
- 변수 이름: 변수의 이름(예: certificateAlias).
- JKS 파일의 인증서 별칭 목록을 사용하여 CSV 파일을 만듭니다. 각 별칭은 새 줄에 있어야 합니다.
- 키 저장소 구성 또는 스크립트에서 변수(예: ${certificateAlias})를 사용하여 테스트 실행 중에 현재 인증서 별칭을 동적으로 참조합니다.
5단계: 테스트 파일 업로드
- Azure Portal에서 Azure Load Testing 리소스로 이동하여 새 테스트 만들기 워크플로를 시작합니다.
- 다음 파일을 업로드합니다.
- JKS 파일입니다.
- JMeter 테스트 스크립트입니다.
- 인증서 별칭이 있는 CSV 파일입니다.
6단계: 매개 변수 구성
- 테스트 만들기 워크플로의 매개 변수 탭으로 이동합니다.
- JKS 암호에 대한 비밀을 추가합니다.
- 이름: Azure Key Vault의 비밀 이름입니다.
- 값: Key Vault URL(예: https://
key-vault-name
.vault.azure.net/secrets/secret-name
)입니다.
- Key Vault 비밀에 액세스할 Azure Load Testing 리소스의 관리 ID를 지정하여 Key Vault 참조 ID를 구성합니다.
모든 구성을 검토하여 정확성을 확인합니다. 테스트 만들기를 클릭하여 테스트를 완료하고 실행합니다.