Cifrado de datos con Azure Machine Learning

Azure Machine Learning utiliza varios servicios de almacenamiento de datos y recursos de proceso al entrenar modelos y realizar inferencias. En este artículo, obtendrá información sobre el cifrado de datos de cada servicio en reposo y en tránsito.

Para el cifrado de nivel de producción durante el entrenamiento, se recomienda usar un clúster de proceso de Azure Machine Learning. Para el cifrado de nivel de producción durante la inferencia, Microsoft recomienda usar Azure Kubernetes Service (AKS).

Una instancia de proceso de Azure Machine Learning es un entorno de desarrollo/pruebas. Cuando se use, es aconsejable almacenar los archivos, como cuadernos y scripts, en un recurso compartido de archivos. Almacene los datos en un almacén de datos.

Cifrado en reposo

Los proyectos de un extremo a otro de Azure Machine Learning se integran con servicios como Azure Blob Storage, Azure Cosmos DB y Azure SQL Database. En este artículo se describen los métodos de cifrado de estos servicios.

Azure Blob Storage

Azure Machine Learning almacena instantáneas, salidas y registros en la cuenta de Azure Blob Storage (cuenta de almacenamiento predeterminada) vinculada al área de trabajo de Azure Machine Learning y a la suscripción. Todos los datos almacenados en Azure Blob Storage se cifran en reposo con claves administradas por Microsoft.

Para más información sobre el uso de claves propias para los datos almacenados en Azure Blob Storage, consulte Cifrado de Azure Storage con claves administradas por el cliente en Azure Key Vault.

Los datos de entrenamiento también se suelen almacenar en Azure Blob Storage para que los destinos de proceso de entrenamiento puedan acceder a ellos. Azure Machine Learning no administra este almacenamiento. Este almacenamiento se monta en destinos de proceso como sistema de archivos remoto.

Si necesita girar o revocar la clave, puede hacerlo en cualquier momento. Cuando se rota una clave, la cuenta de almacenamiento comienza a usar la nueva clave (la versión más reciente) para cifrar los datos en reposo. Si una clave se revoca (se deshabilita), la cuenta de almacenamiento se encarga de las solicitudes con errores. Normalmente, se tarda una hora para que la rotación o la revocación surtan efecto.

Para más información sobre cómo volver a generar una clave de acceso, vea el artículo Regeneración de las claves de acceso de una cuenta de almacenamiento.

Azure Data Lake Storage

Nota:

El 29 de febrero de 2024 se retirará Azure Data Lake Storage Gen1. Para obtener más información, consulte el anuncio oficial. Si usa Azure Data Lake Storage Gen1, asegúrese de migrar a Azure Data Lake Storage Gen2 antes de esa fecha. Para saber cómo, consulte Migración de Azure Data Lake Storage de Gen1 a Gen2 con Azure Portal.

A menos que ya tenga una cuenta de Azure Data Lake Storage Gen1, no puede crear otras.

Azure Data Lake Storage Gen2 se basa en Azure Blob Storage y se ha diseñado para el análisis de macrodatos. Data Lake Storage Gen2 se usa como almacén de datos para Azure Machine Learning. Al igual que en Azure Blob Storage los datos en reposo se cifran con claves administradas por Microsoft.

Para más información sobre el uso de claves propias para los datos almacenados en Azure Data Lake Storage, consulte Cifrado de Azure Storage con claves administradas por el cliente en Azure Key Vault.

Bases de datos relacionales de Azure

Azure Machine Learning Service admite datos de los siguientes orígenes de datos.

Azure SQL Database

El cifrado de datos transparente ayuda a proteger Azure SQL Database frente a amenazas de actividad sin conexión malintencionada, ya que usa el cifrado de datos en reposo. De forma predeterminada, el cifrado de datos transparente se habilita en todas las bases de datos SQL recién implementadas que usen claves administradas por Microsoft.

Para más información sobre cómo usar claves administradas por el cliente para el cifrado de datos transparente, consulte Cifrado de datos transparente de Azure SQL Database.

Azure Database for PostgreSQL

De forma predeterminada, Azure Database for PostgreSQL usa el cifrado de Azure Storage para cifrar datos en reposo de manera predeterminada mediante claves administradas por Microsoft. Es similar al cifrado de datos transparente de otras bases de datos, como SQL Server.

Para obtener información sobre cómo usar claves administradas por el cliente para el cifrado de datos transparente, consulte Cifrado de datos del servidor único de Azure Database for PostgreSQL con una clave administrada por el cliente.

Azure Database for MySQL

Azure Database for MySQL es un servicio de base de datos relacional de Microsoft Cloud. Se basa en el motor de base de datos de Community Edition de MySQL. El servicio Azure Database for MySQL usa el módulo criptográfico validado con FIPS 140-2 para el cifrado que realiza Azure Storage de los datos en reposo.

