Compartilhar via


Configurar a versão mínima do TLS para um namespace dos Hubs de Eventos

Os namespaces dos Hubs de Eventos 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 dos Hubs de Eventos para exigir que os clientes enviem e recebam dados com uma versão mais recente do TLS. Se um namespace dos Hubs de Eventos exigir uma versão mínima do TLS, todas as solicitações feitas com uma versão mais antiga falharão. Para obter mais informações conceituais sobre esse recurso, consulte Impor uma versão mínima necessária do protocolo TLS para solicitações a um namespace dos Hubs de Eventos.

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

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 dos Hubs de Eventos 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.

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

Para configurar a versão mínima do TLS para um namespace dos Hubs de Eventos com um modelo, crie o modelo com a propriedade MinimumTlsVersion definida como 1.0, 1.1 ou 1.2. Quando você cria um namespace dos Hubs de Eventos com um modelo do ARM, 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": {
            "eventHubNamespaceName": "[concat(uniqueString(subscription().subscriptionId), 'tls')]"
        },
        "resources": [
            {
            "name": "[variables('eventHubNamespaceName')]",
            "type": "Microsoft.EventHub/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 dos Hubs de Eventos, 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 dos Hubs de Eventos 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 Hubs de Eventos, você poderá consultar a API do Azure Resource Manager. Você precisará de um token de Portador para consultar a API, que poderá recuperar usando o aplicativo 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.EventHub/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",
    "capacity": 1
  },
  "id": "/subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group-name>/providers/Microsoft.EventHub/namespaces/<your-namespace-name>",
  "name": "<your-namespace-name>",
  "type": "Microsoft.EventHub/Namespaces",
  "location": "West Europe",
  "properties": {
    "minimumTlsVersion": "1.2",
    "publicNetworkAccess": "Enabled",
    "disableLocalAuth": false,
    "zoneRedundant": true,
    "isAutoInflateEnabled": false,
    "maximumThroughputUnits": 0,
    "kafkaEnabled": true,
    "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 dos Hubs de Eventos 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, confira Configurar TLS (segurança da camada de transporte) para um aplicativo cliente.

Quando um cliente acessa um namespace dos Hubs de Eventos usando uma versão do TLS que não atende à versão mínima do TLS configurada para o namespace, os Hubs de Eventos do Azure retornam 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 dos Hubs de Eventos.

Observação

Devido às limitações na biblioteca confluente, os erros causados por uma versão inválida do TLS não aparecerão ao se conectar por meio do protocolo Kafka. Em vez disso, uma exceção geral será mostrada.

Observação

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

Próximas etapas

Para obter mais informações, consulte os seguintes artigos.