Skip to content

Commit 7752205

Browse files
author
Rohit Nayak
committed
Doc updates for minimal TLS version
1 parent 254c1c3 commit 7752205

File tree

2 files changed

+62
-3
lines changed

2 files changed

+62
-3
lines changed
95.8 KB
Loading

articles/sql-database/sql-database-connectivity-settings.md

Lines changed: 62 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,22 +23,24 @@ This article introduces settings that control connectivity to Azure SQL Database
2323
> [!NOTE]
2424
> Once these settings are applied, they **take effect immediately** and may result in connection loss for your clients if they do not meet the requirements for each setting.
2525
26-
The connectivity settings are accessible from the **Firewalls and virtual networks** blade as shown in the screenshot below:
26+
The connectivity settings are accessible from the **Firewalls and virtual networks** screen as shown in the screenshot below:
2727

2828
![Screenshot of connectivity settings][1]
2929

3030

3131
## Deny public network access
32-
In the Azure portal, when the **Deny public network access** setting is set to **Yes**, only connections via private endpoints are allowed. When this setting is set to **No**, clients can connect using the private or public endpoint.
3332

34-
After setting **Deny public network access** to **Yes**, login attempts from clients using public endpoint will fail with the following error:
33+
Customers can connect to Sql Database using public endpoints (IP-based firewall rules, VNET based firewall rules) or private endpoints (using Private Link) as outlined [here](sql-database-networkaccess-overview.md)
34+
35+
When **Deny public network access** setting is set to **Yes**, only connections via private endpoints are allowed and all connectivity via public endpoint is denied with this error message.
3536

3637
```output
3738
Error 47073
3839
An instance-specific error occurred while establishing a connection to SQL Server. The public network interface on this server is not accessible. To connect to this server, use the Private Endpoint from inside your virtual network.
3940
```
4041

4142
## Change Public Network Access via PowerShell
43+
4244
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
4345
> [!IMPORTANT]
4446
> The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. For these cmdlets, see [AzureRM.Sql](https://docs.microsoft.com/powershell/module/AzureRM.Sql/). The arguments for the commands in the Az module and in the AzureRm modules are substantially identical. The following script requires the [Azure PowerShell module](/powershell/azure/install-az-ps).
@@ -56,10 +58,12 @@ Set-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group
5658
```
5759

5860
## Change Public Network Access via CLI
61+
5962
> [!IMPORTANT]
6063
> All scripts in this section requires [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli).
6164
6265
### Azure CLI in a bash shell
66+
6367
The following CLI script shows how to change the **Public Network Access** in a bash shell:
6468

6569
```azurecli-interactive
@@ -72,11 +76,63 @@ az sql server update -n sql-server-name -g sql-server-group --set publicNetworkA
7276
7377
```
7478

79+
## Minimal TLS Version
80+
81+
Minimal TLS Version allows customer to control the version of [Transport Layer Security](https://support.microsoft.com/help/3135244/tls-1-2-support-for-microsoft-sql-server) for their Azure SQL Server.
82+
83+
At present we support TLS 1.0, 1.1 and 1.2. Setting a minimal TLS version ensures that subsequent, newer TLS versions are supported, e.g., choosing >1.1. means only connections with TLS 1.1 and 1.2 are accepted and TLS 1.0 is rejected. After testing to make sure your applications can support it, we recommend setting minimal TLS version to 1.2 since it includes fixes for vulnerabilities found in previous versions and is the highest version of TLS supported in Azure Sql Database.
84+
85+
For customers with applications that rely on older version of TLS, we recommend setting the Minimal TLS version per the requirements of your applications. For customers that rely on applications to connect using an unencrypted connection, we recommend not setting any Minimal TLS Version.
86+
87+
For more information, see [TLS considerations for SQL Database connectivity](sql-database-connect-query.md#tls-considerations-for-sql-database-connectivity).
88+
89+
After setting Minimal TLS version, login attempts from clients that are using a TLS version less than the Minimal TLS version of the server will fail with following error:
90+
```output
91+
Error 47072
92+
Login failed with invalid TLS version
93+
```
94+
95+
## Set Minimal TLS Version via PowerShell
96+
97+
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
98+
> [!IMPORTANT]
99+
> The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. For these cmdlets, see [AzureRM.Sql](https://docs.microsoft.com/powershell/module/AzureRM.Sql/). The arguments for the commands in the Az module and in the AzureRm modules are substantially identical. The following script requires the [Azure PowerShell module](/powershell/azure/install-az-ps).
100+
101+
The following PowerShell script shows how to `Get` and `Set` the **Minimal TLS Version** property at the logical server level:
102+
103+
```powershell
104+
#Get the Public Network Access property
105+
(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).PublicNetworkAccess
106+
107+
# Update Public Network Access to Disabled
108+
$SecureString = ConvertTo-SecureString "password" -AsPlainText -Force
109+
110+
Set-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group -SqlAdministratorPassword $SecureString -MinimalTlsVersion "1.2"
111+
```
112+
113+
## Set Minimal TLS Version via Azure CLI
114+
115+
> [!IMPORTANT]
116+
> All scripts in this section requires [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli).
117+
118+
### Azure CLI in a bash shell
119+
120+
The following CLI script shows how to change the **Minimal TLS Version** setting in a bash shell:
121+
122+
```azurecli-interactive
123+
# Get current setting for Minimal TLS Version
124+
az sql server show -n sql-server-name -g sql-server-group --query "minimalTlsVersion"
125+
126+
# Update setting for Minimal TLS Version
127+
az sql server update -n sql-server-name -g sql-server-group --set minimalTlsVersion="1.2"
128+
```
75129

76130
## Connection policy
131+
77132
[Connection policy](sql-database-connectivity-architecture.md#connection-policy) determines how clients connect to Azure SQL Server.
78133

79134
## Change Connection policy via PowerShell
135+
80136
[!INCLUDE [updated-for-az](../../includes/updated-for-az.md)]
81137
> [!IMPORTANT]
82138
> The PowerShell Azure Resource Manager module is still supported by Azure SQL Database, but all future development is for the Az.Sql module. For these cmdlets, see [AzureRM.Sql](https://docs.microsoft.com/powershell/module/AzureRM.Sql/). The arguments for the commands in the Az module and in the AzureRm modules are substantially identical. The following script requires the [Azure PowerShell module](/powershell/azure/install-az-ps).
@@ -98,6 +154,7 @@ Set-AzResource -ResourceId $id -Properties @{"connectionType" = "Proxy"} -f
98154
```
99155

100156
## Change Connection policy via Azure CLI
157+
101158
> [!IMPORTANT]
102159
> All scripts in this section requires [Azure CLI](https://docs.microsoft.com/cli/azure/install-azure-cli).
103160
@@ -119,6 +176,7 @@ az resource update --ids $ids --set properties.connectionType=Proxy
119176
```
120177

121178
### Azure CLI from a Windows command prompt
179+
122180
The following CLI script shows how to change the connection policy from a Windows command prompt (with Azure CLI installed).
123181

124182
```azurecli
@@ -133,6 +191,7 @@ az resource update --ids %sqlserverid% --set properties.connectionType=Proxy
133191
```
134192

135193
## Next steps
194+
136195
- For an overview of how connectivity works in Azure SQL Database, refer to [Azure SQL Connectivity Architecture](sql-database-connectivity-architecture.md)
137196
- For information on how to change the Azure SQL Database connection policy for an Azure SQL Database server, see [conn-policy](https://docs.microsoft.com/cli/azure/sql/server/conn-policy).
138197

0 commit comments

Comments
 (0)