Compartir vía


Auditoría y administración de Azure Machine Learning

Cuando los equipos colaboran en Azure Machine Learning, es posible que se enfrenten a distintos requisitos para configurar y organizar recursos. Los equipos de aprendizaje automático podrían buscar flexibilidad en cómo organizar las áreas de trabajo para colaborar o ajustar el tamaño de los clústeres de proceso a los requisitos de sus casos de uso. En estos escenarios, la productividad podría beneficiarse si los equipos de aplicaciones pudieran administrar su propia infraestructura.

Como administrador de la plataforma, puede usar directivas para establecer límites de protección para que los equipos administren sus propios recursos. Azure Policy ayuda a auditar y controlar el estado de los recursos. En este artículo se explica cómo usar los controles de auditoría y las prácticas de gobernanza para Azure Machine Learning.

Directivas de Azure Machine Learning

Azure Policy es una herramienta de gobierno que le permite asegurarse de que los recursos de Azure son compatibles con las directivas.

Azure Policy proporciona un conjunto de directivas que se pueden usar en escenarios comunes con Azure Machine Learning. Estas definiciones de directiva se pueden asignar a la suscripción existente o utilizar como base para crear sus propias definiciones personalizadas.

En la tabla siguiente, se enumeran las directivas integradas que se pueden asignar con Azure Machine Learning. Para obtener una lista de todas las directivas integradas de Azure, consulte Directivas integradas.

