Implementación del control de acceso de nivel de red

Completado

Azure Cosmos DB admite controles de acceso basado en IP para la compatibilidad con el firewall de entrada. La configuración de un firewall para la cuenta de Azure Cosmos hace que la cuenta sea accesible solo desde un conjunto aprobado de máquinas o servicios en la nube. El firewall solo ayudará a proteger el nivel de red. Las conexiones seguirán necesitando que el autor de la llamada presente un token de autorización válido.

Control de acceso de IP

De forma predeterminada, las cuentas de Azure Cosmos DB permiten que todas las redes y direcciones IP de Internet accedan a la cuenta. La solicitud de conexión solo es necesaria para presentar un token de autorización válido. Para configurar la seguridad de red para la cuenta de Azure Cosmos DB, deberá proporcionar un único intervalo IPv4 o CIDR para limitar el acceso solo desde la dirección o el IP proporcionado. Las conexiones desde cualquier dirección IP que no forme parte de la lista proporcionada de IP permitidas recibirán una respuesta 403 (Prohibido). Dado que puede que esté usando Azure Portal para ejecutar scripts en el Explorador de datos de la cuenta de Azure Cosmos DB o que esté revisando las métricas de la cuenta, también debe habilitar la opción Permitir el acceso desde Azure Portal en la configuración del firewall. Para usar estas características de Azure Cosmos DB en Azure Portal, también deberá agregar su dirección IP actual mediante la opción + Agregar mi IP actual (#.#.#.#).

El acceso a una cuenta de Azure Cosmos DB también se puede realizar con el control de acceso de la subred y la red virtual. Puede combinar el acceso para una subred específica en una red virtual y el firewall basado en IP para limitar el acceso desde direcciones IP públicas. Independientemente de la seguridad de red usada, deberá presentar un token de autorización válido.

Puede configurar las reglas de firewall de la cuenta de Azure Cosmos DB:

  • Desde Azure Portal.
  • Con una plantilla de Azure Resource Manager.
  • Mediante la CLI de Azure o Azure PowerShell actualizando la propiedad ipRangeFilter.

Configuración de un firewall de dirección IP mediante Azure Portal

Configure un firewall de IP mediante Azure Portal:

  1. En la página de la cuenta de Azure Cosmos DB, seleccione Firewall y redes virtuales.

  2. Seleccione la opción Redes seleccionadas.

    Diagrama que muestra las opciones de configuración del firewall.

  3. (Opcional) Para agregar una red virtual:

    1. Seleccione + Agregar red virtual existente para elegir entre una lista de redes virtuales existentes. En este ejemplo solo existe una red virtual, virtualnetwork1.

      Diagrama que muestra una lista de las redes virtuales existentes.

    2. Seleccione + Add new virtual network (Agregar nueva red virtual).

      Diagrama que muestra las opciones para crear una red virtual.

  4. (Opcional) Seleccione + Agregar mi IP actual (#.#.#.#) para poder conectarse desde el cliente actual. Revise la dirección IP del cliente que se muestra en esta opción y compruebe si es la dirección IP pública correcta. Esta opción ayuda a simplificar el desarrollo, ya que las aplicaciones que se ejecutan en la dirección IP del cliente podrían conectarse a la cuenta de Azure Cosmos DB.

  5. En Firewall, agregue un único intervalo IPv4 o CIDR. Esta es la opción que limitará el acceso solo desde la dirección o los intervalos direcciones IP proporcionados. Agregue tantas direcciones o intervalos IP como sea necesario. Deberá obtener las direcciones IP públicas de los servicios en la nube, las máquinas virtuales o cualquier equipo que necesite conectarse a Azure Cosmos DB. Si esos servicios, máquinas físicas o virtuales tienen una dirección IP que está en una instancia de Virtual Network permitida, es posible que no sea necesario agregar su dirección IP pública.

  6. Para habilitar las solicitudes de acceso desde Azure Portal, puede seleccionar la opción Permitir el acceso desde Azure Portal.

  7. (Opcional) Para habilitar el acceso desde otros orígenes en Azure, puede seleccionar la opción Aceptar conexiones desde centros de datos de Azure. Esta opción proporciona acceso a la cuenta de Azure Cosmos DB desde servicios que no proporcionan una dirección IP estática, como Azure Stream Analytics y Azure Functions. Esta opción permite todas las solicitudes de Azure, incluida la solicitud que podría originarse en otras suscripciones de cliente. La lista de IP permitidos por esta opción es amplia, por lo que limita la eficacia de una directiva de firewall. Use esta opción solo si las solicitudes no se originan en IP estáticos ni subredes de redes virtuales.

Solución de problemas con una directiva de control de acceso por IP

Vamos a revisar algunos posibles problemas que pueden producirse con una directiva de control de acceso IP:

Azure Portal bloqueado

Cuando la directiva de control de acceso de IP está habilitada, para habilitar las operaciones del plano de datos del portal, como la exploración de contenedores y la consulta de documentos, debe seleccionar la opción Permitir el acceso desde Azure Portal en la configuración de Firewall y redes virtuales de la cuenta de Azure Cosmos DB.

SDK bloqueado

Si las aplicaciones obtienen una respuesta genérica 403 Prohibido, compruebe la lista de direcciones IP permitidas para su cuenta y asegúrese de que se haya aplicado la configuración de directiva correcta a su cuenta de Azure Cosmos DB.

Direcciones IP de origen bloqueadas en las solicitudes

Para solucionar problemas, habilite el registro de diagnóstico en la cuenta de Azure Cosmos DB. Los códigos de retorno 403 se registrarán para los mensajes relacionados con el firewall. Puede filtrar estos mensajes para devolver las direcciones IP de origen de las solicitudes bloqueadas.

Solicitudes de una subred con un punto de conexión de servicio para la base de datos Azure Cosmos DB habilitada

Las solicitudes de una subred en una red virtual que tiene habilitado un punto de conexión de servicio para Azure Cosmos DB envían la identidad de la red virtual y la subred a las cuentas de Azure Cosmos DB. Estas solicitudes no tienen la dirección IP pública del origen, de modo que los filtros de IP las rechazan. Para permitir el acceso desde subredes específicas en redes virtuales, agregue una lista de control de acceso.

Direcciones IP privadas en la lista de direcciones permitidas

Asegúrese de que no se especifica ninguna dirección IP privada en la lista de direcciones permitidas.