Azure Service Bus 名前空間を使用すると、クライアントは TLS 1.2 以降でデータを送受信できます。 より厳密なセキュリティ対策を実施するために、クライアントで新しいバージョンの TLS を使用してデータを送受信することを要求するように、Service Bus 名前空間を構成することができます。 Service Bus 名前空間で最小バージョンの TLS が要求されている場合、それより古いバージョンで行われた要求はすべて失敗します。 この機能に関してのコンセプトの詳細については、Service Bus 名前空間への要求に必要な最小バージョンのトランスポート層セキュリティ (TLS) の適用を参照してください。
最小 TLS バージョンは、Azure portal または Azure Resource Manager (ARM) テンプレートを使用して構成できます。
警告
2025 年 2 月 28 日の時点で、TLS 1.0 と TLS 1.1 は Azure Service Bus でサポートされなくなります。 TLS の最小バージョンは、すべての Service Bus デプロイについて 1.2 になります。
Azure portal で TLS の最小バージョンを指定する
Azure portal の 詳細 タブで Service Bus 名前空間を作成するときに、最小 TLS バージョンを指定できます。
構成 ページで、既存の名前空間の最小 TLS バージョンを指定することもできます。
Azure CLI の使用
最小 TLS バージョンが 1.3 に設定された名前空間を作成するには、az servicebus namespace create
コマンドを使用し、--min-tls
を 1.3
に設定します。
az servicebus namespace create \
--name mynamespace \
--resource-group myresourcegroup \
--min-tls 1.3
Azure PowerShell の使用
最小 TLS バージョンが 1.3 に設定された名前空間を作成するには、New-AzServiceBusNamespace
コマンドを使用し、-MinimumTlsVersion
を 1.3
に設定します。
New-AzServiceBusNamespace `
-ResourceGroup myresourcegroup `
-Name mynamespace `
-MinimumTlsVersion 1.3
最小 TLS バージョンを構成するためのテンプレートの作成
Service Bus 名前空間の最小 TLS バージョンを構成するには、 MinimumTlsVersion
version プロパティを 1.2 または 1.3 に設定します。 Azure Resource Manager テンプレートを使用して Service Bus 名前空間を作成する場合、MinimumTlsVersion
プロパティは、別のバージョンに明示的に設定されていない限り、既定で 1.2 に設定されます。
注意
2022-01-01-preview より前の api-version を使用して作成された名前空間は、MinimumTlsVersion
の値が 1.0 になります。 この動作は以前の既定値であり、下位互換性のために残されています。
次の手順は、Azure portal でテンプレートを作成する方法について説明しています。
Azure portal で、 [リソースの作成] を選択します。
[Marketplace を検索] で「custom deployment」と入力し、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": { "serviceBusNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]" }, "resources": [ { "name": "[variables('serviceBusNamespaceName')]", "type": "Microsoft.ServiceBus/namespaces", "apiVersion": "2022-01-01-preview", "___location": "westeurope", "properties": { "minimumTlsVersion": "1.2" }, "dependsOn": [], "tags": {} } ] }
テンプレートを保存します。
リソース グループ パラメーターを指定し、[レビューと作成] ボタンを選択してテンプレートをデプロイし、
MinimumTlsVersion
プロパティが構成された名前空間を作成します。
注意
Service Bus 名前空間の最小 TLS バージョンを更新した後、変更が完全に反映されるまでに最大で 30 秒かかることがあります。
最小 TLS バージョンを構成するには、api-version 2022-01-01-preview 以降の Azure Service Bus リソース プロバイダーが必要です。
名前空間に必要な TLS の最小バージョンを確認する
Service Bus 名前空間に必要な TLS の最小バージョンを確認するには、Azure Resource Manager API にクエリを実行します。 この API にクエリを実行するには、次のコマンドを実行することで ARMClient を使用して取得できるベアラー トークンが必要です。
.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>
ベアラー トークンを取得した後、次のスクリプトと REST Client など任意のものを組み合わせて使用して 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.ServiceBus/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}
応答は次のようになります。minimumTlsVersion は、properties の下で設定されています。
{
"sku": {
"name": "Premium",
"tier": "Premium"
},
"id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.ServiceBus/namespaces/<your-namespace-name>",
"name": "<your-namespace-name>",
"type": "Microsoft.ServiceBus/Namespaces",
"___location": "West Europe",
"tags": {},
"properties": {
"minimumTlsVersion": "1.2",
"publicNetworkAccess": "Enabled",
"disableLocalAuth": false,
"zoneRedundant": false,
"provisioningState": "Succeeded",
"status": "Active"
}
}
クライアントで使用される TLS バージョン
Service Bus 名前空間に必要な TLS の最小バージョンにより、旧バージョンで行われた呼び出しが禁止されることをテストするには、旧バージョンの TLS を使用するようにクライアントを構成します。
注意
ランタイムは、クライアント アプリケーションのホスト コンピューターで使用可能な最新の TLS バージョンを自動的に使用します。 この動作を上書きしないことをお勧めします。 詳細については、「 TLS バージョンの選択」を参照してください。
クライアントが、名前空間に構成されている TLS の最小バージョンを満たしていない TLS バージョンを使用して Service Bus 名前空間にアクセスすると、Azure Service Bus はエラー コード 401 (未承認) と、使用された TLS バージョンがこの Service Bus 名前空間に対する要求を行うことを許可されていないことを示すメッセージを返します。
注意
Service Bus 名前空間の最小 TLS バージョンを構成すると、その最小バージョンがアプリケーション層で適用されます。 プロトコル層で TLS のサポートを確認しようとするツールは、Service Bus 名前空間エンドポイントに対して直接実行された場合、最低限必要なバージョンに加えて、TLS バージョンを返す場合があります。
次のステップ
詳細については、以下のドキュメントを参照してください。