Permitir que los servicios de confianza accedan de forma segura a un registro de contenedor con restricciones de red

Azure Container Registry puede permitir seleccionar servicios de confianza de Azure para que accedan a un registro configurado con reglas de acceso a la red. Cuando se permiten los servicios de confianza, una instancia de servicio de confianza puede omitir de forma segura las reglas de red del registro y realizar operaciones como extraer o insertar imágenes. En este artículo se explica cómo habilitar y usar servicios de confianza con un registro de contenedor de Azure restringido por la red.

Use Azure Cloud Shell o una instalación local de la CLI de Azure para ejecutar los ejemplos de comando de este artículo. Si quiere usarla de forma local, necesitará la versión 2.18 u otra posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Limitaciones

Acerca de los servicios de confianza

Azure Container Registry tiene un modelo de seguridad por niveles, que admite varias configuraciones de red que restringen el acceso a un registro, entre las que se incluyen:

  • Punto de conexión privado con Azure Private Link. Cuando se configura, a un punto de conexión privado del registro solo pueden acceder los recursos de la red virtual mediante direcciones IP privadas.
  • Reglas de firewall de registro, que permiten acceder al punto de conexión público del registro solo desde intervalos de direcciones o direcciones IP públicas específicas. También puede usar el firewall para bloquear todo el acceso al punto de conexión público al usar puntos de conexión privados.

Cuando se implementa en una red virtual o se configura con reglas de firewall, un registro deniega el acceso a los usuarios o servicios desde fuera de esos orígenes.

Varios servicios de Azure multiinquilino funcionan desde redes que no se pueden incluir en esta configuración de red del registro, lo que impide que realicen operaciones como extraer imágenes del registro o insertarlas en él. Al designar determinadas instancias de servicio como "de confianza", un propietario del registro puede permitir seleccionar recursos de Azure para que ignoren de forma segura la configuración de red del registro para realizar operaciones en el registro.

Servicios de confianza

Las instancias de los siguientes servicios pueden acceder a un registro de contenedor con restricción de red si la opción allow trusted services (Permitir servicios de confianza) del registro está habilitada (opción predeterminada). Se agregarán más servicios con el tiempo.

Cuando se indica, el acceso por parte del servicio de confianza requiere una configuración adicional de una identidad administrada en una instancia de servicio, la asignación de un rol RBAC y la autenticación con el registro. Para ver pasos de ejemplo, consulte Flujo de trabajo de servicios de confianza en este mismo artículo.

Servicio de confianza Escenarios de uso admitidos Configuración de la identidad administrada con el rol RBAC
Azure Container Instances Implementación en Azure Container Instances desde Azure Container Registry mediante una identidad administrada Sí, una identidad asignada por el sistema o el usuario
Microsoft Defender for Cloud Examen de vulnerabilidades por parte de Microsoft Defender para registros de contenedor No
ACR Tasks Acceso al registro primario o a otro registro desde una tarea de ACR
Machine Learning Implementar o entrenar un modelo en un área de trabajo de Machine Learning mediante una imagen de contenedor personalizada de Docker
Azure Container Registry Importación de imágenes hacia o desde un registro de contenedor de Azure restringido por la red No

Nota

Actualmente, el valor de configuración del servicio de confianza no se aplica a App Service.

Permitir servicios de confianza (CLI)

De forma predeterminada, la opción para permitir servicios de confianza está habilitada en un nuevo registro de contenedor de Azure. Para deshabilitar o habilitar la configuración, ejecute el comando az acr update.

Para deshabilitarlo:

az acr update --name myregistry --allow-trusted-services false

Para habilitar la configuración en un registro existente o en un registro en el que ya está deshabilitada:

az acr update --name myregistry --allow-trusted-services true

Permitir servicios de confianza (portal)

De forma predeterminada, la opción para permitir servicios de confianza está habilitada en un nuevo registro de contenedor de Azure.

Para deshabilitar o volver a habilitar la configuración en el portal:

  1. En el portal, vaya al registro de contenedor.
  2. En Configuración, seleccione Redes.
  3. En Permitir el acceso de red público, seleccione Redes seleccionadas o Deshabilitado.
  4. Realice una de las siguientes acciones:
    • Para deshabilitar el acceso de los servicios de confianza, en Firewall exception (Excepción de firewall), desactive Allow trusted Microsoft services to access this container registry (Permitir que los servicios de Microsoft de confianza accedan a este registro de contenedor).
    • Para admitir los servicios de confianza, en Firewall exception (Excepción de firewall), active Allow trusted Microsoft services to access this container registry (Permitir que los servicios de Microsoft de confianza accedan a este registro de contenedor).
  5. Seleccione Guardar.

Flujo de trabajo de los servicios de confianza

Este es un flujo de trabajo típico para permitir que una instancia de un servicio de confianza acceda a un registro de contenedor con restricción de red. Este flujo de trabajo es necesario cuando se usa la identidad administrada de una instancia de servicio para omitir las reglas de red del registro.

  1. Habilite una identidad administrada en una instancia de uno de los servicios de confianza para Azure Container Registry.
  2. Asigne la identidad de un rol de Azure al registro. Por ejemplo, asigne el rol ACRPull para extraer las imágenes del contenedor.
  3. En el registro con restricción de red, configure la opción para permitir el acceso de los servicios de confianza.
  4. Use las credenciales de la identidad para autenticarse en el registro con restricción de red.
  5. Extraiga imágenes del registro o realice otras operaciones permitidas por el rol.

Ejemplo: ACR Tasks

En el ejemplo siguiente se muestra cómo usar las tareas de ACR como un servicio de confianza. Vea Autenticación entre registros en una tarea de ACR mediante una identidad administrada por Azure para obtener más información sobre la tarea.

  1. Cree o actualice una instancia de Azure Container Registry. Cree una tarea de ACR.
    • Habilite una identidad administrada asignada por el sistema al crear la tarea.
    • Deshabilite el modo de autenticación predeterminado (--auth-mode None) de la tarea.
  2. Asigne a la identidad de la tarea un rol de Azure para acceder al registro. Por ejemplo, asigne el rol AcrPush, que tiene permisos para extraer e insertar imágenes.
  3. Agregue credenciales de identidad administrada a la tarea.
  4. Para confirmar que la tarea omite las restricciones de red, deshabilite el acceso público en el registro.
  5. Ejecute la tarea. Si el registro y la tarea están configurados correctamente, la tarea se ejecuta correctamente, ya que el registro permite el acceso.

Para probar la deshabilitación del acceso de los servicios de confianza:

  1. Deshabilite el valor para permitir el acceso de los servicios de confianza.
  2. Vuelva a ejecutar la tarea. En este caso, se produce un error en la ejecución de la tarea, ya que el registro ya no permite el acceso de la tarea.

Pasos siguientes