Contenedores confidenciales en Azure Container Instances

En este artículo explica cómo los contenedores confidenciales de Azure Container Instances pueden permitirle proteger las cargas de trabajo que se ejecutan en la nube. Este artículo proporciona información general sobre el conjunto de características, escenarios, limitaciones y recursos.

Los contenedores confidenciales de Azure Container Instances permiten a los clientes ejecutar contenedores de Linux en un entorno de ejecución de confianza (TEE) basado en hardware y atestiguado. Los clientes pueden migrar mediante lift-and-shift sus aplicaciones Linux en contenedores o crear nuevas aplicaciones informáticas confidenciales sin necesidad de adoptar ningún modelo de programación especializado para lograr las ventajas de la confidencialidad en un TEE. Contenedores confidenciales en Azure Container Instances protegen los datos en uso y cifran los datos que se usan en la memoria. Azure Container Instances amplía esta funcionalidad mediante directivas de ejecución verificables y la raíz verificable del hardware de garantías de confianza a través de la atestación de invitado.

Captura de pantalla de un grupo de contenedores confidencial en Azure Container Instances.

Características de los contenedores confidenciales en Azure Container Instances

Aplicaciones "lift-and-shift"

Los clientes pueden migrar mediante lift-and-shift sus aplicaciones Linux en contenedores o crear nuevas aplicaciones informáticas confidenciales sin necesidad de adoptar modelos de programación especializados para lograr las ventajas de la confidencialidad en un TEE.

Entorno de ejecución de confianza basado en hardware

Los contenedores confidenciales de Azure Container Instances se implementan en un grupo de contenedores con un TEE aislado de Hyper-V, que incluye una clave de cifrado de memoria generada y administrada por un procesador compatible con AMD SEV-SNP. Los datos en uso en memoria se cifran con esta clave para ayudar a proporcionar protección contra la reproducción de datos, los daños, la reasignación y los ataques basados en alias.

Directivas de ejecución verificables

Los contenedores confidenciales de Azure Container Instances se pueden ejecutar con directivas de ejecución verificables que permiten a los clientes tener el control sobre qué software y acciones pueden ejecutarse dentro del TEE. Estas directivas de ejecución ayudan a protegerse frente a actores incorrectos que crean modificaciones inesperadas de la aplicación que podrían filtrar datos confidenciales. El cliente crea directivas de ejecución mediante herramientas proporcionadas y se comprueba a través de la prueba criptográfica.

Atestación de invitado remoto

Los contenedores confidenciales de ACI proporcionan compatibilidad con la atestación de invitado remota que se usa para comprobar la confiabilidad del grupo de contenedores antes de crear un canal seguro con un usuario de confianza. Los grupos de contenedores pueden generar un informe de atestación de hardware SNP, firmado por el hardware e incluye información sobre el hardware y el software. Después, el servicio Microsoft Azure Attestation puede comprobar este informe de atestación de hardware generado a través de una aplicación sidecar de código abierto o por otro servicio de atestación antes de que se liberen datos confidenciales en el TEE.

Directivas de cumplimiento de computación confidencial

Los contenedores confidenciales admiten la integridad y la atestación de nivel de contenedor a través de directivas de cumplimiento de computación confidencial (CCE). Las directivas de cumplimiento de computación confidencial prescriben los componentes que pueden ejecutarse dentro del grupo de contenedores y se aplicarán mediante el entorno de ejecución del contenedor.

Extensión confcom de la CLI de Azure

La extensión confcom de la CLI de Azure permite a los clientes generar directivas de cumplimiento de computación confidencial mediante una plantilla de ARM como entrada y proporcionar una directiva de cadena base 64 como salida. Esta salida se incluye en la definición del grupo de contenedores para exigir qué componentes se pueden ejecutar. Para más información sobre la creación de directivas de ejecución de computación confidencial, consulte Extensión confcom de la CLI de Azure.

Liberación segura de claves y sidecars cifrados del sistema de archivos

Los contenedores confidenciales de Azure Container Instances se integran con dos sidecars de código abierto para admitir la funcionalidad confidencial dentro del grupo de contenedores. Puede encontrar estos sidecars y más información en el repositorio de sidecar confidencial.

Sidecar de liberación de clave segura

Los contenedores confidenciales de Azure Container Instances proporcionan un contenedor sidecar de código abierto para la atestación y la liberación segura de claves. Este sidecar crea una instancia de un servidor web, que expone una API de REST para que otros contenedores puedan recuperar un informe de atestación de hardware o un token de Microsoft Azure Attestation a través del método POST. Sidecar se integra con Azure Key Vault para liberar una clave en el grupo de contenedores una vez completada la validación.

Sidecar del sistema de archivos cifrado

Los contenedores confidenciales de Azure Container Instances proporcionan un contenedor sidecar para montar un sistema de archivos cifrado remoto cargado previamente en Azure Blob Storage. El contenedor sidecar recupera de forma transparente la atestación de hardware y la cadena de certificados que respalda la clave de firma de la atestación. A continuación, solicita a Microsoft Azure Attestation autorizar un token de atestación, que es necesario para liberar de forma segura la clave de cifrado del sistema de archivos del HSM administrado. La clave se libera en el contenedor sidecar solo si la autoridad esperada firma el token de atestación y las notificaciones de atestación coinciden con la directiva de versión de la clave. El contenedor sidecar usa de forma transparente la clave para montar el sistema de archivos cifrado remoto; este proceso conservará la confidencialidad y la integridad del sistema de archivos en cualquier operación de un contenedor que se ejecute dentro del grupo de contenedores.

Escenarios

Salas limpias de datos para el análisis de datos de varias partes y el aprendizaje automático

Las transacciones empresariales y las colaboraciones de proyectos a menudo requieren compartir datos confidenciales entre varias partes. Estos datos pueden incluir información personal, información financiera y registros médicos que deben protegerse de accesos no autorizados. Los contenedores confidenciales de Azure Container Instances proporcionan las características necesarias (TEE basadas en hardware, atestación remota) para que los clientes procesen datos de entrenamiento de varios orígenes sin exponer los datos de entrada a otras partes. Esto permite a las organizaciones obtener más valor de los conjuntos de datos de sus asociados, a la vez que mantienen el control sobre el acceso a su información confidencial. Esto hace que los contenedores confidenciales en Azure Container Instances sean ideales para escenarios de análisis de datos de varias partes, como el aprendizaje automático confidencial.

Captura de pantalla de un modelo de aprendizaje automático en Azure Container Instances.

Inferencia confidencial

ACI proporciona implementaciones rápidas y sencillas, asignación flexible de recursos y precios de pago por uso, lo que la posiciona como una excelente plataforma para cargas de trabajo de inferencia confidencial. Con contenedores confidenciales en Azure Container Instances, los desarrolladores de modelos y los propietarios de datos pueden colaborar a la vez que protegen la propiedad intelectual del desarrollador del modelo y mantienen los datos usados para la inferencia segura y privada. Consulte una implementación de ejemplo de inferencia confidencial mediante contenedores confidenciales en Azure Container Instances.

Captura de pantalla de un modelo de inferencia automático en Azure Container Instances.

Escenarios no admitidos

  • La extensión confcom de la CLI de Azure debe generar directivas de cumplimiento de computación confidencial y no se puede crear manualmente.

Recursos

Pasos siguientes