Para cifrar los datos mediante claves administradas por el cliente, consulte Cifrado de datos de Azure Database for MySQL con una clave administrada por el cliente.

Azure Cosmos DB

Azure Machine Learning almacena metadatos en una instancia de Azure Cosmos DB. Esta instancia está asociada a una suscripción de Microsoft y es Azure Machine Learning el que la administra. Todos los datos almacenados en Azure Cosmos DB se cifran en reposo con claves administradas por Microsoft.

Si va a usar sus propias claves (administradas por el cliente) para cifrar la instancia de Azure Cosmos DB, se crea una instancia de Azure Cosmos DB administrada por Microsoft en la suscripción. Esta instancia se crea en un grupo de recursos administrado por Microsoft, que es diferente del grupo de recursos de su área de trabajo. Para obtener más información, consulte Claves administradas por el cliente para Azure Machine Learning.

Azure Container Registry

Todas las imágenes del contenedor que se encuentran en su registro de contenedor (una instancia de Azure Container Registry) se cifran en reposo. Azure cifra automáticamente una imagen antes de almacenarla y la descifra cuando Azure Machine Learning la extrae.

Para utilizar claves administradas por el cliente para cifrar su registro de contenedor, debe crear dicho registros y asociarlo al aprovisionar el área de trabajo. Puede cifrar la instancia predeterminada que se crea en el momento del aprovisionamiento del área de trabajo.

Importante

Azure Machine Learning requiere que habilite la cuenta de administrador en el registro de contenedor. De forma predeterminada, esta opción se deshabilita al crear un registro de contenedor. Para información sobre cómo habilitar la cuenta de administrador, consulte el apartado Cuenta de administrador de este mismo capítulo.

Después de crear un registro de contenedor para un área de trabajo, no lo elimine. Si lo hace, se interrumpirá el área de trabajo de Azure Machine Learning.

Para ver ejemplos de cómo crear un área de trabajo mediante un registro de contenedor existente, vea los siguientes artículos:

Azure Container Instances

Importante

Las implementaciones en Azure Container Instances utilizan el SDK de Python y la CLI v1 de Azure Machine Learning.

Cualquier recurso de Azure Container Instances implementado mediante claves administradas por el cliente se puede cifrar. Las claves administradas por el cliente que se usan para Container Instances se pueden almacenar en el almacén de claves del área de trabajo.

SE APLICA A:SDK de Python azureml v1

Para usar la clave al implementar un modelo en Container Instances, cree una configuración de implementación mediante AciWebservice.deploy_configuration(). Especifique la información de la clave y utilice para ello los siguientes parámetros:

  • cmk_vault_base_url: La dirección URL del almacén de claves que contiene la clave.
  • cmk_key_name: El nombre de la clave.
  • cmk_key_version: La versión de la clave.

Para obtener más información sobre la creación y el uso de una configuración de implementación, vea los siguientes artículos:

Para más información sobre el uso de claves administradas por el cliente con Container Instances, consulte Cifrado de datos de implementación.

Azure Kubernetes Service

Cualquier recurso implementado de Azure Kubernetes Service se puede cifrar en cualquier momento mediante claves administradas por el cliente. Para más información, consulte Traiga sus propias claves (BYOK) con discos de Azure en Azure Kubernetes Service (AKS).

Este proceso permite cifrar tanto los datos como el disco del sistema operativo de las máquinas virtuales implementadas en el clúster de Kubernetes.

Importante

Este proceso solo funciona tanto con la versión 1.17 de AKS, como con las posteriores. Azure Machine Learning agregó compatibilidad con AKS 1.17 el 13 de enero de 2020.

Proceso de Machine Learning

Clúster de proceso

El disco del sistema operativo de cada nodo de proceso almacenado en Azure Storage se cifra mediante claves administradas por Microsoft en las cuentas de almacenamiento de Azure Machine Learning. Este destino de proceso es efímero y, por lo general, los clústeres se reducen verticalmente cuando no hay ningún trabajo en cola. La máquina virtual subyacente se desaprovisiona y el disco del sistema operativo se elimina.

Azure Disk Encryption no está habilitado para áreas de trabajo de forma predeterminada. Si crea el área de trabajo con el parámetro hbi_workspace establecido en TRUE, el disco con el sistema operativo se cifra.

Cada máquina virtual tiene también un disco local temporal para las operaciones del sistema operativo. Si quiere, puede usar el disco para almacenar temporalmente los datos de entrenamiento. Si crea el área de trabajo con el parámetro hbi_workspace establecido en TRUE, el disco temporal se cifra. Este entorno es de corta duración (solo dura el tiempo del trabajo) y la compatibilidad con el cifrado se limita únicamente a las claves administradas por el sistema.

Tanto los puntos de conexión en línea administrados como los puntos de conexión por lotes usan el proceso de Azure Machine Learning en el back-end y siguen el mismo mecanismo de cifrado.