Nombre
(Azure Portal)
Descripción Efectos Versión
(GitHub)
[Versión preliminar]: Las implementaciones de Azure Machine Learning solo deben usar modelos de Registro aprobados Restringir la implementación de modelos del Registro para controlar los modelos creados externamente que se usan en la organización Audit, Deny, Disabled 1.0.0-preview
[Versión preliminar]: las implementaciones del registro de modelos de Azure Machine Learning están restringidas, excepto para el registro permitido Implemente solo los modelos del registro en el registro permitido y que no estén restringidos. Deny, Disabled 1.0.0-preview
La instancia de proceso de Azure Machine Learning debe tener un apagado por inactividad. Al tener una programación de apagado por inactividad, se reduce el coste al cerrar los procesos que están inactivos después de un período de actividad predeterminado. Audit, Deny, Disabled 1.0.0
Las instancias de proceso de Azure Machine Learning se deben volver a crear para obtener las actualizaciones de software más recientes Asegúrese de que las instancias de proceso de Azure Machine Learning se ejecutan en el sistema operativo disponible más reciente. La seguridad se ha mejorado y se han reducido las vulnerabilidades mediante la ejecución con las revisiones de seguridad más recientes. Para más información, visite https://aka.ms/azureml-ci-updates/. [parameters('effects')] 1.0.3
Los procesos de Azure Machine Learning deben estar en una red virtual Las instancias de Azure Virtual Network aportan mayor seguridad y aislamiento a sus instancias y clústeres de proceso de Azure Machine Learning, así como a subredes, directivas de control de acceso y otras características para restringir aún más el acceso. Cuando se configura un proceso con una red virtual, no es posible acceder a ella públicamente; solamente se podrá acceder a ella desde máquinas virtuales y aplicaciones dentro de la red virtual. Audit, Disabled 1.0.1
Los procesos de Azure Machine Learning deberían tener deshabilitados los métodos de autenticación local Deshabilitar los métodos de autenticación local mejora la seguridad ya que garantiza que los procesos de Machine Learning requieran identidades de Azure Active Directory exclusivamente para la autenticación. Más información en: https://aka.ms/azure-ml-aad-policy. Audit, Deny, Disabled 2.1.0
Las áreas de trabajo de Azure Machine Learning deben cifrarse con una clave administrada por el cliente. Administre el cifrado en reposo de los datos del área de trabajo de Azure Machine Learning con claves administradas por el cliente. De manera predeterminada, los datos del cliente se cifran 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/azureml-workspaces-cmk. Audit, Deny, Disabled 1.1.0
Las áreas de trabajo de Azure Machine Learning deberían deshabilitar el acceso a la red pública Al deshabilitar el acceso a la red pública, se mejora la seguridad, ya que se garantiza que el área de trabajo de Machine Learning no se exponga en la red pública de Internet. Se puede controlar la exposición de las áreas de trabajo mediante la creación de puntos de conexión privados. Obtenga más información en: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal. Audit, Deny, Disabled 2.0.1
Las áreas de trabajo de Azure Machine Learning deben habilitar V1LegacyMode para admitir la compatibilidad con versiones anteriores de aislamiento de red Azure ML realiza una transición a una nueva plataforma de API V2 en Azure Resource Manager y puede controlar la versión de la plataforma de API mediante el parámetro V1LegacyMode. La habilitación del parámetro V1LegacyMode le permitirá mantener las áreas de trabajo en el mismo aislamiento de red que V1, aunque no tendrá el uso de las nuevas características V2. Se recomienda activar el modo heredado V1 solo cuando desee mantener los datos del plano de control de AzureML dentro de las redes privadas. Más información en: https://aka.ms/V1LegacyMode. Audit, Deny, Disabled 1.0.0
Las áreas de trabajo de Azure Machine Learning deben usar un vínculo privado. 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 áreas de trabajo de Azure Machine Learning, se reducen los riesgos de pérdida de datos. Más información sobre los vínculos privados en https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. Audit, Disabled 1.0.0
Las áreas de trabajo de Azure Machine Learning deben usar la identidad administrada asignada por el usuario Administre el acceso al área de trabajo de Azure Machine Learning y a los recursos asociados, Azure Container Registry, KeyVault, Storage y App Insights mediante la identidad administrada asignada por el usuario. De forma predeterminada, el área de trabajo de Azure Machine Learning usa la identidad administrada asignada por el sistema para acceder a los recursos asociados. La identidad administrada asignada por el usuario le permite crear la identidad como recurso de Azure y mantener el ciclo de vida de esa identidad. Obtenga más información en https://docs.microsoft.com/azure/machine-learning/how-to-use-managed-identities?tabs=python. Audit, Deny, Disabled 1.0.0
Configurar los procesos de Azure Machine Learning para deshabilitar los métodos de autenticación local Deshabilite los métodos de autenticación de ubicación para que los procesos de Machine Learning requieran identidades de Azure Active Directory exclusivamente para la autenticación. Más información en: https://aka.ms/azure-ml-aad-policy. Modificar, Deshabilitado 2.1.0
Configuración del área de trabajo de Azure Machine Learning para usar zonas DNS privadas Use zonas DNS privadas para invalidar la resolución DNS de un punto de conexión privado. Una zona DNS privada se vincula a la red virtual para resolver las áreas de trabajo de Azure Machine Learning. Más información en: https://docs.microsoft.com/azure/machine-learning/how-to-network-security-overview. DeployIfNotExists, Disabled 1.1.0
Configuración de las áreas de trabajo de Azure Machine Learning para deshabilitar el acceso a la red pública Deshabilite el acceso a la red pública de las áreas de trabajo de Azure Machine Learning para que estas no sean accesibles a través de la red pública de Internet. Esto ayuda a proteger las áreas de trabajo frente a riesgos de pérdida de datos. Se puede controlar la exposición de las áreas de trabajo mediante la creación de puntos de conexión privados. Obtenga más información en: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2&tabs=azure-portal. Modificar, Deshabilitado 1.0.3
Configuración de áreas de trabajo de Azure Machine Learning 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. Mediante la asignación de puntos de conexión privados a su área de trabajo de Azure Machine Learning, puede reducir los riesgos de pérdida de datos. Más información sobre los vínculos privados en https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. DeployIfNotExists, Disabled 1.0.0
Configuración de la configuración de diagnóstico del área de trabajo de Azure Machine Learning en el área de trabajo de Log Analytics Implementa la configuración de diagnóstico del área de trabajo de Azure Machine Learning para que transmita los registros de recursos a un área de trabajo de Log Analytics cuando se cree o actualice cualquier área de trabajo de Azure Machine Learning a la que le falte esta configuración de diagnóstico. DeployIfNotExists, Disabled 1.0.1
Los registros de recursos del área de trabajo de Azure Machine Learning deben estar habilitados Los registros de recursos habilitan que se vuelvan a crear seguimientos de actividad con fines de investigación en caso de que se produzcan incidentes de seguridad o riesgos para la red. AuditIfNotExists, Disabled 1.0.1

Se pueden establecer directivas en ámbitos diferentes, por ejemplo, en el nivel de suscripción o de grupo de recursos. Para más información, consulte la documentación de Azure Policy.

Asignación de directivas integradas

Para ver las definiciones de directivas integradas relacionadas con Azure Machine Learning, siga estos pasos:

  1. Vaya a Azure Policy en Azure Portal.
  2. Seleccione Definiciones.
  3. En Tipo, seleccione Integrado. En Categoría, seleccione Machine Learning.

