Konfigurowanie minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Service Bus

Azure Service Bus przestrzenie nazw umożliwiają klientom wysyłanie i odbieranie danych przy użyciu protokołu TLS 1.0 lub nowszego. Aby wymusić ostrzejsze środki zabezpieczeń, możesz skonfigurować przestrzeń nazw usługi Service Bus tak, aby wymagać, aby klienci wysyłali i odbierali dane przy użyciu nowszej wersji protokołu TLS. Jeśli przestrzeń nazw usługi Service Bus wymaga minimalnej wersji protokołu TLS, wszystkie żądania wysyłane ze starszą wersją będą wieść się niepowodzeniem. Aby uzyskać informacje koncepcyjne dotyczące tej funkcji, zobacz Wymuszanie minimalnej wymaganej wersji protokołu Transport Layer Security (TLS) dla żądań do przestrzeni nazw usługi Service Bus.

Minimalną wersję protokołu TLS można skonfigurować przy użyciu szablonu Azure Portal lub usługi Azure Resource Manager (ARM).

Określanie minimalnej wersji protokołu TLS w Azure Portal

Minimalną wersję protokołu TLS można określić podczas tworzenia przestrzeni nazw usługi Service Bus w Azure Portal na karcie Zaawansowane.

Zrzut ekranu przedstawiający stronę w celu ustawienia minimalnej wersji protokołu TLS podczas tworzenia przestrzeni nazw.

Możesz również określić minimalną wersję protokołu TLS dla istniejącej przestrzeni nazw na stronie Konfiguracja .

Zrzut ekranu przedstawiający stronę w celu ustawienia minimalnej wersji protokołu TLS dla istniejącej przestrzeni nazw.

Interfejs wiersza polecenia platformy Azure

Aby utworzyć przestrzeń nazw z minimalną wersją protokołu TLS ustawioną na 1.2, użyj az servicebus namespace create polecenia z ustawioną wartością --min-tls1.2.

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

Korzystanie z programu Azure PowerShell

Aby utworzyć przestrzeń nazw z minimalną wersją protokołu TLS ustawioną na 1.2, użyj New-AzServiceBusNamespace polecenia z ustawioną wartością -MinimumTlsVersion1.2.

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

Tworzenie szablonu w celu skonfigurowania minimalnej wersji protokołu TLS

Aby skonfigurować minimalną wersję protokołu TLS dla przestrzeni nazw usługi Service Bus, ustaw MinimumTlsVersion właściwość version na 1.0, 1.1 lub 1.2. Podczas tworzenia przestrzeni nazw usługi Service Bus przy użyciu szablonu MinimumTlsVersion usługi Azure Resource Manager właściwość jest domyślnie ustawiona na 1.2, chyba że jawnie ustawiono inną wersję.

Uwaga

Przestrzenie nazw utworzone przy użyciu interfejsu API w wersji wcześniejszej niż 2022-01-01-preview będą miały wartość 1.0 jako wartość .MinimumTlsVersion To zachowanie było wcześniejszą wartością domyślną i nadal istnieje w celu zapewnienia zgodności z poprzednimi wersjami.

W poniższych krokach opisano sposób tworzenia szablonu w Azure Portal.

  1. W Azure Portal wybierz pozycję Utwórz zasób.

  2. W polu Wyszukaj w witrynie Marketplace wpisz wdrożenie niestandardowe , a następnie naciśnij klawisz ENTER.

  3. Wybierz pozycję Wdrożenie niestandardowe (wdróż przy użyciu szablonów niestandardowych) (wersja zapoznawcza), wybierz pozycję Utwórz , a następnie wybierz pozycję Kompiluj własny szablon w edytorze.

  4. W edytorze szablonów wklej następujący kod JSON, aby utworzyć nową przestrzeń nazw i ustawić minimalną wersję protokołu TLS na TLS 1.2. Pamiętaj, aby zastąpić symbole zastępcze w nawiasach kątowych własnymi wartościami.

    {
        "$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. Zapisz szablon.

  6. Określ parametr grupy zasobów, a następnie wybierz przycisk Przejrzyj i utwórz , aby wdrożyć szablon i utworzyć przestrzeń nazw ze skonfigurowaną właściwością MinimumTlsVersion .

Uwaga

Po zaktualizowaniu minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Service Bus może upłynąć do 30 sekund, zanim zmiana zostanie w pełni rozpropagowana.

Skonfigurowanie minimalnej wersji protokołu TLS wymaga interfejsu API-version 2022-01-01-preview lub nowszego dostawcy zasobów Azure Service Bus.

Sprawdzanie minimalnej wymaganej wersji protokołu TLS dla przestrzeni nazw

Aby sprawdzić minimalną wymaganą wersję protokołu TLS dla przestrzeni nazw usługi Service Bus, możesz wykonać zapytanie dotyczące interfejsu API usługi Azure Resource Manager. Do wykonywania zapytań względem interfejsu API będzie potrzebny token elementu nośnego, który można pobrać przy użyciu obiektu ARMClient , wykonując następujące polecenia.

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

Po utworzeniu tokenu elementu nośnego możesz użyć poniższego skryptu w połączeniu z czymś, co przypomina klient REST , aby wykonać zapytanie dotyczące interfejsu 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}}

Odpowiedź powinna wyglądać podobnie do poniższej z wartością minimumTlsVersion ustawioną pod właściwościami.

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

Testowanie minimalnej wersji protokołu TLS od klienta

Aby przetestować, czy minimalna wymagana wersja protokołu TLS dla przestrzeni nazw usługi Service Bus zabrania wywołań wykonanych przy użyciu starszej wersji, można skonfigurować klienta do używania starszej wersji protokołu TLS. Aby uzyskać więcej informacji na temat konfigurowania klienta do używania określonej wersji protokołu TLS, zobacz Konfigurowanie protokołu Transport Layer Security (TLS) dla aplikacji klienckiej.

Gdy klient uzyskuje dostęp do przestrzeni nazw usługi Service Bus przy użyciu wersji protokołu TLS, która nie spełnia minimalnej wersji protokołu TLS skonfigurowanej dla przestrzeni nazw, Azure Service Bus zwraca kod błędu 401 (Brak autoryzacji) i komunikat wskazujący, że używana wersja protokołu TLS nie jest dozwolona do wykonywania żądań względem tej przestrzeni nazw usługi Service Bus.

Uwaga

Po skonfigurowaniu minimalnej wersji protokołu TLS dla przestrzeni nazw usługi Service Bus minimalna wersja jest wymuszana w warstwie aplikacji. Narzędzia, które próbują określić obsługę protokołu TLS w warstwie protokołu, mogą zwracać wersje protokołu TLS oprócz minimalnej wymaganej wersji po uruchomieniu bezpośrednio względem punktu końcowego przestrzeni nazw usługi Service Bus.

Następne kroki

Aby uzyskać więcej informacji, zobacz następującą dokumentację.