Contenedores confidenciales en Azure Container Instances
En este artículo, se explica cómo los contenedores confidenciales de Azure Container Instances (ACI) 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.
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. Los clientes crean directivas de ejecución a través de herramientas proporcionadas y las pruebas criptográficas comprueban las directivas.
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, que el hardware firma y que incluye información sobre el hardware y el software. Después, el servicio Microsoft Azure Attestation puede comprobar esta atestación de hardware generada a través de una aplicación sidecar de código abierto o mediante 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 informática confidencial prescriben los componentes que pueden ejecutarse dentro del grupo de contenedores, que se aplican mediante el runtime 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 informática 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. El sidecar se integra con Azure Key Vault para liberar una clave en el grupo de contenedores después de completar 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 ha firmado 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 conserva 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. Estas características permiten 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. Esta oferta 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.
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.
Escenarios no admitidos
- La extensión confcom de la CLI de Azure debe generar las directivas de cumplimiento de informática confidencial.
- Las directivas de cumplimiento de informática confidencial no se pueden crear manualmente.
Recursos
- Extensión confcom de la CLI de Azure
- Contenedores sidecar confidenciales
- Aplicación Hola mundo confidencial
- Demo de inferencia de Machine Learning
Pasos siguientes
- Para ver un ejemplo de implementación, consulte Implementación de un grupo de contenedores confidencial con Azure Resource Manager