Compartir vía


Auditoría del cumplimiento de los registros de contenedor de Azure mediante Azure Policy

Azure Policy es un servicio de Azure que se usa para crear, asignar y administrar las definiciones de directivas. Las definiciones de directivas aplican distintas reglas y efectos sobre los recursos, para que estos sigan siendo conformes con los estándares corporativos y los acuerdos de nivel de servicio.

En este artículo se presentan las definiciones de directivas integradas para Azure Container Registry. Use estas definiciones para auditar los registros nuevos y existentes a fin de determinar su cumplimiento.

No se aplican cargos por usar Azure Policy.

Definiciones de directiva integradas

Las definiciones de directivas integradas siguientes son específicas de Azure Container Registry:

Nombre
(Azure Portal)
Descripción Efectos Versión
(GitHub)
[Versión preliminar]: Container Registry debe redundante de zona. Container Registry se puede configurar para que sea redundante de zona o no. Cuando la propiedad zoneRedundancy de una instancia de Container Registry se establece en "Disabled", significa que el registro no es redundante de zona. La aplicación de esta directiva ayuda a garantizar que Container Registry está configurado correctamente para la resistencia de zona, lo que reduce el riesgo de tiempo de inactividad durante las interrupciones de zona. Audit, Deny, Disabled 1.0.0-preview
[Vista previa]: Container Registry debe usar un punto de conexión del servicio de red virtual Esta directiva audita toda instancia de Container Registry no configurada para usar un punto de conexión del servicio de red virtual. Audit, Disabled 1.0.0-preview
Las vulnerabilidades de las imágenes del contenedor del registro de Azure deben resolverse (con tecnología de Administración de vulnerabilidades de Microsoft Defender) La evaluación de vulnerabilidades de la imagen de contenedor examina el registro para detectar vulnerabilidades conocidas (CVE) y proporciona un informe detallado de vulnerabilidades para cada imagen. La resolución de vulnerabilidades puede mejorar considerablemente la posición de seguridad, lo que garantiza que las imágenes sean seguras para usarlas antes de la implementación. AuditIfNotExists, Disabled 1.0.1
Configure los registros de contenedor para deshabilitar la autenticación anónima. Deshabilite la extracción anónima del registro para que el usuario no autenticado no pueda acceder a los datos. Al deshabilitar los métodos de autenticación local, como el usuario administrador, los tokens de acceso de ámbito de repositorio y la extracción anónima, se mejora la seguridad al garantizar que los registros de contenedor requieren exclusivamente identidades de Azure Active Directory para la autenticación. Más información en: https://aka.ms/acr/authentication. Modificar, Deshabilitado 1.0.0
Configure los registros de contenedor para deshabilitar la autenticación de token de audiencia de ARM. Deshabilite los tokens de audiencia de ARM de Azure Active Directory para la autenticación en el registro. Solo se usarán tokens de audiencia de Azure Container Registry (ACR) para la autenticación. Esto garantizará que solo se puedan usar tokens destinados al uso en el registro para la autenticación. Deshabilitar los tokens de audiencia de ARM no afecta a la autenticación de los tokens de acceso de usuario administrador o de ámbito. Más información en: https://aka.ms/acr/authentication. Modificar, Deshabilitado 1.0.0
Configure los registros de contenedor para deshabilitar la cuenta de administrador local. Deshabilite la cuenta de administración de su registro para que el administrador local no pueda acceder a ella. Al deshabilitar los métodos de autenticación local, como el usuario administrador, los tokens de acceso de ámbito de repositorio y la extracción anónima, se mejora la seguridad al garantizar que los registros de contenedor requieren exclusivamente las identidades de Azure Active Directory para la autenticación. Más información en: https://aka.ms/acr/authentication. Modificar, Deshabilitado 1.0.1
Configurar las instancias de Container Registry para deshabilitar el acceso a la red pública Deshabilite el acceso a la red pública para el recurso de Container Registry de modo que no sea accesible a través de la red pública de Internet. Esto puede reducir los riesgos de pérdida de datos. Más información en https://aka.ms/acr/portal/public-network y https://aka.ms/acr/private-link. Modificar, Deshabilitado 1.0.0
Configure los registros de contenedor para deshabilitar el token de acceso de ámbito de repositorio. Deshabilite los tokens de acceso de ámbito de repositorio para el registro para que los tokens no puedan acceder a los repositorios. Al deshabilitar los métodos de autenticación local, como el usuario administrador, los tokens de acceso de ámbito de repositorio y la extracción anónima, se mejora la seguridad al garantizar que los registros de contenedor requieren exclusivamente identidades de Azure Active Directory para la autenticación. Más información en: https://aka.ms/acr/authentication. Modificar, Deshabilitado 1.0.0
Configurar las instancias de Container Registry con puntos de conexión privados Los puntos de conexión privados conectan la red virtual a los servicios de Azure sin una dirección IP pública en el origen o el destino. Al asignar puntos de conexión privados a los recursos del registro de contenedor prémium, puede reducir los riesgos de pérdida de datos. Más información en https://aka.ms/privateendpoints y https://aka.ms/acr/private-link. DeployIfNotExists, Disabled 1.0.0
Los registros de contenedor deben cifrarse con una clave administrada por el cliente Use claves administradas por el cliente para administrar el cifrado en reposo del contenido de los registros. De manera predeterminada, los datos se cifran en reposo con claves administradas por el servicio, pero las claves administradas por el cliente suelen ser necesarias para cumplir estándares de cumplimiento normativo. Las claves administradas por el cliente permiten cifrar los datos con una clave de Azure Key Vault creada por el usuario y propiedad de este. Tiene control y responsabilidad totales del ciclo de vida de la clave, incluidos la rotación y administración. Obtenga más información en https://aka.ms/acr/CMK. Audit, Deny, Disabled 1.1.2
Los registros de contenedor deben tener deshabilitada la autenticación anónima. Deshabilite la extracción anónima del registro para que los usuarios no autenticados no puedan acceder a los datos. Al deshabilitar los métodos de autenticación local, como el usuario administrador, los tokens de acceso de ámbito de repositorio y la extracción anónima, se mejora la seguridad al garantizar que los registros de contenedor requieren exclusivamente identidades de Azure Active Directory para la autenticación. Más información en: https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.0
Los registros de contenedor deberían tener deshabilitada la autenticación de token de audiencia de ARM. Deshabilite los tokens de audiencia de ARM de Azure Active Directory para la autenticación en el registro. Solo se usarán tokens de audiencia de Azure Container Registry (ACR) para la autenticación. Esto garantizará que solo se puedan usar tokens destinados al uso en el registro para la autenticación. Deshabilitar los tokens de audiencia de ARM no afecta a la autenticación de los tokens de acceso de usuario administrador o de ámbito. Más información en: https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.0
Los registros de contenedor deben tener las exportaciones deshabilitadas Deshabilitar las exportaciones mejora la seguridad al garantizar que se accede a los datos de un registro únicamente a través del plano de datos ("docker pull"). Los datos no se pueden mover fuera del registro a través de "acr import" o a través de "acr transfer". Para deshabilitar las exportaciones, se debe deshabilitar el acceso a la red pública. Más información en: https://aka.ms/acr/export-policy. Audit, Deny, Disabled 1.0.0
Los registros de contenedor deben tener deshabilitada la cuenta de administrador local. Deshabilite la cuenta de administración de su registro para que el administrador local no pueda acceder a ella. Al deshabilitar los métodos de autenticación local, como el usuario administrador, los tokens de acceso de ámbito de repositorio y la extracción anónima, se mejora la seguridad al garantizar que los registros de contenedor requieren exclusivamente las identidades de Azure Active Directory para la autenticación. Más información en: https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.1
Los registros de contenedor deben tener deshabilitado el token de acceso de ámbito de repositorio. Deshabilite los tokens de acceso de ámbito de repositorio para el registro para que los tokens no puedan acceder a los repositorios. Al deshabilitar los métodos de autenticación local, como el usuario administrador, los tokens de acceso de ámbito de repositorio y la extracción anónima, se mejora la seguridad al garantizar que los registros de contenedor requieren exclusivamente identidades de Azure Active Directory para la autenticación. Más información en: https://aka.ms/acr/authentication. Audit, Deny, Disabled 1.0.0
Las instancias de Container Registry deben tener SKU que admitan vínculos privados Azure Private Link permite conectar la red virtual a servicios de Azure sin una dirección IP pública en el origen o el destino. La plataforma Private Link administra la conectividad entre el consumidor y los servicios a través de la red troncal de Azure. Mediante la asignación de puntos de conexión privados a los registros de contenedor en lugar de a todo el servicio, se reducen los riesgos de pérdida de datos. Más información en: https://aka.ms/acr/private-link. Audit, Deny, Disabled 1.0.0
Las instancias de Container Registry no deben permitir el acceso de red sin restricciones De manera predeterminada, las instancias de Azure Container Registry aceptan conexiones a través de Internet de hosts de cualquier red. Para proteger sus registros de posibles amenazas, permita el acceso solo desde determinados puntos de conexión privados, direcciones IP públicas o intervalos de direcciones. Si su registro no tiene reglas de red configuradas, aparecerá en los recursos no incorrectos. Más información sobre las reglas de red de Container Registry aquí: https://aka.ms/acr/privatelink,https://aka.ms/acr/portal/public-network y https://aka.ms/acr/vnet. Audit, Deny, Disabled 2.0.0
Los registros de contenedor deben impedir la creación de reglas de caché Deshabilitar la creación de reglas de caché para Azure Container Registry para evitar que se extraiga a través de las extracciones de caché. Más información en: https://aka.ms/acr/cache. Audit, Deny, Disabled 1.0.0
Las instancias de Container Registry deben usar Private Link Azure Private Link permite conectar la red virtual a servicios de Azure sin una dirección IP pública en el origen o el destino. La plataforma Private Link controla la conectividad entre el consumidor y los servicios a través de la red troncal de Azure. Al asignar puntos de conexión privados a las instancias de Container Registry en lugar de a todo el servicio, además se protege frente a riesgos de pérdida de datos. Más información en: https://aka.ms/acr/private-link. Audit, Disabled 1.0.1
Habilitación del registro por grupo de categorías para los registros de contenedor (microsoft.containerregistry/registries) en un centro de eventos Los registros de recursos deben habilitarse para realizar un seguimiento de las actividades y eventos que tienen lugar en los recursos y proporcionarle visibilidad e información sobre los cambios que se produzcan. Esta directiva implementa una configuración de diagnóstico mediante un grupo de categorías para enrutar los registros a un centro de eventos para los registros de contenedor (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.2.0
Habilitación del registro por grupo de categorías para los registros de contenedor (microsoft.containerregistry/registries) en Log Analytics Los registros de recursos deben habilitarse para realizar un seguimiento de las actividades y eventos que tienen lugar en los recursos y proporcionarle visibilidad e información sobre los cambios que se produzcan. Esta directiva implementa una configuración de diagnóstico mediante un grupo de categorías para enrutar los registros a un área de trabajo de Log Analytics para los registros de contenedor (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
Habilitación del registro por grupo de categorías para los registros de contenedor (microsoft.containerregistry/registries) en Storage Los registros de recursos deben habilitarse para realizar un seguimiento de las actividades y eventos que tienen lugar en los recursos y proporcionarle visibilidad e información sobre los cambios que se produzcan. Esta directiva implementa una configuración de diagnóstico mediante un grupo de categorías para enrutar los registros a una cuenta de almacenamiento para los registros de contenedor (microsoft.containerregistry/registries). DeployIfNotExists, AuditIfNotExists, Disabled 1.1.0
El acceso a la red pública debe estar deshabilitado en las instancias de Container Registry Al deshabilitar el acceso a la red pública, se mejora la seguridad, ya que los registros de contenedor no se exponen en la red pública de Internet. La creación de puntos de conexión privados puede limitar la exposición de los recursos del registro de contenedor. Más información en https://aka.ms/acr/portal/public-network y https://aka.ms/acr/private-link. Audit, Deny, Disabled 1.0.0

Creación de asignaciones de directivas

Nota

Después de crear o actualizar una asignación de directiva, la asignación tarda algún tiempo en evaluar a los recursos del ámbito definido. Consulte información sobre desencadenadores de evaluación de directivas.

Revisión del cumplimiento de directivas

Acceda a la información de cumplimiento generada por las asignaciones de directivas mediante Azure Portal, las herramientas de la línea de comandos de Azure o los SDK de Azure Policy. Para detalles, consulte Obtención de datos de cumplimiento de los recursos de Azure.

Cuando un recurso no es compatible, hay muchos motivos posibles para ello. Para determinar el motivo o encontrar al responsable del cambio, consulte Determinación del incumplimiento.

Cumplimiento de directivas en el portal:

  1. Seleccione Todos los servicios y busque Directiva.

  2. Seleccione Cumplimiento.

  3. Use los filtros para limitar los estados de cumplimiento o para buscar las directivas.

    Cumplimiento de directivas en el portal

  4. Seleccione una directiva para revisar los eventos y los detalles de cumplimiento de los agregados. Si lo desea, seleccione un registro específico para el cumplimiento de los recursos.

Cumplimiento de directivas en la CLI de Azure

También puede usar la CLI de Azure para obtener datos de cumplimiento. Por ejemplo, use el comando az policy assignment list en la CLI para obtener los identificadores de directiva de las directivas de Azure Container Registry que se aplican:

az policy assignment list --query "[?contains(displayName,'Container Registries')].{name:displayName, ID:id}" --output table

Salida del ejemplo:

Name                                                                                   ID
-------------------------------------------------------------------------------------  --------------------------------------------------------------------------------------------------------------------------------
Container Registries should not allow unrestricted network access           /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/b4faf132dc344b84ba68a441
Container Registries should be encrypted with a Customer-Managed Key (CMK)  /subscriptions/<subscriptionID>/providers/Microsoft.Authorization/policyAssignments/cce1ed4f38a147ad994ab60a

Luego, ejecute az policy state list para devolver el estado de cumplimiento con formato JSON para todos los recursos de un identificador de directiva específico:

az policy state list \
  --resource <policyID>

O bien ejecute az policy state list para devolver el estado de cumplimiento con formato JSON de un recurso de registro específico, como myregistry:

az policy state list \
 --resource myregistry \
 --namespace Microsoft.ContainerRegistry \
 --resource-type registries \
 --resource-group myresourcegroup

Pasos siguientes