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:
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:
- Auditoría
- Evaluación de vulnerabilidades
- Servicio Import/Export
- OPENROWSET
- Inserción masiva
- sp_invoke_external_rest_endpoint
- Libro de contabilidad
- Cifrado de datos transparente de Azure SQL con una clave administrada por el cliente
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
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.
Contenido relacionado
Para consultar un inicio rápido sobre cómo crear una regla de firewall por IP de nivel de servidor, consulte Creación de una base de datos en SQL Database.
Para un inicio rápido sobre la creación de una regla de firewall de red virtual de nivel de servidor, consulte Puntos de conexión de servicio de red virtual y reglas para Azure SQL Database.
Si desea obtener ayuda para conectarse a una base de SQL Database desde aplicaciones de código abierto o de socio, consulte Ejemplos de código de inicio rápido de cliente para SQL Database.
Para información sobre otros puertos que puede necesitar abrir, vea la sección SQL Database: fuera frente a dentro: de la sección Puertos más allá de 1433 para ADO.NET 4.5 y SQL Database
Para información general sobre la connectividad de Azure SQL Database, consulte Arquitectura de conectividad de Azure SQL.
Para obtener información general sobre la seguridad de Azure SQL Database, vea Protección de bases de datos SQL.