Configuración de reglas para acceder a un registro de contenedor de Azure detrás de un firewall

En este artículo se explica cómo configurar reglas en el firewall para permitir el acceso a un registro de contenedor de Azure. Por ejemplo, es posible que un dispositivo Azure IoT Edge que esté detrás de un firewall o de un servidor proxy necesite acceder a un registro de contenedor para extraer una imagen del contenedor. O bien, que un servidor bloqueado de una red local necesite tener acceso para enviar una imagen.

Para configurar el acceso de red entrante a un registro de contenedor solo dentro de una red virtual de Azure, consulte Configuración de Azure Private Link para un registro de contenedor de Azure.

Acerca de los puntos de conexión del registro

Para extraer o insertar imágenes u otros artefactos en un registro de contenedores de Azure, un cliente como un daemon de Docker debe interactuar a través de HTTPS con dos o más puntos de conexión distintos. Para los clientes que acceden a un registro desde detrás de un firewall, debe configurar reglas de acceso para cada punto de conexión. Todos los puntos de conexión se alcanzan a través del puerto 443.

  • Punto de conexión global (API REST): las operaciones de autenticación y administración del registro se controlan a través del punto de conexión de la API REST pública del registro. Este punto de conexión es el nombre del servidor de inicio de sesión del registro. Ejemplo: myregistry.azurecr.io

    • Registry REST API endpoint for certificates — Azure container registry usa un certificado SSL comodín para todos los subdominios. Al conectarse a Azure Container Registry mediante SSL, el cliente debe poder descargar el certificado para el protocolo de enlace TLS. En estos casos, azurecr.io también debe ser accesible.
  • Punto de conexión de almacenamiento (datos): Azure asigna almacenamiento de blob en cuentas de Azure Storage en nombre de cada registro para administrar los datos de imágenes de contenedor y otros artefactos. Cuando un cliente accede a capas de imagen en un registro de contenedor de Azure, realiza solicitudes mediante un punto de conexión de la cuenta de almacenamiento proporcionado por el registro.

Si el registro está replicado geográficamente, es posible que el cliente tenga que interactuar con los puntos de conexión de datos en una región específica o en varias regiones replicadas.

  • Punto de conexión regional (si está habilitado): cuando los puntos de conexión regionales están habilitados en un registro de SKU Premium , cada réplica geográfica obtiene un punto de conexión regional del formulario <registry-name>.<region>.geo.azurecr.io. Los puntos de conexión regionales permiten a los clientes conectarse directamente a una réplica geográfica específica para las operaciones de autenticación, inserción, extracción y eliminación, omitiendo el punto de conexión global. Si usa reglas de firewall, debe permitir el acceso al punto de conexión regional para cada réplica geográfica a la que se conectan los clientes.

Para obtener la lista completa de los tipos de punto de conexión y los patrones de FQDN, consulte la referencia del punto de conexión.

Permitir el acceso a los puntos de conexión de REST y de datos

  • Punto de conexión REST: permite el acceso al nombre del servidor de registro de inicio de sesión completamente calificado, <registry-name>.azurecr.io, o un rango de direcciones IP asociado
  • Punto de conexión de almacenamiento (datos) : permite el acceso a todas las cuentas de almacenamiento blob de Azure usando el carácter comodín *.blob.core.windows.net, o un rango de direcciones IP asociado.

Note

Azure Container Registry admite puntos de conexión de datos dedicados, lo que le permite definir estrechamente el ámbito de las reglas de firewall de cliente para el almacenamiento del registro. Opcionalmente, puede habilitar puntos de conexión de datos en todas las regiones donde se encuentra o replica el registro, con el formato <registry-name>.<region>.data.azurecr.io.

Si los puntos de conexión regionales también están habilitados , permita el acceso a <registry-name>.<region>.geo.azurecr.io cada réplica geográfica a la que se conectan los clientes.

Si los puntos de conexión de doble pila IPv6 están habilitados , los puntos de conexión del Registro se resuelven a través de IPv4 e IPv6. Las reglas de firewall basadas en los FQDN anteriores siguen funcionando sin cambios. Si permite el acceso por intervalos de direcciones IP en lugar de FQDN, tenga en cuenta el tráfico IPv6 en las reglas.

Acerca de los FQDN de Azure Container Registry

