Event Hubs 네임스페이스의 최소 TLS 버전 구성
Azure Event Hubs 네임스페이스를 사용하면 클라이언트가 TLS 1.0 이상을 사용하여 데이터를 보내고 받을 수 있습니다. 보다 엄격한 보안 조치를 적용하기 위해 클라이언트가 최신 버전의 TLS를 사용하여 데이터를 보내고 받도록 Event Hubs 네임스페이스를 구성할 수 있습니다. Event Hubs 네임스페이스에 최소 버전의 TLS가 필요한 경우 이전 버전을 사용하여 수행한 요청은 실패합니다. 이 기능에 대한 개념 정보는 Event Hubs 네임스페이스에 대한 요청에 필요한 최소 버전의 TLS(전송 계층 보안) 적용을 참조하세요.
Azure Portal 또는 ARM(Azure Resource Manager) 템플릿을 사용하여 최소 TLS 버전을 구성할 수 있습니다.
Azure Portal에서 최소 TLS 버전 지정
고급 탭의 Azure Portal에서 Event Hubs 네임스페이스를 만들 때 최소 TLS 버전을 지정할 수 있습니다.
구성 페이지에서 기존 네임스페이스에 대한 최소 TLS 버전을 지정할 수도 있습니다.
최소 TLS 버전을 구성하기 위한 템플릿 만들기
템플릿을 사용하여 Event Hubs 네임스페이스에 대한 최소 TLS 버전을 구성하려면 MinimumTlsVersion
속성이 1.0, 1.1 또는 1.2로 설정된 템플릿을 만듭니다. Azure Resource Manager 템플릿을 사용하여 Event Hubs 네임스페이스를 만들 때 다른 버전으로 명시적으로 설정하지 않는 한 MinimumTlsVersion
속성은 기본적으로 1.2로 설정됩니다.
참고 항목
2022-01-01-preview 이전의 api-version을 사용하여 만들어진 네임스페이스는 MinimumTlsVersion
의 값으로 1.0을 갖습니다. 이 동작은 이전 기본값이었고 여전히 이전 버전과의 호환성을 위해 존재합니다.
다음 단계는 Azure Portal에서 템플릿을 만드는 방법을 보여 줍니다.
Azure Portal에서 리소스 만들기를 선택합니다.
Marketplace 검색에서 사용자 지정 배포를 입력한 다음, Enter 키를 누릅니다.
사용자 지정 배포(사용자 지정 템플릿을 사용하여 배포) (미리 보기)를 선택하고 만들기를 선택한 다음, 편집기에서 사용자 고유의 템플릿 빌드를 선택합니다.
템플릿 편집기에서 다음 JSON을 붙여넣어 새 네임스페이스를 만들고 최소 TLS 버전을 TLS 1.2로 설정합니다. 꺾쇠 괄호로 묶인 자리 표시자 값을 사용자 고유의 값으로 바꿔야 합니다.
{ "$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": {}, "variables": { "eventHubNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]" }, "resources": [ { "name": "[variables('eventHubNamespaceName')]", "type": "Microsoft.EventHub/namespaces", "apiVersion": "2022-01-01-preview", "location": "westeurope", "properties": { "minimumTlsVersion": "1.2" }, "dependsOn": [], "tags": {} } ] }
템플릿을 저장하는 경우
리소스 그룹 매개 변수를 지정한 다음, 검토 + 만들기 단추를 선택하여 템플릿을 배포하고
MinimumTlsVersion
속성이 구성된 네임스페이스를 만듭니다.
참고 항목
Event Hubs 네임스페이스에 대한 최소 TLS 버전을 업데이트한 후 변경 내용이 완전히 전파되기까지 최대 30초가 걸릴 수 있습니다.
최소 TLS 버전을 구성하려면 Azure Event Hubs 리소스 공급자의 api-version 2022-01-01-preview 이상이 필요합니다.
네임스페이스에 필요한 최소 TLS 버전 확인
Event Hubs 네임스페이스에 필요한 최소 TLS 버전을 확인하기 위해 Azure Resource Manager API를 쿼리할 수 있습니다. 다음 명령을 실행하여 ARMClient 앱을 사용하여 검색할 수 있는 API에 대해 쿼리하려면 전달자 토큰이 필요합니다.
.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>
전달자 토큰이 있으면 REST 클라이언트와 함께 아래 스크립트를 사용하여 API를 쿼리할 수 있습니다.
@token = Bearer <Token received from ARMClient>
@subscription = <your-subscription-id>
@resourceGroup = <your-resource-group-name>
@namespaceName = <your-namespace-name>
###
GET https://management.azure.com/subscriptions/{{subscription}}/resourceGroups/{{resourceGroup}}/providers/Microsoft.EventHub/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}
속성 아래에 minimumTlsVersion이 설정된 상태에서 아래와 같이 표시되어야 합니다.
{
"sku": {
"name": "Premium",
"tier": "Premium",
"capacity": 1
},
"id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.EventHub/namespaces/<your-namespace-name>",
"name": "<your-namespace-name>",
"type": "Microsoft.EventHub/Namespaces",
"location": "West Europe",
"properties": {
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": true,
"isAutoInflateEnabled": false,
"maximumThroughputUnits": 0,
"kafkaEnabled": true,
"provisioningState": "Succeeded",
"status": "Active"
}
}
클라이언트에서 최소 TLS 버전 테스트
Event Hubs 네임스페이스에 필요한 최소 TLS 버전이 이전 버전을 사용한 호출을 금지하는지 테스트하기 위해 이전 버전의 TLS를 사용하도록 클라이언트를 구성할 수 있습니다. 특정 버전의 TLS를 사용하도록 클라이언트를 구성하는 방법에 대한 자세한 내용은 클라이언트 애플리케이션에 대한 TLS(전송 계층 보안) 구성을 참조하세요.
클라이언트가 네임스페이스에 대해 구성된 최소 TLS 버전을 충족하지 않는 TLS 버전을 사용하여 Event Hubs 네임스페이스에 액세스하는 경우 Azure Event Hubs는 오류 코드 401(권한 없음)을 반환하고 사용된 TLS 버전이 이 Event Hubs 네임스페이스에 대한 요청을 수행할 수 없음을 나타내는 메시지를 반환합니다.
참고 항목
Confluent 라이브러리의 제한으로 인해 Kafka 프로토콜을 통해 연결할 때 잘못된 TLS 버전에서 발생하는 오류가 나타나지 않습니다. 대신 일반 예외가 표시됩니다.
참고 항목
Event Hubs 네임스페이스에 대한 최소 TLS 버전을 구성하면 해당 최소 버전이 애플리케이션 계층에서 적용됩니다. 프로토콜 계층에서 TLS 지원을 확인하려는 도구는 Event Hubs 네임스페이스 엔드포인트에 대해 직접 실행할 때 필요한 최소 버전 외에 TLS 버전을 반환할 수 있습니다.
다음 단계
자세한 내용은 다음 문서를 참조하십시오.