Desde aquí, puede seleccionar definiciones de directivas para verlas. Al ver una definición, puede usar el vínculo Asignar para asignar la directiva a un ámbito específico y configurar los parámetros de la directiva. Para obtener más información, consulte Creación de una asignación de directiva para identificar recursos no compatibles mediante Azure Portal.

También es posible asignar directivas mediante Azure PowerShell, la CLI de Azure o plantillas.

Directivas de acceso condicional

Para controlar quién puede acceder al área de trabajo de Azure Machine Learning, use el acceso condicional de Microsoft Entra. Para usar el acceso condicional para áreas de trabajo de Azure Machine Learning, asigne la directiva de acceso condicional a la aplicación denominada Azure Machine Learning. El identificador de la aplicación es 0736f41a-0425-bdb5-1563eff02385.

Habilitación del autoservicio mediante zonas de aterrizaje

Las zonas de aterrizaje son un patrón arquitectónico que tiene en cuenta la escala, la gobernanza, la seguridad y la productividad al configurar entornos de Azure. Una zona de aterrizaje de datos es un entorno configurado por el administrador que un equipo de aplicaciones usa para hospedar una carga de trabajo de datos y análisis.

El propósito de la zona de aterrizaje es asegurarse de que se realice todo el trabajo de configuración de la infraestructura cuando un equipo inicie el entorno de Azure. Por ejemplo, los controles de seguridad se configuran de acuerdo con los estándares de la organización y se configura la conectividad de red.

Cuando se usa el patrón de zonas de aterrizaje, los equipos de aprendizaje automático pueden implementar y administrar sus propios recursos en forma de autoservicio. Al usar Azure Policy como administrador, es posible auditar y administrar recursos de Azure para el cumplimiento.

Azure Machine Learning se integra con las zonas de aterrizaje de datos en el escenario de análisis y administración de datos de Cloud Adoption Framework. Esta implementación de referencia proporciona un entorno optimizado al que migrar cargas de trabajo de aprendizaje automático en Azure Machine Learning e incluye directivas preconfiguradas.

Configuración de directivas integradas

La instancia de proceso debe disponer de apagado por inactividad

Esta directiva controla si una instancia de proceso de Azure Machine Learning debería tener habilitado el apagado por inactividad. El apagado por inactividad detiene automáticamente la instancia de proceso cuando está inactiva durante un período de tiempo especificado. Esta directiva es útil para ahorrar costes y asegurarse de que los recursos no se usen innecesariamente.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría, Denegar o Deshabilitado. Si se establece en Auditoría, podrá crear una instancia de proceso sin el apagado por inactividad habilitado y se creará un evento de advertencia en el registro de actividad.

Las instancias de proceso se deben volver a crear para obtener actualizaciones de software

Controla si se deberían auditar las instancias de proceso de Azure Machine Learning para asegurarse de que ejecuten las actualizaciones de software disponibles más recientes. Esta directiva es útil para asegurarse de que las instancias de proceso ejecuten las actualizaciones de software más recientes para mantener la seguridad y el rendimiento. Para más información, consulte Administración de vulnerabilidades para Azure Machine Learning.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría o Deshabilitado. Si se establece en Auditoría, se creará un evento de advertencia en el registro de actividad cuando un proceso no ejecute las actualizaciones de software más recientes.

El clúster de proceso y la instancia deberían estar en una red virtual

Controla la auditoría de los recursos de instancia y clúster de proceso detrás de una red virtual.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría o Deshabilitado. Si se establece en Auditoría, cree un proceso que no esté configurado detrás de una red virtual y se creará un evento de advertencia en el registro de actividad.

Los procesos deben tener deshabilitados los métodos de autenticación local.

Controla si una instancia o un clúster de proceso de Azure Machine Learning debe deshabilitar la autenticación local (SSH).

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría, Denegar o Deshabilitado. Si se establece en Auditoría, cree un proceso con SSH habilitado y se creará un evento de advertencia en el registro de actividad.

Si la directiva se estableciera en Denegar, no se podrá crear un proceso a menos que se deshabilite SSH. Al intentar crear un proceso con SSH habilitado, se produce un error. El error también se registra en el registro de actividad. Como parte de este error, también se devuelve el identificador de la directiva.

Las áreas de trabajo deben cifrarse con la clave administrada por el cliente