Azure Container Registry usa dos FQDN: la dirección URL de inicio de sesión y el punto de conexión de datos.

  • Tanto la dirección URL de inicio de sesión como el punto de conexión de datos son accesibles desde dentro de la red virtual, mediante direcciones IP privadas habilitando un vínculo privado.
  • Un registro que no usa puntos de conexión de datos debe acceder a los datos desde un punto de conexión con el formato *.blob.core.windows.net. Esto no proporciona el aislamiento necesario al configurar reglas de firewall.
  • Un registro con un vínculo privado habilitado obtiene automáticamente el punto de conexión de datos dedicado.
  • Se crea un punto de conexión de datos dedicado por región para un registro.
  • La dirección URL de inicio de sesión sigue siendo la misma si el punto de conexión de datos dedicado está habilitado o deshabilitado.

Permitir el acceso por intervalo de direcciones IP

Si su organización tiene directivas para permitir el acceso solo a direcciones IP específicas o intervalos de direcciones, descargue la versión más reciente de intervalos IP de Azure y etiquetas de servicio: nube pública.

Para buscar los intervalos IP del punto de conexión de REST de ACR para los cuales necesita permitir acceso, busque AzureContainerRegistry en el archivo JSON.

Importante

Los intervalos de direcciones IP de los servicios de Azure pueden cambiar. Estos cambios se publican semanalmente. Descargue el archivo JSON con regularidad y realice las modificaciones necesarias en las reglas de acceso. Si su escenario implica configurar reglas de grupo de seguridad de red en una red virtual de Azure o usa Azure Firewall, use la etiqueta de servicioAzureContainerRegistry en su lugar.

Direcciones IP de REST para todas las regiones

{
  "name": "AzureContainerRegistry",
  "id": "AzureContainerRegistry",
  "properties": {
    "changeNumber": 10,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.66.140.72/29",
    [...]

Direcciones IP de REST para una región específica

Busque la región específica, como AzureContainerRegistry.AustraliaEast.

{
  "name": "AzureContainerRegistry.AustraliaEast",
  "id": "AzureContainerRegistry.AustraliaEast",
  "properties": {
    "changeNumber": 1,
    "region": "australiaeast",
    "platform": "Azure",
    "systemService": "AzureContainerRegistry",
    "addressPrefixes": [
      "13.70.72.136/29",
    [...]

Direcciones IP de almacenamiento para todas las regiones

{
  "name": "Storage",
  "id": "Storage",
  "properties": {
    "changeNumber": 19,
    "region": "",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "13.65.107.32/28",
    [...]

Direcciones IP de almacenamiento para regiones específicas

Busque la región específica, como Storage.AustraliaCentral.

{
  "name": "Storage.AustraliaCentral",
  "id": "Storage.AustraliaCentral",
  "properties": {
    "changeNumber": 1,
    "region": "australiacentral",
    "platform": "Azure",
    "systemService": "AzureStorage",
    "addressPrefixes": [
      "52.239.216.0/23"
    [...]

Permitir el acceso por etiqueta de servicio

En una red virtual de Azure, use las reglas de seguridad de red para filtrar el tráfico de un recurso (por ejemplo, una máquina virtual) a un registro de contenedor. Para simplificar la creación de reglas de red de Azure, use la etiqueta de servicioAzureContainerRegistry. Una etiqueta de servicio constituye un grupo de prefijos de dirección IP para tener acceso a un servicio de Azure de manera global o por región de Azure. La etiqueta se actualiza automáticamente cuando las direcciones cambian.

Por ejemplo, cree una regla de grupo de seguridad de red saliente con el destino AzureContainerRegistry para permitir el tráfico a un registro de contenedor de Azure. Para permitir el acceso a la etiqueta de servicio solo en una región específica, especifique la región con el formato siguiente: AzureContainerRegistry.[region name].

Habilitar puntos de conexión de datos dedicados

Para conocer los pasos para habilitar puntos de conexión de datos dedicados mediante el portal de Azure o CLI de Azure, consulte Dedicated data endpoints in Azure Container Registry.

Después de configurar los puntos de conexión de datos dedicados para el registro, puede habilitar las reglas de acceso de firewall de cliente para los puntos de conexión de datos. Habilite las reglas de acceso de puntos de conexión de datos para todas las regiones de registro requeridas.

Configuración de las reglas de firewall de cliente para MCR

Para acceder a Microsoft Container Registry (MCR) desde detrás de un firewall, consulte las instrucciones para configurar las reglas de firewall de cliente de MCR. MCR es el registro principal para todas las imágenes de Docker publicadas por Microsoft, como las imágenes de Windows Server.

Pasos siguientes