Controles de acceso a la red de Azure SQL Database y Azure Synapse Analytics

Se aplica a: Azure SQL Database Azure Synapse Analytics (solo grupos de SQL dedicados)

Al crear un servidor lógico en Azure Portal para Azure SQL Database y Azure Synapse Analytics, el resultado es un punto de conexión público con el formato nombreDelServidor.database.windows.net.

Puede usar los siguientes controles de acceso a la red para permitir el acceso a una base de datos de forma selectiva mediante el punto de conexión público:

  • Reglas de firewall de IP: use esta característica para permitir explícitamente las conexiones desde una dirección IP específica. Por ejemplo, desde máquinas en el entorno local o un intervalo de direcciones IP especificando la dirección IP inicial y final.

  • Permitir que los servicios y recursos de Azure accedan a este servidor: Cuando se habilita, otros recursos dentro del límite de Azure pueden acceder a SQL Database. Por ejemplo, una máquina virtual de Azure puede acceder a los recursos de SQL Database.

También puede permitir el acceso privado a la base de datos desde redes virtuales a través de:

  • Reglas de firewall de la Virtual Network: Use esta característica para permitir el tráfico desde una Virtual Network específica dentro de los límites de Azure.

  • Vínculo privado: utilice esta característica para crear un punto de conexión privado para un servidor lógico en Azure dentro de una Virtual Network específica.

Importante

Este artículo no se aplica a Instancia administrada de SQL. Para obtener más información sobre la configuración de red, consulte Conexión a Instancia administrada de Azure SQL.

Reglas de firewall de IP

El firewall basado en IP es una característica del servidor lógico en Azure, que impide todo acceso al servidor hasta que agregue direcciones IP explícitamente de las máquinas cliente.

Allow Azure Services (Permitir servicios de Azure)

De forma predeterminada, durante la creación de un servidor lógico desde Azure Portal, la opción Permitir que los servicios y recursos de Azure accedan a este servidor está desactivada y sin habilitar. Esta opción aparece cuando se permite la conectividad con el punto de conexión público.

También puede cambiar esta opción desde el valor Redes después de crear el servidor lógico, como se indica a continuación:

Captura de pantalla de la administración del firewall del servidor

Al habilitar Permitir que los servicios y recursos de Azure accedan a este servidor, el servidor permite las comunicaciones de todos los recursos dentro del límite de Azure, formen o no parte de la suscripción. En muchos casos, la habilitación del valor es más permisiva de lo que desea la mayoría de los clientes. Es posible que desee desactivar esta configuración y reemplazarla por reglas de firewall de IP más restrictivas o usar una de las opciones para el acceso privado.

Importante

Comprobación de Permitir que los servicios y recursos de Azure accedan a este servidor agrega una regla de firewall basada en IP con la dirección IP inicial y final de 0.0.0.0

Sin embargo, esto afecta a las siguientes características que se ejecutan en máquinas virtuales de Azure que no forman parte de la red virtual y, por tanto, se conectan a la base de datos a través de una dirección IP de Azure:

Import Export Service

El servicio de importación y exportación no funciona cuando la opción Permitir que los servicios y recursos de Azure accedan a este servidor no está habilitada. Sin embargo, puede solucionar el problema con la ejecución manual de SqlPackage desde una máquina virtual de Azure o realizando la exportación directamente en el código mediante la API de DACFx.

Sincronización de datos

Para usar la característica de sincronización de datos con Permitir que los servicios y recursos de Azure accedan a este servidor sin habilitar, debe crear entradas de reglas de firewall individuales para agregar direcciones IP de la etiqueta de servicio SQL para la región en la que se hospeda la base de datos Hub. Agregue estas reglas de firewall de nivel de servidor a los servidores que hospedan las bases de datos central y miembro (que pueden estar en regiones diferentes).

Use el siguiente script de PowerShell para generar las direcciones IP correspondientes a la etiqueta de servicio de SQL para la región Oeste de EE. UU.

PS C:\>  $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\>  $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27

Sugerencia

Get-AzNetworkServiceTag devuelve el intervalo global de la etiqueta de servicio SQL a pesar de que se especificó el parámetro Location. Asegúrese de filtrar para usarlo en la región que hospeda la base de datos central que usa el grupo de sincronización.

La salida del script de PowerShell está en notación de enrutamiento de interdominios sin clases (CIDR). Esto se debe convertir a un formato de dirección IP inicial y final mediante Get-IPrangeStartEnd.ps1 similar al siguiente:

PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start        end
-----        ---
52.229.17.64 52.229.17.127

Puede utilizar el siguiente script de PowerShell para convertir todas las direcciones IP de CIDR al formato de dirección IP inicial y final.

PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start          end
-----          ---
13.86.216.0    13.86.216.127
13.86.216.128  13.86.216.191
13.86.216.192  13.86.216.223

Ahora puede agregarlas como reglas de firewall distintas y, después, deshabilitar el valor Permitir que los servicios y recursos de Azure accedan a este servidor.

Etiqueta de servicio de SQL

Las etiquetas de servicio se pueden usar en reglas de seguridad y rutas de clientes a SQL Database. Las etiquetas de servicio se pueden usar en grupos de seguridad de red, Azure Firewall y rutas definidas por el usuario especificándolas en el campo de origen o destino de una regla de seguridad. La etiqueta de servicio Sql consta de todas las direcciones IP que usa SQL Database. La etiqueta se segmenta aún más por regiones. Por ejemplo, Sql.WestUS enumera todas las direcciones IP usadas por SQL Database en Oeste de EE. UU.

La etiqueta de servicio Sql consta de direcciones IP necesarias para establecer la conectividad con SQL Database, tal como se documenta en Direcciones IP de puerta de enlace. Además, una etiqueta de servicio también se asociará a cualquier tráfico saliente de SQL Database que se use en características como:

Etiqueta de servicio SqlManagement

La etiqueta de servicio SqlManagement se usa para las operaciones del plano de control en SQL Database.

Reglas de firewall de red virtual

Las reglas de firewall de la Virtual Network son alternativas más sencillas para establecer y gestionar el acceso desde una subred específica que contenga sus máquinas virtuales.

Private Link le permite conectarse a un servidor mediante un punto de conexión privado. Un punto de conexión privado es una dirección IP privada dentro de una Virtual Network y una subred específicas.