Service Bus クライアント アプリケーションのトランスポート層セキュリティ (TLS) を構成する

セキュリティのため、Azure Service Bus 名前空間では、クライアントが最小バージョンのトランスポート層セキュリティ (TLS) を使用して要求を送信することが必要となる場合があります。 クライアントで、必要とされる最小バージョンよりも古いバージョンの TLS が使用されている場合、Azure Service Bus の呼び出しは失敗します。 たとえば、名前空間に TLS 1.2 が必要な場合、TLS 1.1 を使用しているクライアントから送信された要求は失敗します。

この記事では、特定のバージョンの TLS を使用するようにクライアント アプリケーションを構成する方法について説明します。 Azure Service Bus 名前空間に必要な最小バージョンの TLS を構成する方法については、「Service Bus 名前空間への要求に必要な最小バージョンのトランスポート層セキュリティ (TLS) の適用」を参照してください。

クライアント TLS バージョンを構成する

クライアントが特定のバージョンの TLS を使用して要求を送信するには、オペレーティング システムでそのバージョンがサポートされている必要があります。

次の例では、.NET からクライアントの TLS バージョンを 1.2 に設定する方法を示します。 クライアントによって使用される .NET Framework で、TLS 1.2 がサポートされている必要があります。 詳細については、「TLS 1.2 のサポート」を参照してください。

次のサンプルは、Service Bus の Azure.Messaging.ServiceBus クライアント ライブラリを使用して .NET クライアントで TLS 1.2 を有効にする方法を示しています。

{
    // Enable TLS 1.2 before connecting to Service Bus
    System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
    
    // Connection string to your Service Bus namespace
    string connectionString = "<NAMESPACE CONNECTION STRING>";
    
    // Name of your Service Bus queue
    string queueName = "<QUEUE NAME>";

    // The client that owns the connection and can be used to create senders and receivers
    static ServiceBusClient client = new ServiceBusClient(connectionString);
    
    // The sender used to publish messages to the queue
    ServiceBusSender sender = client.CreateSender(queueName);
    
    // Use the producer client to send a message to the Service Bus queue
    await sender.SendMessagesAsync(new ServiceBusMessage($"Message for TLS check")));
}

クライアントによって使用される TLS のバージョンを確認する

指定されたバージョンの TLS がクライアントによって要求の送信に使用されたことを確認するには、Fiddler または同様のツールを使用できます。 Fiddler を開いてクライアントのネットワーク トラフィックのキャプチャを開始してから、前のセクションの例から 1 つを実行します。 Fiddler トレースを調べて、正しいバージョンの TLS が要求の送信に使用されたことを確認してください。

次のステップ

詳細については、以下のドキュメントを参照してください。