Freigeben über


Konfigurieren der TLS-Mindestversion für einen Service Bus-Namespace

Azure Service Bus-Namespaces ermöglichen Clients das Senden und Empfangen von Daten mit TLS 1.0 und höher. Wenn Sie strengere Sicherheitsmaßnahmen durchsetzen möchten, können Sie Ihren Service Bus-Namespace so konfigurieren, dass Clients Daten mit einer neueren TLS-Version senden und empfangen müssen. Wenn für einen Service Bus-Namespace eine TLS-Mindestversion erforderlich ist, verursachen alle Anforderungen mit einer älteren Version einen Fehler. Konzeptionelle Informationen zu dieser Funktion finden Sie unter Erzwingen der erforderliche Mindestversion der Transport Layer Security (TLS) für Anforderungen an einen Service Bus-Namespace.

Sie können die TLS-Mindestversion mithilfe des Azure-Portals oder einer Azure Resource Manager-Vorlage (ARM) konfigurieren.

Warnung

Ab dem 28. Februar 2025 werden TLS 1.0 und TLS 1.1 in Azure Service Bus nicht mehr unterstützt. Die Mindestversion von TLS ist dann 1.2 für alle Service Bus-Bereitstellungen.

Wichtig

Am 31. Oktober 2024 wird TLS 1.3 für AMQP-Datenverkehr aktiviert. TLS 1.3 wurde bereits für HTTPS-Datenverkehr aktiviert. Java-Clients haben möglicherweise ein Problem mit TLS 1.3 aufgrund einer Abhängigkeit von einer älteren Version von Proton-J. Ausführlichere Informationen finden Sie unter Java-Clientänderungen zur Unterstützung von TLS 1.3 mit Azure Service Bus und Azure Event Hubs.

Angeben der TLS-Mindestversion im Azure-Portal

Sie können die TLS-Mindestversion angeben, wenn Sie einen Service Bus-Namespace im Azure-Portal auf der Registerkarte Erweitert erstellen.

Screenshot: Seite zum Festlegen der TLS-Mindestversion beim Erstellen eines Namespace

Sie können auch die TLS-Mindestversion für einen vorhandenen Namespace auf der Konfigurationsseite angeben.

Screenshot: Seite zum Festlegen der TLS-Mindestversion für einen vorhandenen Namespace

Mithilfe der Azure-Befehlszeilenschnittstelle

Verwenden Sie zum Erstellen eines Namespaces mit einer TLS-Mindestversion von 1.2 den Befehl az servicebus namespace create, wobei --min-tls auf 1.2 gesetzt ist.

az servicebus namespace create \
    --name mynamespace \
    --resource-group myresourcegroup \
    --min-tls 1.2

Mithilfe von Azure PowerShell

Verwenden Sie zum Erstellen eines Namespaces mit einer TLS-Mindestversion von 1.2 den Befehl New-AzServiceBusNamespace, wobei -MinimumTlsVersion auf 1.2 gesetzt ist.

