Partilhar via


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

Hubs de Eventos do Azure 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 dos Hubs de Eventos para exigir que os clientes enviem e recebam dados com uma versão mais recente do TLS. Se um espaço de nomes dos Hubs de Eventos 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 dos Hubs de Eventos.

Pode configurar a versão mínima do TLS com o modelo do 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 dos Hubs de Eventos 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.

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 dos Hubs de Eventos com um modelo, crie um modelo com a MinimumTlsVersion propriedade definida como 1.0, 1.1 ou 1.2. Quando cria um espaço de nomes dos Hubs de Eventos com um modelo de Resource Manager do Azure, a MinimumTlsVersion propriedade é 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. Na portal do Azure, selecione Criar um recurso.

  2. Em Pesquisar 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 entre 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": {
            "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. 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 dos Hubs de Eventos, 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 de API 2022-01-01-preview ou posterior do fornecedor de recursos Hubs de Eventos do Azure.

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 dos Hubs de Eventos, pode consultar a API do Azure Resource Manager. Precisará de um token de Portador para consultar a API, que pode obter com a aplicaçã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.EventHub/namespaces/{{namespaceName}}?api-version=2022-01-01-preview
content-type: application/json
Authorization: {{token}}

A resposta deve ter um aspeto semelhante ao seguinte, com 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 a partir de um cliente

Para testar se a versão mínima do TLS necessária para um espaço de nomes dos Hubs de Eventos proíbe chamadas efetuadas 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 dos Hubs de Eventos com uma versão TLS que não cumpre a versão mínima do TLS configurada para o espaço de nomes, Hubs de Eventos do Azure devolve o código de erro 401 (Não Autorizado) e uma mensagem a indicar que a versão do TLS utilizada não é permitida para fazer pedidos neste espaço de nomes dos Hubs de Eventos.

Nota

Devido a limitações na biblioteca confluent, os erros provenientes de uma versão TLS inválida não serão apresentados ao ligar através do protocolo Kafka. Em vez disso, será apresentada uma exceção geral.

Nota

Quando configura uma versão mínima do TLS para um espaço de nomes dos Hubs de Eventos, 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, além da versão mínima necessária, quando executadas diretamente no ponto final do espaço de nomes dos Hubs de Eventos.

Passos seguintes

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