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 を開いてクライアントのネットワーク トラフィックのキャプチャを開始してから、前のセクションの例から 1 つを実行します。 Fiddler トレースを調べて、正しいバージョンの TLS が要求の送信に使用されたことを確認してください。
次のステップ
詳細については、以下のドキュメントを参照してください。