New-AzServiceBusNamespace `
    -ResourceGroup myresourcegroup `
    -Name mynamespace `
    -MinimumTlsVersion 1.2

Erstellen einer Vorlage zum Konfigurieren der TLS-Mindestversion

Legen Sie die MinimumTlsVersion-Versionseigenschaft auf 1.0, 1.1 oder 1.2 fest, um die TLS-Mindestversion für einen Service Bus-Namespace zu konfigurieren. Wenn Sie einen Service Bus-Namespace mit einer Azure Resource Manager-Vorlage erstellen, wird die MinimumTlsVersion-Eigenschaft standardmäßig auf 1.2 festgelegt, sofern nicht explizit auf eine andere Version festgelegt wird.

Hinweis

Namespaces, die mit einer API-Version vor 2022-01-01-preview erstellt wurden, weisen 1.0 als Wert für MinimumTlsVersion auf. Dieses Verhalten war der vorherige Standardwert und ist weiterhin aus Gründen der Abwärtskompatibilität vorhanden.

Die folgenden Schritte beschreiben, wie eine Vorlage im Azure-Portal erstellt wird.

  1. Klicken Sie im Azure-Portal auf Ressource erstellen.

  2. Geben Sie unter Marketplace durchsuchenbenutzerdefinierte Bereitstellung ein, und drücken Sie dann die EINGABETASTE.

  3. Wählen Sie Benutzerdefinierte Bereitstellung (Bereitstellen mit benutzerdefinierten Vorlagen) (Vorschau), dann Erstellen und anschließend die Option Eigene Vorlage im Editor erstellen aus.

  4. Fügen Sie im Vorlagen-Editor den folgenden JSON-Code ein, um einen neuen Namespace zu erstellen, und legen Sie die TLS-Mindestversion auf TLS 1.2 fest. Denken Sie daran, die Platzhalter in eckigen Klammern durch Ihre eigenen Werte zu ersetzen.

    {
        "$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": {}
            }
        ]
    }
    
  5. Speichern Sie die Vorlage.

  6. Geben Sie den Ressourcengruppenparameter an, wählen Sie dann die Schaltfläche Überprüfen und erstellen aus, um die Vorlage bereitzustellen und einen Namespace mit der konfigurierten Eigenschaft MinimumTlsVersion zu erstellen.

Hinweis

Nachdem Sie die TLS-Mindestversion für den Service Bus-Namespace aktualisiert haben, kann es bis zu 30 Sekunden dauern, bis die Änderung vollständig weitergegeben wurde.

Die Konfiguration der TLS-Mindestversion erfordert die API-Version 2022-01-01-preview oder höher des Azure Service Bus-Ressourcenanbieters.

Überprüfen der erforderlichen TLS-Mindestversion für einen Namespace

Um die mindestens erforderliche TLS-Version für Ihren Service Bus-Namespace zu überprüfen, können Sie die Azure Resource Manager-API abfragen. Sie benötigen ein Bearertoken, um die API abzufragen, das Sie mithilfe von ARMClient abrufen können, indem Sie die folgenden Befehle ausführen.

.\ARMClient.exe login
.\ARMClient.exe token <your-subscription-id>

Sobald Sie über Ihr Bearertoken verfügen, können Sie das folgende Skript in Kombination mit einem REST-Client verwenden, um die API abzufragen.

@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}}

Die Antwort sollte ähnlich wie unten gezeigt aussehen, wobei die minimumTlsVersion unter den Eigenschaften festgelegt wird.

{
  "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"
  }
}

Testen der TLS-Mindestversion auf einem Client

Wenn Sie testen möchten, ob mit einer älteren Version durchgeführte Aufrufe durch die erforderliche TLS-Mindestversion für einen Service Bus-Namespace verhindert werden, können Sie einen Client für die Verwendung einer älteren TLS-Version konfigurieren. Weitere Informationen zum Konfigurieren eines Clients für die Verwendung einer bestimmten TLS-Version finden Sie unter Konfigurieren der Transport Layer Security (TLS) für eine Clientanwendung.

Wenn ein Client auf einen Service Bus-Namespace über eine TLS-Version zugreift, die nicht der für den Namespace konfigurierten TLS-Mindestversion entspricht, gibt Azure Service Bus einen Fehlercode 401 zurück (Nicht autorisiert). Zudem wird in einer Meldung darauf hingewiesen, dass die verwendete TLS-Version für Anforderungen an diesen Service Bus-Namespace nicht zulässig ist.

Hinweis

Wenn Sie eine TLS-Mindestversion für einen Service Bus-Namespace konfigurieren, wird diese Mindestversion auf Anwendungsebene erzwungen. Tools, die versuchen, die TLS-Unterstützung auf der Protokollebene zu ermitteln, geben möglicherweise zusätzlich zur mindestens erforderlichen Version TLS-Versionen zurück, wenn sie direkt auf dem Endpunkt des Service Bus-Namespace ausgeführt werden.

Nächste Schritte

Weitere Informationen finden Sie in der folgenden Dokumentation.