Configuración de la conectividad de Azure SQL
SE APLICA A:
Azure SQL Database
Azure Synapse Analytics (solo grupo de SQL dedicado [anteriormente SQL DW])
Este artículo presenta los valores que controlan la conectividad con el servidor para Azure SQL Database y grupo de SQL dedicado (anteriormente, SQL DW) en Azure Synapse Analytics. Estos valores se aplican a todas las bases de datos de SQL Database y de grupo de SQL dedicado (anteriormente, SQL DW) asociadas al servidor.
Importante
Este artículo no se aplica a Azure SQL Managed Instance. Este artículo tampoco se aplica a grupos de SQL dedicados en áreas de trabajo de Azure Synapse Analytics. Puede encontrar una guía sobre cómo configurar reglas de firewall de IP para Azure Synapse Analytics con áreas de trabajo en Reglas de firewall de IP de Azure Synapse Analytics.
Se puede acceder a la configuración de conectividad desde la pantalla Firewalls y redes virtuales, como se indica en la siguiente captura de pantalla:
Nota:
Estos valores surten efecto inmediatamente después de aplicarse. Los clientes pueden experimentar una pérdida de conexión si no cumplen los requisitos de cada opción de configuración.
Denegación del acceso a una red pública
El valor predeterminado de esta opción es No (valor predeterminado), de modo que los clientes pueden conectarse mediante puntos de conexión públicos (con reglas de firewall de nivel de servidor basadas en IP o reglas de firewall de red virtual) o puntos de conexión privados (mediante Azure Private Link), tal como se describe en Introducción al acceso de red.
Cuando la opción Denegar acceso desde red pública está establecida en Sí, solo se permiten las conexiones mediante puntos de conexión privados. Se denegarán todas las conexiones a través de puntos de conexión públicos con un mensaje de error similar al siguiente:
Error 47073
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.
Cuando la opción Denegar acceso desde red pública está establecida en Sí, se deniega cualquier intento de agregar o actualizar las reglas de firewall con un mensaje de error similar al siguiente:
Error 42101
Unable to create or modify firewall rules when public network interface for the server is disabled.
To manage server or database level firewall rules, please enable the public network interface.
Asegúrese de Denegar acceso desde red pública está establecido en No para poder agregar, quitar o editar las reglas de firewall de Azure SQL.
Cambio del acceso a la red pública mediante PowerShell
Importante
Azure SQL Database todavía es compatible con el módulo de Azure Resource Manager para PowerShell, pero todo el desarrollo futuro se realizará para el módulo Az.Sql. Para estos cmdlets, consulte AzureRM.Sql. Los argumentos para los comandos del módulo Az y los módulos AzureRm son esencialmente idénticos. El script siguiente requiere el módulo de Azure PowerShell.
El siguiente script de PowerShell le muestra cómo aplicar las operaciones Get y Set a la propiedad Public Network Access (Acceso a la red pública) en el nivel del servidor:
# Get the Public Network Access property
(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).PublicNetworkAccess
# Update Public Network Access to Disabled
$SecureString = ConvertTo-SecureString "password" -AsPlainText -Force
Set-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group -SqlAdministratorPassword $SecureString -PublicNetworkAccess "Disabled"
Cambio del acceso a la red pública mediante la CLI
Importante
Todos los scripts de esta sección requieren la CLI de Azure.
CLI de Azure en un shell de Bash
El siguiente script de la CLI muestra cómo cambiar la opción Acceso a la red pública en un shell de Bash:
# Get current setting for Public Network Access
az sql server show -n sql-server-name -g sql-server-group --query "publicNetworkAccess"
# Update setting for Public Network Access
az sql server update -n sql-server-name -g sql-server-group --set publicNetworkAccess="Disabled"
Versión mínima de TLS
La opción de versión mínima de Seguridad de la capa de transporte (TLS) permite a los clientes elegir la versión de TLS que usa su base de datos SQL.
Actualmente, se admite TLS 1.0, 1.1 y 1.2. Establecer una versión mínima de TLS garantiza que se admitan las versiones más recientes de TLS. Por ejemplo, la selección de una versión 1.1 de TLS significa que solo se aceptan las conexiones con TLS 1.1 y 1.2, y que se rechazan las conexiones con TLS 1.0. Después de realizar pruebas para confirmar que las aplicaciones la admiten, se recomienda establecer la versión mínima de TLS en 1.2. Esta versión incluye correcciones para vulnerabilidades de las versiones anteriores y es la versión más reciente de TLS que se admite en Azure SQL Database.
Importante
El valor predeterminado para la versión mínima de TLS es Permitir todas las versiones. Después de aplicar una versión de TLS, no es posible revertir al valor predeterminado.
En el caso de los clientes con aplicaciones que se basan en versiones anteriores de TLS, se recomienda establecer la versión mínima de TLS en función de los requisitos de las aplicaciones. En el caso de los clientes necesitan aplicaciones para conectarse mediante una conexión sin cifrar, se recomienda no establecer ninguna versión mínima de TLS.
Para obtener más información, consulte Consideraciones de TLS para la conectividad de SQL Database.
Después de establecer la versión mínima de TLS, se producirá un error en los intentos de inicio de sesión de los clientes que usan una versión de TLS inferior a la versión mínima de TLS del servidor, con el siguiente error:
Error 47072
Login failed with invalid TLS version
Establecimiento de la versión mínima de TLS en Azure Portal
En Azure Portal, vaya al recurso SQL Server. En la configuración Seguridad, seleccione Firewalls y redes virtuales. Seleccione la Versión de TLS mínima deseada para todas las bases de datos de SQL Database asociadas con el servidor y, luego, seleccione Guardar.
Establecimiento de la versión mínima de TLS mediante PowerShell
Importante
Azure SQL Database todavía es compatible con el módulo de Azure Resource Manager para PowerShell, pero todo el desarrollo futuro se realizará para el módulo Az.Sql. Para estos cmdlets, consulte AzureRM.Sql. Los argumentos para los comandos del módulo Az y los módulos AzureRm son esencialmente idénticos. El script siguiente requiere el módulo de Azure PowerShell.
El siguiente script de PowerShell le muestra cómo Get y Set la propiedad Minimal TLS Version (Versión mínima de TLS) en el nivel del servidor lógico:
# Get the Minimal TLS Version property
(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).MinimalTlsVersion
# Update Minimal TLS Version to 1.2
$SecureString = ConvertTo-SecureString "password" -AsPlainText -Force
Set-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group -SqlAdministratorPassword $SecureString -MinimalTlsVersion "1.2"
Establecimiento de la versión mínima de TLS mediante la CLI de Azure
Importante
Todos los scripts de esta sección requieren la CLI de Azure.
CLI de Azure en un shell de Bash
El siguiente script de la CLI muestra cómo cambiar la opción Minimal TLS Version (versión mínima de TLS) en un shell de Bash:
# Get current setting for Minimal TLS Version
az sql server show -n sql-server-name -g sql-server-group --query "minimalTlsVersion"
# Update setting for Minimal TLS Version
az sql server update -n sql-server-name -g sql-server-group --set minimalTlsVersion="1.2"
Cambio de la directiva de conexión
La directiva de conexión determina cómo se conectan los clientes a Azure SQL Database.
Cambio de la directiva de conexión mediante PowerShell
Importante
Azure SQL Database todavía es compatible con el módulo de Azure Resource Manager para PowerShell, pero todo el desarrollo futuro se realizará para el módulo Az.Sql. Para estos cmdlets, consulte AzureRM.Sql. Los argumentos para los comandos del módulo Az y los módulos AzureRm son esencialmente idénticos. El script siguiente requiere el módulo de Azure PowerShell.
El siguiente script muestra cómo cambiar la directiva de conexión mediante PowerShell:
# Get SQL Server ID
$sqlserverid=(Get-AzSqlServer -ServerName sql-server-name -ResourceGroupName sql-server-group).ResourceId
# Set URI
$id="$sqlserverid/connectionPolicies/Default"
# Get current connection policy
(Get-AzResource -ResourceId $id -ApiVersion 2014-04-01 -Verbose).Properties.ConnectionType
# Update connection policy
Set-AzResource -ResourceId $id -Properties @{"connectionType" = "Proxy"} -f
Cambio de la directiva de conexión mediante la CLI de Azure
Importante
Todos los scripts de esta sección requieren la CLI de Azure.
CLI de Azure en un shell de Bash
El siguiente script de CLI muestra cómo cambiar la directiva de conexión en un shell de Bash:
# Get SQL Server ID
sqlserverid=$(az sql server show -n sql-server-name -g sql-server-group --query 'id' -o tsv)
# Set URI
ids="$sqlserverid/connectionPolicies/Default"
# Get current connection policy
az resource show --ids $ids
# Update connection policy
az resource update --ids $ids --set properties.connectionType=Proxy
CLI de Azure desde un símbolo del sistema de Windows
En el siguiente script de la CLI se muestra cómo cambiar la directiva de conexión desde un símbolo del sistema de Windows (con la CLI de Azure instalada):
# Get SQL Server ID and set URI
FOR /F "tokens=*" %g IN ('az sql server show --resource-group myResourceGroup-571418053 --name server-538465606 --query "id" -o tsv') do (SET sqlserverid=%g/connectionPolicies/Default)
# Get current connection policy
az resource show --ids %sqlserverid%
# Update connection policy
az resource update --ids %sqlserverid% --set properties.connectionType=Proxy
Pasos siguientes
- Para obtener información general sobre cómo funciona la conectividad en Azure SQL Database, consulte Arquitectura de conectividad.
- Para información sobre cómo cambiar la directiva de conexión para un servidor, consulte conn-policy.