Share via


Configurar a versão mínima do TLS para um espaço de nomes do Service Bus

Azure Service Bus espaços de nomes permitem que os clientes enviem e recebam dados com o TLS 1.0 e superior. Para impor medidas de segurança mais rigorosas, pode configurar o espaço de nomes do Service Bus para exigir que os clientes 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 falharão. Para obter informações conceptuais sobre esta funcionalidade, veja Impor uma versão mínima necessária do Transport Layer Security (TLS) para pedidos para um espaço de nomes do Service Bus.

Pode configurar a versão mínima do TLS com o modelo portal do Azure ou do Azure Resource Manager (ARM).

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

Pode especificar a versão mínima do TLS ao criar um espaço de nomes do Service Bus no portal do Azure no separador Avançadas.

Captura de ecrã a mostrar a página para definir a versão mínima do TLS ao criar um espaço de nomes.

Também pode especificar a versão mínima do TLS para um espaço de nomes existente na página Configuração .

Captura de ecrã a mostrar a página para definir a versão mínima do TLS para um espaço de nomes existente.

Utilizar a CLI do Azure

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

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

Utilizar o Azure PowerShell

Para criar um espaço de nomes com a versão mínima do TLS definida como 1.2, utilize o New-AzServiceBusNamespace comando 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 espaço de nomes do Service Bus, defina a MinimumTlsVersion propriedade da versão como 1.0, 1.1 ou 1.2. Quando cria um espaço de nomes do Service Bus com um modelo de Resource Manager do Azure, a MinimumTlsVersion propriedade está definida como 1.2 por predefinição, a menos que esteja explicitamente definida para outra versão.

Nota

Os espaços de nomes criados com uma versão de api anterior a 2022-01-01-preview terão 1.0 como o valor para MinimumTlsVersion. Este comportamento era a predefinição anterior e ainda existe para retrocompatibilidade.

Os passos seguintes descrevem como criar um modelo no portal do Azure.

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

  2. Em Procurar no Marketplace , escreva implementação personalizada e, em seguida, prima ENTER.

  3. Selecione Implementação personalizada (implementar com modelos personalizados) (pré-visualização),selecione Criar e, em seguida, selecione Criar o seu próprio modelo no editor.

  4. No editor de modelos, cole o seguinte JSON para criar um novo espaço de nomes e defina a versão mínima do TLS como TLS 1.2. Lembre-se de substituir os marcadores de posição em parênteses 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, em seguida, selecione o botão Rever + criar para implementar o modelo e criar um espaço de nomes com a MinimumTlsVersion propriedade configurada.

Nota

Depois de atualizar a versão mínima do TLS para o espaço de nomes do Service Bus, poderá demorar até 30 segundos até que a alteração seja totalmente propagada.

A configuração da versão mínima do TLS requer a versão 2022-01-01-preview ou posterior do fornecedor de recursos Azure Service Bus.

Verificar a versão mínima do TLS necessária para um espaço de nomes

Para verificar a versão mínima do TLS necessária para o espaço de nomes do Service Bus, pode consultar a API do Azure Resource Manager. Precisará de um token de Portador para consultar a API, que pode obter com o ARMClient ao executar os seguintes comandos.

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

Assim que tiver o token de portador, pode utilizar o script abaixo em combinação com algo como 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 deve ter um aspeto semelhante ao seguinte, com o mínimoTlsVersion 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 a partir de um cliente

Para testar que a versão mínima do TLS necessária para um espaço de nomes do Service Bus proíbe chamadas feitas com uma versão mais antiga, pode configurar um cliente para utilizar uma versão mais antiga do TLS. Para obter mais informações sobre como configurar um cliente para utilizar uma versão específica do TLS, veja Configurar o Transport Layer Security (TLS) para uma aplicação cliente.

Quando um cliente acede a um espaço de nomes do Service Bus com uma versão TLS que não cumpre a versão mínima do TLS configurada para o espaço de nomes, Azure Service Bus devolve o código de erro 401 (Não Autorizado) e uma mensagem a indicar que a versão TLS utilizada não é permitida para fazer pedidos neste espaço de nomes do Service Bus.

Nota

Quando configura uma versão mínima do TLS para um espaço de nomes do Service Bus, essa versão mínima é imposta na camada da aplicação. As ferramentas que tentam determinar o suporte do TLS na camada de protocolo podem devolver versões TLS para além da versão mínima necessária quando executadas diretamente no ponto final do espaço de nomes do Service Bus.

Passos seguintes

Veja a seguinte documentação para obter mais informações.