Controla si un área de trabajo debe cifrarse con una clave administrada por el cliente o con una clave administrada por Microsoft para cifrar métricas y metadatos. Para más información sobre el uso de claves administradas por el cliente, consulte la sección Azure Cosmos DB del artículo sobre cifrado de datos.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría o Denegar. Si se establece en Auditoría, se puede crear un área de trabajo sin una clave administrada por el cliente y se creará un evento de advertencia en el registro de actividad.

Si la directiva se estableciera en Denegar, no se podrá crear un área de trabajo a menos que se especifique una clave administrada por el cliente. Si se intenta crear un área de trabajo sin una clave administrada por el cliente, se producirá un error similar a Resource 'clustername' was disallowed by policy y se creará un error en el registro de actividad. Como parte de este error, también se devuelve el identificador de la directiva.

Configurar las áreas de trabajo para deshabilitar el acceso a la red pública

Controla si un área de trabajo debe deshabilitar el acceso a la red desde la red pública de Internet.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría, Denegar o Deshabilitado. Si se establece en Auditoría, se podrá crear un área de trabajo con acceso público y se creará un evento de advertencia en el registro de actividad.

Si la directiva se estableciera en Denegar, no se podrá crear un área de trabajo que permita el acceso a la red desde la red pública de Internet.

Las áreas de trabajo deben habilitar V1LegacyMode para admitir la compatibilidad con versiones anteriores de aislamiento de red

Controla si un área de trabajo debería habilitar V1LegacyMode para admitir la compatibilidad con versiones anteriores de aislamiento de red. Esta directiva resulta útil si se desean mantener los datos del plano de control de Azure Machine Learning dentro de las redes privadas. Para obtener más información, consulte Cambio en el aislamiento de red con la nueva plataforma de API.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría, Denegar o Deshabilitado. Si se estableciera en Auditoría, podrá crear un área de trabajo sin habilitar V1LegacyMode y se creará un evento de advertencia en el registro de actividad.

Si la directiva se estableciera en Denegar, no se podrá crear un área de trabajo a menos que se habilite V1LegacyMode.

Controla si un área de trabajo debe usar Azure Private Link para comunicarse con Azure Virtual Network. Para obtener más información sobre el uso de vínculos privados, consulte Configurar un punto de conexión privado para un área de trabajo de Azure Machine Learning.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría o Denegar. Si se estableciera en Auditoría, podrá crear un área de trabajo sin usar el vínculo privado y se creará un evento de advertencia en el registro de actividad.

Si la directiva se estableciera en Denegar, no se podrá crear un área de trabajo a menos que se especifique un vínculo privado. Al intentar crear un área de trabajo sin un vínculo privado se produce un error. El error también se registra en el registro de actividad. Como parte de este error, también se devuelve el identificador de la directiva.

Las áreas de trabajo deben usar identidades administradas asignadas por el usuario

Permite controlar si se crea un área de trabajo mediante una identidad administrada asignada por el sistema (valor predeterminado) o una identidad administrada asignada por el usuario. La identidad administrada para el área de trabajo se usa para tener acceso a recursos asociados como Azure Storage, Azure Container Registry, Azure Key Vault y Azure Application Insights. Para más información, consulte Configurar la autenticación entre Azure Machine Learning y otros servicios.

Para configurar esta directiva, establezca el parámetro de efecto en Auditoría, Denegar o Deshabilitado. Si se estableciera en Auditoría, se podrá crear un área de trabajo sin tener que especificar una identidad administrada asignada por el usuario. En cambio, se utiliza una identidad asignada por el sistema y se crea un evento de advertencia en el registro de actividad.

Si la directiva se estableciera en Denegar, no se podrá crear un área de trabajo a menos que se proporcione una identidad asignada por el usuario durante el proceso de creación. Si intenta crear un área de trabajo sin proporcionar una identidad asignada por el usuario obtendrá un error como resultado. Este error también se registra en el registro de actividad. Como parte de este error, también se devuelve el identificador de la directiva.

Configuración de procesos para modificar o deshabilitar la autenticación local

Con esta directiva se modifica cualquier clúster de proceso o solicitud de creación de instancia de Azure Machine Learning para deshabilitar la autenticación local (SSH).

Para configurar esta directiva, establezca el parámetro de efecto en Modificar o Deshabilitado. Si establece Modificar, cualquier creación de un clúster de proceso o de una instancia dentro del ámbito en el que se aplica automáticamente la directiva tiene deshabilitada la autenticación local.

Configuración del área de trabajo para usar zonas DNS privadas

Con esta directiva se configura un área de trabajo para que use una zona DNS privada y se invalida la resolución de DNS predeterminada para un punto de conexión privado.

