Share via


Configurar uma versão mínima do TLS no Azure SQL Managed Instance

A definição de Versão TLS (Transport Layer Security) mínima permite que os clientes controlem a versão do TLS utilizada pelos respetivos Azure SQL Managed Instance.

Atualmente, suportamos o TLS 1.0, 1.1 e 1.2. A definição de uma Versão Mínima do TLS garante que as versões do TLS subsequentes mais recentes são suportadas. Por exemplo, escolher uma versão do TLS superior a 1.1. significa que apenas as ligações com o TLS 1.1 e 1.2 são aceites e o TLS 1.0 é rejeitado. Após testar para confirmar que as aplicações são suportadas, é recomendado definir a versão mínima do TLS como 1.2, já que esta inclui correções para vulnerabilidades encontradas em versões anteriores e é a versão mais recente do TLS suportada no Azure SQL Managed Instance.

Para clientes com aplicações que dependem de versões mais antigas do TLS, recomendamos definir a Versão Mínima do TLS de acordo com os requisitos das aplicações. Para clientes que dependem de aplicações para se ligarem através de uma ligação não encriptada, recomendamos não definir nenhuma Versão Mínima do TLS.

Para obter mais informações, veja Considerações do TLS para Base de Dados SQL conectividade.

Depois de definir a Versão Mínima do TLS, as tentativas de início de sessão de clientes que utilizam uma versão TLS inferior à Versão Mínima do TLS do servidor falharão com o seguinte erro:

Error 47072
Login failed with invalid TLS version

Nota

Quando configura uma versão mínima do TLS, essa versão mínima é imposta na camada da aplicação. As ferramentas que tentam determinar o suporte do TLS na camada do protocolo podem devolver as versões do TLS, além da versão mínima necessária, se forem executadas diretamente no ponto final da instância gerida.

Definir a versão mínima do TLS através do PowerShell

Nota

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

Importante

O módulo Resource Manager do PowerShell Azure ainda é suportado pela Base de Dados SQL do Azure, mas todo o desenvolvimento futuro é para o módulo Az.Sql. Para estes cmdlets, veja AzureRM.Sql. Os argumentos para os comandos no módulo Az e nos módulos do AzureRm são substancialmente idênticos. O script seguinte requer o módulo Azure PowerShell.

O seguinte script do PowerShell mostra como e GetSet a propriedade Versão Mínima do TLS ao 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 através da CLI do Azure

Importante

Todos os scripts nesta secção requerem a CLI do Azure.

CLI do Azure numa shell de bash

O seguinte script da CLI mostra como alterar a definição versão mínima do TLS numa shell de 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"