Поделиться через


Настройка минимальной версии TLS для пространства служебной шины

В пространстве имен служебной шины Azure клиентам разрешается отправлять и получать данные с использованием протокола TLS 1.0 и последующих версий. Чтобы обеспечить более строгие меры безопасности, можно настроить пространство имен служебной шины таким образом, чтобы клиенты отправляли и получали данные с помощью более новой версии TLS. Если в пространстве имен служебной шины настроено требование минимальной версии TLS, все запросы, созданные с использованием более старой версии, будут завершаться ошибкой. Общие сведения об этой возможности см. в статье Настройка минимально требуемой версии протокола TLS для запросов к пространству имен служебной шины.

Минимальную версию TLS можно настроить с помощью портала Azure или шаблона Azure Resource Manager (ARM).

Предупреждение

По состоянию на 28 февраля 2025 г. tls 1.0 и TLS 1.1 больше не будут поддерживаться в Служебная шина Azure. Минимальная версия TLS будет 1.2 для всех развертываний служебная шина.

Внимание

31 октября 2024 г. протокол TLS 1.3 будет включен для трафика AMQP. ПРОТОКОЛ TLS 1.3 уже включен для трафика HTTPS. Клиенты Java могут иметь проблему с TLS 1.3 из-за зависимости от старой версии Proton-J. Дополнительные сведения см. в изменениях клиента Java для поддержки TLS 1.3 с Служебная шина Azure и Центры событий Azure

Указание минимальной версии TLS на портале Azure

Минимальную версию TLS можно указать при создании пространства имен служебной шины на вкладке Дополнительно портала Azure.

Снимок экрана со страницей установки минимальной версии TLS при создании пространства имен.

Можно также указать минимальную версию TLS для существующего пространства имен на странице Конфигурация.

Снимок экрана со страницей установки минимальной версии TLS для имеющегося пространства имен.

Использование Azure CLI

Чтобы создать пространство имен с минимальной версией TLS, установленной az servicebus namespace create в версии 1.2, используйте команду с --min-tls заданным значением 1.2.

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

Использование Azure PowerShell

Чтобы создать пространство имен с минимальной версией TLS, установленной New-AzServiceBusNamespace в версии 1.2, используйте команду с -MinimumTlsVersion заданным значением 1.2.

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

Создание шаблона для настройки минимальной версии TLS

Чтобы настроить минимальную версию TLS для пространства имен служебной шины, задайте для свойства версии MinimumTlsVersion значение 1.0, 1.1 или 1.2. При создании пространства имен Служебной шины с шаблоном Azure Resource Manager свойство MinimumTlsVersion по умолчанию имеет значение 1.2, если явно не задана другая версия.

Примечание.

Пространства имен, созданные с помощью версии API до 2022-01-01-preview, будут иметь значение 1.0 для MinimumTlsVersion. Это поведение раньше было настроено по умолчанию и сохраняется для обратной совместимости.

Ниже показано, как это сделать с помощью шаблона на портале Microsoft Azure.

  1. На портале Azure щелкните Создать ресурс.

  2. В поле поиска в Marketplace введите пользовательское развертывание и нажмите клавишу ВВОД.

  3. Выберите Пользовательское развертывание (развернуть с помощью пользовательских шаблонов) (предварительная версия), нажмите кнопку Создать, а затем выберите Создать собственный шаблон в редакторе.

  4. В редакторе шаблонов вставьте следующий код 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": {}
            }
        ]
    }
    
  5. Сохраните шаблон.

  6. Укажите параметр группы ресурсов, а затем нажмите кнопку Проверка и создание, чтобы развернуть шаблон и создать пространство имен с настроенным свойством MinimumTlsVersion.

Примечание.

После обновления минимальной версии TLS для пространства имен Служебной шины может потребоваться до 30 секунд, прежде чем изменение будет распространено в системе.

Для настройки минимальной версии TLS требуется поставщик ресурсов Служебной шины Azure версии 2022-01-01-preview или более поздней.

Проверка минимальной требуемой версии TLS для пространства имен

Чтобы проверить минимальную требуемую версию TLS для пространства имен служебной шины, можно запросить API Resource Manager Azure. Вам потребуется маркер носителя для запроса к 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.

{
  "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 в клиенте

Чтобы удостовериться в том, что вызовы к пространству имен Служебной шины, в которых не используется минимальная версия TLS, запрещены в настройках, можно настроить клиент на использование более старой версии протокола TLS. Дополнительные сведения о настройке клиента для использования определенной версии протокола TLS см. в статье Настройка протокола TLS для клиентского приложения.

Когда клиент обращается к пространству имен Служебной шины с использованием версии TLS, которая не соответствует минимальной версии TLS, настроенной для пространства имен, Служебная шина Azure возвращает код ошибки 401 (не авторизовано) и сообщение, указывающее, что использование этой версии TLS не разрешено для выполнения запросов к этому пространству имен Центров событий.

Примечание.

При настройке минимальной версии TLS для пространства имен Служебной шины она будет применяться на уровне приложения. Инструменты, которые пытаются определить поддержку TLS на уровне протокола, могут возвращать версии TLS в дополнение к минимально необходимой версии, если они запускаются непосредственно с конечной точкой пространства имен Служебной шины.

Следующие шаги

Дополнительные сведения см. в следующей документации: