Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a:Azure SQL Database
Las reglas de red virtual son una función de seguridad de cortafuegos que controla si el servidor de tus bases de datos y pools elásticos en Azure SQL Database acepta comunicaciones enviadas desde subredes particulares en redes virtuales. Este artículo explica por qué las reglas de red virtual a veces son la mejor opción para permitir la comunicación segura con tu base de datos en SQL Database.
Nota
En este artículo, servidor se refiere al servidor lógico que aloja bases de datos en Azure SQL Database.
Para crear una regla de red virtual, primero debe existir un punto de conexión de servicio de red virtual para que la regla haga referencia a él.
Nota
Microsoft Entra ID era conocido anteriormente como Azure Active Directory (Azure AD).
Crear una regla de red virtual
Si solo desea crear una regla de red virtual, puede ir directamente a los pasos y la explicación que hay más adelante en este artículo.
Detalles sobre las reglas de red virtual
En esta sección se describen varios detalles acerca de las reglas de red virtual.
Solo una región geográfica
Cada punto de conexión de servicio de red virtual es aplicable solo a una región de Azure. El punto de conexión no permite que otras regiones acepten la comunicación desde la subred.
Cualquier regla de red virtual se limita a la región a la que se aplica su punto de conexión subyacente.
A nivel de servidor, no de base de datos
Cada regla de red virtual se aplica a todo el servidor y no solo a una base de datos determinada del servidor. En otras palabras, la regla de red virtual se aplica en el nivel de servidor y no en el nivel de base de datos.
En cambio, se pueden aplicar reglas IP en cualquiera de los dos niveles.
Roles de administración de la seguridad
Existe una separación de los roles de seguridad en la administración de puntos de conexión de servicio de red virtual. Se requiere una acción de cada uno de los roles siguientes:
- Administrador de red (rol de Colaborador de red): active el punto de conexión.
- Administrador de base de datos (rol de Colaborador de SQL Server): actualice la lista de control de acceso (ACL) para a agregar la subred proporcionada al servidor.
Alternativa a RBAC de Azure
Los roles de administrador de red y de base de datos tienen más funcionalidades de las que se necesitan para administrar las reglas de red virtual. Solo necesitas un subconjunto de sus capacidades.
Puedes usar el control de acceso basado en roles (RBAC) en Azure para crear un único rol personalizado que solo tenga el subconjunto necesario de capacidades. Puedes usar el rol personalizado en lugar de involucrar al Administrador de Red o al Administrador de la Base de Datos. La superficie de tu exposición a la seguridad es menor si añades un usuario a un rol personalizado que si lo añades a los otros dos roles principales de administrador.
Nota
En algunos casos, la base de datos de SQL Database y la subred de red virtual están en suscripciones distintas. En estos casos debe garantizar las siguientes configuraciones:
- El usuario tiene los permisos necesarios para iniciar operaciones como habilitar los puntos de conexión de servicio y agregar una subred de red virtual al servidor especificado.
- Ambas suscripciones tienen al
Microsoft.Sqlproveedor registrado.
Limitaciones
Para SQL Database, la característica de regla de red virtual tiene las siguientes limitaciones:
- En el firewall de la base de datos de SQL Database, cada regla de red virtual hace referencia a una subred. Debes alojar todas estas subredes referenciadas en la misma región geográfica que alberga la base de datos.
- Cada servidor puede tener hasta 128 entradas de ACL para cualquier red virtual.
- Las reglas de red virtual solo se aplican a las redes virtuales de Azure Resource Manager, y no a las redes del modelo de implementación clásica.
- En el cortafuegos, los rangos de direcciones IP se aplican a los siguientes elementos de red, pero las reglas de red virtual no:
- Red privada virtual (VPN) de sitio a sitio (S2S)
- En el entorno local mediante Azure ExpressRoute
- Ambas suscripciones deben estar en el mismo tenant de Microsoft Entra.
Consideraciones al usar los puntos de conexión de servicio
Al utilizar los puntos de conexión de servicio para SQL Database, revise las consideraciones siguientes:
- Se requiere la salida a direcciones IP públicas de Azure SQL Database. Debe abrir los grupos de seguridad de red (NSG) en las direcciones IP de SQL Database para permitir la conectividad. Puede hacerlo mediante el uso de etiquetas de servicio de grupos de seguridad de red para SQL Database.
ExpressRoute
Si usas ExpressRoute desde tus instalaciones, para peering público o peering de Microsoft, necesitas identificar las direcciones IP NAT que se usan. Para el emparejamiento público, cada circuito ExpressRoute usa de forma predeterminada dos direcciones IP de NAT que se aplican al tráfico del servicio de Azure cuando el tráfico entra en la red troncal de Microsoft Azure. Para el peering de Microsoft, es el cliente o el proveedor de servicios quien proporciona las direcciones IP NAT que se utilizan. Para permitir el acceso a los recursos de su servicio, tiene que permitir estas direcciones IP públicas en la configuración del firewall de IP del recurso. Para encontrar las direcciones IP del circuito ExpressRoute de emparejamiento público, abra una incidencia de soporte técnico con ExpressRoute a través de Azure Portal. Para más información sobre NAT para el emparejamiento de Microsoft y el emparejamiento público de ExpresRoute, consulte Requisitos de NAT para el emparejamiento público de Azure.
Para permitir la comunicación desde su circuito a SQL Database, necesita crear reglas de red IP para las direcciones IP públicas de su NAT.
Efectos del uso de puntos de conexión de servicio de red virtual con Azure Storage
Azure Storage admite puntos de conexión de servicio de red virtual que limitan la conectividad a una cuenta de almacenamiento. Si SQL Database utiliza una cuenta con esta configuración, revisa el impacto en la auditoría de blobs.
Auditoría de Azure SQL Database en almacenamiento de blobs
La auditoría de Azure SQL puede escribir registros de auditoría de SQL en su propia cuenta de almacenamiento. Si esta cuenta de almacenamiento usa la característica de puntos de conexión de servicio de red virtual, consulte cómo escribir registros de auditoría en una cuenta de almacenamiento situada detrás de la red virtual y un firewall.
Añada una regla de firewall de red virtual a su servidor
Antes de que se mejorara esta característica, era necesario activar los puntos de conexión de servicio de red virtual para poder implementar una regla de red virtual activa en el firewall. Los puntos de conexión relacionaban una subred de red virtual determinada con una base de datos de SQL Database. Desde enero de 2018, puedes eludir este requisito colocando la IgnoreMissingVNetServiceEndpoint bandera. Ahora, puede agregar una regla de firewall para red virtual al servidor sin activar los puntos de conexión de servicio de red virtual.
Si solo establece una regla de firewall, no tendrá el servidor protegido. También debe activar los puntos de conexión de servicio de red virtual para que la seguridad surta efecto. Cuando activa los puntos de conexión de servicio, la subred de la red virtual experimenta cierto tiempo de inactividad hasta que se completa la transición de desactivado a activado. Este período de inactividad es especialmente significativo en el contexto de redes virtuales de gran tamaño. Puedes usar la IgnoreMissingVNetServiceEndpoint bandera para reducir o eliminar el tiempo muerto durante la transición.
Puedes configurar el IgnoreMissingVNetServiceEndpoint indicador usando PowerShell. Para más información, consulte PowerShell para crear un punto de conexión de servicio de red virtual y una regla para SQL Database.
Uso de Azure Portal para crear una regla de red virtual
En esta sección se muestra cómo se puede usar Azure Portal para crear una regla de red virtual en su base de datos de SQL Database. La regla indica a tu base de datos que acepte comunicación de una subred concreta que has etiquetado como un punto final de servicio de red virtual.
Nota
Para añadir un endpoint de servicio a las reglas del firewall de red virtual de tu servidor, primero asegúrate de que los endpoints de servicio estén activados para la subred.
Si los puntos de conexión de servicio no están activados para la subred, el portal le pedirá que los habilite. Seleccione el botón Habilitar del mismo panel en el que agrega la regla.
Requisitos previos
Ya debe tener una subred que esté etiquetada con el nombre de tipo concreto del punto de conexión de servicio de red virtual correspondiente a SQL Database.
- El nombre de tipo de punto de conexión pertinente es Microsoft.Sql.
- Si es posible que su subred no esté etiquetada con el nombre del tipo, consulte Comprobar que su subred es un punto de conexión.
Pasos del portal de Azure
Inicie sesión en Azure Portal.
Busque y seleccione servidores SQL y, después, seleccione el servidor. En Seguridad, seleccione Redes.
En la pestaña Acceso público , asegúrese de que el acceso a la red pública esté establecido en Seleccionar redes; de lo contrario, la configuración de redes virtuales está oculta. En la sección Redes virtuales, seleccione + Agregar red virtual existente.
En el nuevo panel Crear/Actualizar, rellene los cuadros con los nombres de los recursos de Azure.
Sugerencia
Debe incluir el prefijo de dirección correcto para su subred. Puede encontrar el valor Prefijo de dirección en el portal. Vaya a Todos los recursos>Todos los tipos>Redes virtuales. El filtro muestra sus redes virtuales. Seleccione la red virtual y, después, seleccione Subredes. La columna RANGO DE DIRECCIONES tiene el prefijo de dirección que necesita.
Consulte la regla de red virtual resultante en el panel Firewall.
Establezca Permitir que los servicios y recursos de Azure accedan a este servidor en No.
Importante
Si deja activado Permitir que los servicios y recursos de Azure accedan a este servidor, el servidor acepta la comunicación desde cualquier subred dentro del límite de Azure. Esa comunicación se origina en una de las direcciones IP que se reconocen como pertenecientes a los intervalos definidos para los centros de datos de Azure. Dejar el control habilitado podría suponer un acceso excesivo desde un punto de vista de seguridad. La característica de punto de conexión de servicio de red virtual de Microsoft Azure, junto con la característica de regla de red virtual de SQL Database, pueden reducir el área expuesta de seguridad.
Seleccione el botón Aceptar situado cerca de la parte inferior del panel.
Nota
Se aplican los siguientes estados a las reglas:
- Listo: Indica que la operación que iniciaste tuvo éxito.
- Fallido: Indica que la operación que iniciaste falló.
-
Eliminado: Solo se aplica a la
Deleteoperación e indica que la regla ha sido eliminada y ya no aplica. - InProgress: indica que la operación está en curso. Se aplica la regla antigua mientras la operación está en este estado.
Usar PowerShell para crear una regla de red virtual
Puede usar un script para crear reglas de red virtual mediante el cmdlet de PowerShell New-AzSqlServerVirtualNetworkRule o az network vnet create. Para más información, consulte PowerShell para crear un punto de conexión de servicio de red virtual y una regla para SQL Database.
Usar la API REST para crear una regla de red virtual
Internamente, los cmdlets de PowerShell para acciones de red virtual de SQL llaman a las API REST. Puede llamar directamente a las API REST. Para más información, consulte Reglas de red virtual: operaciones.
Soluciona los errores 40914 y 40615
El error de conexión 40914 se relaciona con reglas de red virtual, tal y como se especifica en el panel Firewall de Azure Portal.
El error 40615 es similar, pero está relacionado con las reglas de dirección IP en el cortafuegos.
Error 40914
Texto del mensaje: "No se puede abrir el servidor [server-name] solicitado por el login. El cliente no puede acceder al servidor.
Descripción del error: el cliente está en una subred que tiene puntos de conexión de servidor de red virtual. Pero el servidor no tiene una regla de red virtual que conceda a la subred el derecho a comunicarse con la base de datos.
Resolución de errores: en el panel Firewall de Azure Portal, use el control de reglas de red virtual para agregar una regla de red virtual para la subred.
Error 40615
Texto del mensaje: "No se puede abrir el servidor '{0}' solicitado por el inicio de sesión. El cliente con la dirección IP {1} no tiene permiso para acceder al servidor".
Descripción del error: el cliente intenta conectarse desde una dirección IP que no tiene autorización para conectarse al servidor. El firewall del servidor no tiene ninguna regla de dirección IP que permita que un cliente se comunique desde la dirección IP indicada con la base de datos.
Resolución de errores: Escriba la dirección IP del cliente como regla IP. Utiliza el panel Firewall en el portal de Azure para completar este paso.
Puntos de conexión de servicio de red virtual para Azure Synapse Analytics
Para más información, consulte Endpoints y reglas de servicios de red virtual para Azure Synapse Analytics.