Para configurar esta directiva, establezca el parámetro de efecto en DeployIfNotExists. Establezca privateDnsZoneId en el identificador de Azure Resource Manager de la zona DNS privada que se va a usar.

Configurar las áreas de trabajo para deshabilitar el acceso a la red pública

Configura un área de trabajo para deshabilitar el acceso a la red desde la red pública de Internet. Deshabilitar el acceso a la red pública ayuda a proteger las áreas de trabajo frente a riesgos de pérdida de datos. En su lugar, acceda al área de trabajo mediante la creación de puntos de conexión privados. Para obtener más información, consulte Configurar un punto de conexión privado para un área de trabajo de Azure Machine Learning.

Para configurar esta directiva, establezca el parámetro de efecto en Modificar o Deshabilitado. Si se establece en Modificar, cualquier creación de un área de trabajo dentro del ámbito en el que se aplica la directiva tiene deshabilitado automáticamente el acceso a la red pública.

Configuración de áreas de trabajo con puntos de conexión privados

Configura un área de trabajo para crear un punto de conexión privado en la subred especificada de Azure Virtual Network.

Para configurar esta directiva, establezca el parámetro de efecto en DeployIfNotExists. Establezca privateEndpointSubnetID en el id. de Azure Resource Manager de la subred.

Configuración de áreas de trabajo de diagnóstico para enviar registros a áreas de trabajo de Log Analytics

Configura las opciones de diagnóstico de un área de trabajo de Azure Machine Learning para enviar registros a un área de trabajo de Log Analytics.

Para configurar esta directiva, establezca el parámetro de efecto en DeployIfNotExists o Deshabilitado. Si se estableciera en DeployIfNotExists, la directiva creará una configuración de diagnóstico para enviar registros a un área de trabajo de Log Analytics si aún no existiera.

Los registros de los recursos de las áreas de trabajo deberían estar habilitados

Audita si los registros de recursos están habilitados para un área de trabajo de Azure Machine Learning. Los registros de recursos proporcionan información detallada sobre las operaciones realizadas en los recursos del área de trabajo.

Para configurar esta directiva, establezca el parámetro de efecto en AuditIfNotExists o Deshabilitado. Si se estableciera en AuditIfNotExists, la directiva auditará si los registros de recursos no están habilitados para el área de trabajo.

Creación de definiciones personalizadas

Cuando necesite crear directivas personalizadas para su organización, puede usar la estructura de definición de Azure Policy para crear sus propias definiciones. Puede usar la extensión de Visual Studio Code de Azure Policy para crear y probar las directivas.

Para descubrir los alias de directiva que puede usar en su definición, utilice el siguiente comando de la CLI de Azure para enumerar los alias de Azure Machine Learning:

az provider show --namespace Microsoft.MachineLearningServices --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

Para detectar los valores permitidos para un alias específico, consulte API de REST de Azure Machine Learning.

Para ver un tutorial (no específico de Azure Machine Learning) sobre cómo crear directivas personalizadas, visite Creación de una definición de directiva personalizada.

Ejemplo: Bloquear trabajos de proceso de Spark sin servidor

{
    "properties": {
        "displayName": "Deny serverless Spark compute jobs",
        "description": "Deny serverless Spark compute jobs",
        "mode": "All",
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "Microsoft.MachineLearningServices/workspaces/jobs/jobType",
                        "in": [
                            "Spark"
                        ]
                    }
                ]
            },
            "then": {
                "effect": "Deny"
            }
        },
        "parameters": {}
    }
}

Ejemplo: Configuración de ninguna dirección IP pública para los procesos administrados

{
    "properties": {
        "displayName": "Deny compute instance and compute cluster creation with public IP",
        "description": "Deny compute instance and compute cluster creation with public IP",
        "mode": "all",
        "parameters": {
            "effectType": {
                "type": "string",
                "defaultValue": "Deny",
                "allowedValues": [
                    "Deny",
                    "Disabled"
                ],
                "metadata": {
                    "displayName": "Effect",
                    "description": "Enable or disable the execution of the policy"
                }
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                  {
                    "field": "type",
                    "equals": "Microsoft.MachineLearningServices/workspaces/computes"
                  },
                  {
                    "allOf": [
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
                        "notEquals": "AKS"
                      },
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/enableNodePublicIP",
                        "equals": true
                      }
                    ]
                  }
                ]
              },
            "then": {
                "effect": "[parameters('effectType')]"
            }
        }
    }
}