Compartilhar via


Configurar a versão mínima do TLS para um namespace do Barramento de Serviço

Os namespaces do Barramento de Serviço do Azure permitem que os clientes enviem e recebam dados com o TLS 1.0 e superior. Para impor medidas de segurança mais estritas, você pode configurar seu namespace do Barramento de Serviço para exigir que os clientes enviem e recebam dados com uma versão mais recente do TLS. Se um namespace do Barramento de Serviço exigir uma versão mínima do TLS, todas as solicitações feitas com uma versão mais antiga falharão. Para mais informações conceituais, consulte Impor uma versão mínima necessária de Segurança da Camada de Transporte (TLS) para solicitações a um namespace do Barramento de Serviço do Azure.

Você pode configurar a versão mínima do TLS pelo portal do Azure ou o modelo d o 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 Barramento de Serviço.

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 o 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 no cliente Java para dar suporte ao TLS 1.3 com o Barramento de Serviço do Azure e os Hubs de Eventos do Azure

Especificar 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 Barramento de Serviço no portal do Azure na guia Avançado.

Captura de tela que mostra a página para configurar 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 que mostra a página para configurar a versão mínima do TLS para um namespace existente.

Usar a CLI do Azure

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

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

Usar PowerShell do Azure

Para criar um namespace com a versão mínima do TLS definida como 1.2, use o comando New-AzServiceBusNamespace com -MinimumTlsVersion definido 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 Barramento de Serviço, defina a propriedade da versão MinimumTlsVersion como 1.0, 1.1 ou 1.2. Quando você cria um namespace do Barramento de Serviço com um modelo do Azure Resource Manager, a propriedade MinimumTlsVersion é definida como 1.2 por padrão, a menos que seja definida explicitamente como outra versão.

Observação

O valor de MinimumTlsVersion será 1.0 para os namespaces criados com uma api-version anterior a 2022-01-01-preview. Esse comportamento era o padrão anterior e ainda está em vigor para oferecer 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. Clique em Implantação personalizada (implantar com modelos personalizados) (versão prévia), em Criar e em Criar o próprio modelo no editor.

  4. No editor de modelo, cole o JSON a seguir para criar um namespace e defina a versão mínima do TLS como 1.2. Não deixe de substituir os espaços reservados entre colchetes angulares pelos seus 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. Salve o modelo.

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

Observação

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

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

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

Para verificar a versão mínima necessária do TLS para o namespace do Barramento de Serviço, você poderá consultar a API do Azure Resource Manager. Você precisará de um Token de portador para consultar a API, que poderá ser recuperada usando o ARMClient executando os comandos a seguir.

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

Após obter o token de portador, você poderá usar o script abaixo em combinação com algo como o Cliente REST 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 deverá ser semelhante à apresentada abaixo, com o MinimumTlsVersion definido nas 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 Barramento de Serviço proíbe chamadas feitas com uma versão mais antiga, configure 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, confira Configurar TLS (segurança da camada de transporte) para um aplicativo cliente.

Quando ele acessar um namespace do Barramento de Serviço usando uma versão do TLS que não atende à versão mínima do TLS configurada para esse namespace, o Barramento de Serviço do Azure retornará o código de erro 401 (Não Autorizado) e uma mensagem indicando que a versão do TLS usada não é permitida para fazer solicitações nesse namespace.

Observação

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

Próximas etapas

Para saber mais, confira a documentação a seguir.