Instancia de proceso

El disco del sistema operativo de una instancia de proceso se cifra mediante claves administradas por Microsoft en las cuentas de almacenamiento de Azure Machine Learning. Si el área de trabajo se creó con el parámetro hbi_workspace establecido en TRUE, los discos temporales y el disco con el sistema operativo locales en una instancia de proceso se cifran con claves administradas por Microsoft. El cifrado de claves administradas por el cliente no se admite en los discos temporales y de sistema operativo.

Para obtener más información, consulte Claves administradas por el cliente para Azure Machine Learning.

Azure Data Factory

Esta canalización de Azure Data Factory ingiere datos para usarlos con Azure Machine Learning. Azure Data Factory cifra los datos en reposo, lo que incluye las definiciones de entidades y los datos que se almacenan en la caché mientras las ejecuciones están en curso. De forma predeterminada, los datos se cifran con una clave administrada por Microsoft que se genera aleatoriamente y que se asigna de forma única a su factoría de datos.

Para más información sobre cómo usar claves administradas por el cliente para el cifrado, consulte Cifrado de Azure Data Factory con claves administradas por el cliente.

Azure Databricks

Azure Databricks se puede utilizar en las canalizaciones de Azure Machine Learning. De forma predeterminada, el sistema de archivos de Databricks (DBFS) que usa Azure Databricks se cifra mediante una clave administrada por Microsoft. Para configurar Azure Databricks para que utilice las claves administradas por el cliente, consulte Configuración de claves administradas por el cliente en DBFS (raíz) predeterminado.

Datos generados por Microsoft

Cuando se usan servicios como Azure Machine Learning, Microsoft puede generar datos transitorios y procesados previamente para entrenar varios modelos. Estos datos se guardan en un almacén del área de trabajo, lo que permite aplicar los controles de acceso y el cifrado de forma adecuada.

Es posible que también quiera cifrar la información de diagnóstico que se ha registrado desde el punto de conexión implementado en su instancia de Application Insights.

Cifrado en tránsito

Azure Machine Learning usa el protocolo Seguridad de la capa de transporte (TLS) como ayuda para proteger la comunicación interna entre varios microservicios de Azure Machine Learning. Todo el acceso de Azure Storage se realiza también a través de un canal seguro.

Para ayudar a proteger las llamadas externas realizadas al punto de conexión de puntuación, Azure Machine Learning usa TLS. Para obtener más información, vea Uso de TLS para proteger un servicio web mediante Azure Machine Learning.

Recopilación y tratamiento de los datos

Con fines de diagnóstico, Microsoft puede recopilar información que no identifique a los usuarios. Por ejemplo, Microsoft podría recopilar nombres de recursos (como el nombre del conjunto de datos o el nombre del experimento de aprendizaje automático) o las variables de entorno de trabajo. Todos estos datos se almacenan a través de claves administradas por Microsoft en el almacenamiento hospedado en las suscripciones propiedad de Microsoft. El almacenamiento sigue la directiva de privacidad estándar y los estándares de control de datos de Microsoft. Estos datos permanecen en la misma región que el área de trabajo.

Se recomienda no almacenar información confidencial (como secretos de clave de cuenta) en variables de entorno. Microsoft registra, cifra y almacena variables de entorno. Del mismo modo, al asignar nombres a los trabajos, evite incluir información confidencial, como nombres de usuario o nombres de proyectos secretos. Esta información puede aparecer en los registros de telemetría, a los que pueden acceder los ingenieros de soporte técnico de Microsoft.

Puede dejar de participar en la recopilación de datos de diagnóstico. Para ello, debe establecer el parámetro hbi_workspace en TRUE al aprovisionar el área de trabajo. Esta función se admite cuando se usa el SDK de Python de Azure Machine Learning, la CLI de Azure, las API de REST o las plantillas de Azure Resource Manager.

Almacenamiento de credenciales en Azure Key Vault

Azure Machine Learning usa la instancia de Azure Key Vault asociada al área de trabajo para almacenar credenciales de varios tipos:

  • La cadena de conexión asociada para la cuenta de almacenamiento
  • Contraseñas de las instancias de Azure Container Registry
  • Cadenas de conexión a almacenes de datos

Las contraseñas y las claves de Secure Shell (SSH) para destinos de proceso, como Azure HDInsight y las máquinas virtuales se almacenan en un almacén de claves independiente asociado a la suscripción de Microsoft. Azure Machine Learning no almacena las contraseñas ni las claves proporcionadas por los usuarios. En cambio, genera, autoriza y almacena sus propias claves SSH para conectarse a máquinas virtuales y a HDInsight para ejecutar los experimentos.

Cada área de trabajo lleva asociada una identidad administrada asignada por el sistema con el mismo nombre que el área de trabajo. Esta identidad administrada tiene acceso a todas las claves, secretos y certificados del almacén de claves.

Pasos siguientes