다음을 통해 공유


Event Hubs 클라이언트 애플리케이션에 대한 TLS(전송 계층 보안) 구성

보안을 위해 Azure Event Hubs 네임스페이스는 클라이언트가 요청을 보내기 위해 최소 버전의 TLS(전송 계층 보안)를 사용하도록 요구할 수 있습니다. 클라이언트가 최소 필수 버전보다 낮은 버전의 TLS를 사용하는 경우 Azure Event Hubs에 대한 호출이 실패합니다. 예를 들어 네임스페이스에 TLS 1.2가 필요한 경우 TLS 1.1을 사용하는 클라이언트가 보낸 요청은 실패합니다.

이 문서에서는 특정 버전의 TLS를 사용하도록 클라이언트 애플리케이션을 구성하는 방법을 설명합니다. Azure Event Hubs 네임스페이스에 필요한 최소 버전의 TLS를 구성하는 방법에 대한 자세한 내용은 Event Hubs 네임스페이스에 대한 요청에 대해 최소 필수 버전의 TLS(전송 계층 보안) 적용을 참조하세요.

클라이언트 TLS 버전 구성

클라이언트에서 특정 버전의 TLS를 사용하여 요청을 보내려면 운영 체제에서 해당 버전을 지원해야 합니다.

다음 예는 .NET에서 클라이언트의 TLS 버전을 1.2로 설정하는 방법을 보여 줍니다. 클라이언트에서 사용하는 .NET Framework는 TLS 1.2를 지원해야 합니다. 자세한 내용은 TLS 1.2에 대한 지원을 참조하세요.

다음 샘플은 Event Hubs의 Azure.Messaging.ServiceBus 클라이언트 라이브러리를 사용하여 .NET 클라이언트에서 TLS 1.2를 사용하도록 설정하는 방법을 보여 줍니다.

{
    // Enable TLS 1.2 before connecting to Event Hubs
    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;

    // Connection string to your Event Hubs namespace
    string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // Name of your Event Hub
    string eventHubName = "<EVENT HUB NAME>";
    
    // The sender used to publish messages to the queue
    var producer = new EventHubProducerClient(connectionString, eventHubName);
    
    // Use the producer client to send a message to the Event Hubs queue
    using EventDataBatch eventBatch = await producer.CreateBatchAsync();
    var eventData = new EventData("This is an event body");

    if (!eventBatch.TryAdd(eventData))
    {
        throw new Exception($"The event could not be added.");
    }
}

클라이언트에서 사용하는 TLS 버전 확인

지정된 버전의 TLS가 클라이언트에서 요청을 전송하는 데 사용되었는지 확인할 때 Fiddler 또는 유사한 도구를 사용할 수 있습니다. Fiddler를 열어 클라이언트 네트워크 트래픽 캡처를 시작한 다음, 이전 섹션의 예제 중 하나를 실행합니다. Fiddler 추적을 보고 요청을 보내는 데 올바른 버전의 TLS가 사용되었는지 확인합니다.

다음 단계

자세한 내용은 다음 설명서를 참조하세요.