Configurar a versão mínima do TLS na Instância Gerenciada de SQL do Azure

Com a definição de versão mínima do Protocolo TLS, os clientes podem controlar a versão do TLS usada pela instância gerenciada do SQL do Azure.

No momento, damos suporte a TLS 1.0, 1.1 e TLS 1.2. A definição de uma versão mínima do TLS garante compatibilidade com as versões posteriores e mais recentes do TLS. Por exemplo, escolher uma versão do TLS posterior à 1.1. significa que somente as conexões com TLS 1.1 e 1.2 serão aceitas e o TLS 1.0 será rejeitado. Após o teste para confirmar a compatibilidade com os seus aplicativos, é recomendado definir a versão mínima do TLS como 1.2. Essa versão inclui correções de vulnerabilidades encontradas em versões anteriores e é a versão mais recente do TLS compatível com a Instância Gerenciada de SQL do Azure.

Para clientes com aplicativos que dependem de versões anteriores do TLS, é recomendável definir a versão mínima do TLS de acordo com os requisitos dos aplicativos. Para clientes que dependem de aplicativos para se conectarem usando uma conexão não criptografada, recomendamos não definir uma versão mínima do TLS.

Para obter mais informações, confira Considerações sobre TLS para conectividade do Banco de Dados SQL.

Após a definição da versão mínima do TLS, as tentativas de logon dos clientes que estiverem usando uma versão do TLS anterior à versão mínima do TLS do servidor falharão com o seguinte erro:

Error 47072
Login failed with invalid TLS version

Observação

Quando você configura uma versão mínima do TLS, 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 de TLS além da versão mínima necessária quando executadas diretamente no ponto de extremidade da instância gerenciada.

Definir a versão mínima do TLS por meio do PowerShell

Observação

Este artigo usa o módulo do PowerShell Azure Az, que é o módulo do PowerShell recomendado para interagir com o Azure. Para começar a usar o módulo do Az PowerShell, confira Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Importante

O módulo Azure Resource Manager do PowerShell ainda tem suporte do Banco de Dados SQL do Azure, mas todo o desenvolvimento futuro é para o módulo Az.Sql. Para esses cmdlets, confira AzureRM.Sql. Os argumentos para os comandos no módulo Az e nos módulos AzureRm são substancialmente idênticos. O script a seguir exige o módulo do Azure PowerShell.

O script do PowerShell a seguir mostra como usar Get e Set na propriedade Versão mínima do TLS no nível da instância:

#Get the Minimal TLS Version property
(Get-AzSqlInstance -Name sql-instance-name -ResourceGroupName resource-group).MinimalTlsVersion

# Update Minimal TLS Version Property
Set-AzSqlInstance -Name sql-instance-name -ResourceGroupName resource-group -MinimalTlsVersion "1.2"

Definir a versão mínima do TLS por meio da CLI do Azure

Importante

Todos os scripts nesta seção exigem a CLI do Azure.

CLI do Azure em um shell bash

O script de CLI a seguir mostra como alterar a configuração da versão mínima do TLS em um shell bash:

# Get current setting for Minimal TLS Version
az sql mi show -n sql-instance-name -g resource-group --query "minimalTlsVersion"

# Update setting for Minimal TLS Version
az sql mi update -n sql-instance-name -g resource-group --set minimalTlsVersion="1.2"