Partilhar via


Configurar a versão mínima do TLS para um namespace do Service Bus

Os espaços de nomes do Azure Service Bus permitem que os clientes enviem e recebam dados com o TLS 1.0 e versões superiores. Para impor medidas de segurança mais apertadas, pode configurar o espaço de nomes do Service Bus para exigir aos clientes que enviem e recebam dados com uma versão mais recente do TLS. Se um espaço de nomes do Service Bus exigir uma versão mínima do TLS, todos os pedidos feitos com uma versão mais antiga irão falhar. Para obter informações conceituais sobre esse recurso, consulte Impor uma versão mínima necessária do TLS (Transport Layer Security) para solicitações a um namespace do Service Bus.

Você pode configurar a versão mínima do TLS usando o portal do Azure ou o modelo do Azure Resource Manager (ARM).

Aviso

A partir de 28 de fevereiro de 2025, o TLS 1.0 e o TLS 1.1 não terão mais suporte no Barramento de Serviço do Azure. A versão mínima do TLS será 1.2 para todas as implantações do Service Bus.

Importante

Em 31 de outubro de 2024, o TLS 1.3 será habilitado para o tráfego AMQP. O TLS 1.3 já está habilitado para tráfego HTTPS. Os clientes Java podem ter um problema com o TLS 1.3 devido a uma dependência de uma versão mais antiga do Proton-J. Para obter mais detalhes, leia Alterações do cliente Java para dar suporte ao TLS 1.3 com o Barramento de Serviço do Azure e os Hubs de Eventos do Azure

Especifique a versão mínima do TLS no portal do Azure

Você pode especificar a versão mínima do TLS ao criar um namespace do Service Bus no portal do Azure na guia Avançado .

Captura de tela mostrando a página para definir a versão mínima do TLS ao criar um namespace.

Você também pode especificar a versão mínima do TLS para um namespace existente na página Configuração .

Captura de tela mostrando a página para definir a versão mínima do TLS para um namespace existente.

Utilizar a CLI do Azure

Para criar um namespace com a versão mínima do TLS definida como 1.2, use o az servicebus namespace create comando com --min-tls set como 1.2.

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

Utilizar o Azure PowerShell

Para criar um namespace com a versão mínima do TLS definida como 1.2, use o New-AzServiceBusNamespace comando com -MinimumTlsVersion set como 1.2.

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

Criar um modelo para configurar a versão mínima do TLS

Para configurar a versão mínima do TLS para um namespace do Service Bus, defina a MinimumTlsVersion propriedade version como 1.0, 1.1 ou 1.2. Quando você cria um namespace do Service Bus com um modelo do Azure Resource Manager, a propriedade é definida como 1.2 por padrão, a MinimumTlsVersion menos que explicitamente definida como outra versão.

Nota

Os namespaces criados usando uma versão de api anterior a 2022-01-01-preview terão 1.0 como o valor para MinimumTlsVersion. Esse comportamento era o padrão anterior e ainda está lá para compatibilidade com versões anteriores.

As etapas a seguir descrevem como criar um modelo no portal do Azure.

  1. No portal do Azure, escolha Criar um recurso.

  2. Em Pesquisar no Marketplace , digite implantação personalizada e pressione ENTER.

  3. Escolha Implantação personalizada (implantar usando modelos personalizados) (visualização), escolha Criar e, em seguida, escolha Criar seu próprio modelo no editor.

  4. No editor de modelos, cole o JSON a seguir para criar um novo namespace e defina a versão mínima do TLS como TLS 1.2. Lembre-se de substituir os espaços reservados entre colchetes angulares pelos seus próprios valores.

    {
        "$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. Guarde o modelo.

  6. Especifique o parâmetro do grupo de recursos e escolha o botão Revisar + criar para implantar o modelo e criar um namespace com a MinimumTlsVersion propriedade configurada.

Nota

Depois de atualizar a versão mínima do TLS para o namespace do Service Bus, pode levar até 30 segundos antes que a alteração seja totalmente propagada.

Configurar a versão mínima do TLS requer a versão api 2022-01-01-preview ou posterior do provedor de recursos do Barramento de Serviço do Azure.

Verifique a versão mínima necessária do TLS para um namespace

Para verificar a versão mínima necessária do TLS para seu namespace do Service Bus, você pode consultar a API do Azure Resource Manager. Você precisará de um token Bearer para consultar a API, que você pode recuperar usando ARMClient executando os seguintes comandos.

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

Depois de ter seu token de portador, você pode usar o script abaixo em combinação com algo como REST Client para consultar a 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}}

A resposta deve ser semelhante à abaixo, com o minimumTlsVersion definido sob as propriedades.

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

Testar a versão mínima do TLS de um cliente

Para testar se a versão mínima necessária do TLS para um namespace do Service Bus proíbe chamadas feitas com uma versão mais antiga, você pode configurar um cliente para usar uma versão mais antiga do TLS. Para obter mais informações sobre como configurar um cliente para usar uma versão específica do TLS, consulte Configurar TLS (Transport Layer Security) para um aplicativo cliente.

Quando um cliente acessa um namespace do Service Bus usando uma versão TLS que não atende à versão mínima do TLS configurada para o namespace, o Barramento de Serviço do Azure retorna o código de erro 401 (Não autorizado) e uma mensagem indicando que a versão TLS que foi usada não é permitida para fazer solicitações nesse namespace do Service Bus.

Nota

Quando você configura uma versão mínima do TLS para um namespace do Service Bus, essa versão mínima é imposta na camada de aplicativo. As ferramentas que tentam determinar o suporte a TLS na camada de protocolo podem retornar versões TLS além da versão mínima necessária quando executadas diretamente no ponto de extremidade do namespace do Service Bus.

Próximos passos

Consulte a documentação a seguir para obter mais informações.