Controles de acceso a la red de Azure SQL Database y Azure Synapse Analytics
Se aplica a:Azure SQL DatabaseAzure Synapse Analytics (solo grupos de SQL dedicados)
Al crear un servidor lógico desde el Azure Portal para Azure SQL Database y Azure Synapse Analytics, el resultado es un punto de conexión público con el formato yourservername.database.windows.net
.
De forma predeterminada, el servidor lógico deniega todas las conexiones para garantizar la seguridad. Puede usar uno o varios de los siguientes controles de acceso a la red para permitir de forma selectiva el acceso a una base de datos a través del 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
Las reglas de firewall basadas en IP son una característica del servidor lógico de Azure que impide todo el acceso al servidor hasta que se agregan explícitamente direcciones IP de las máquinas cliente.
Hay dos tipos de reglas de firewall:
- reglas de firewall de nivel de servidor: estas reglas se aplican a todas las bases de datos del servidor. Se pueden configurar mediante azure Portal, PowerShell o comandos de T-SQL como sp_set_firewall_rule.
reglas de firewall de nivel de base de datos : estas reglas se aplican a bases de datos individuales y solo se pueden configurarmediante comandos T-SQL como sp_set_database_firewall_rule
A continuación se muestran restricciones para asignar nombres a reglas de firewall:
- El nombre de la regla de firewall no puede estar vacío.
- No puede contener los siguientes caracteres:
<, >, *, %, &, :, \\, /, ?.
- No puede terminar con un punto (.).
- El nombre de la regla de firewall no puede superar los 128 caracteres.
Se produce un error en los intentos de crear reglas de firewall que no cumplan estas restricciones con un mensaje de error. Las modificaciones realizadas en las reglas de firewall basadas en IP existentes pueden tardar hasta 5 minutos en surtir efecto.
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 segundo plano, se agrega una regla de firewall de nivel de servidor especial que comienza y termina con la dirección IP de 0.0.0.0
.
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.