Confidential Space proporciona un entorno aislado para operar con datos sensibles de varias partes, de modo que los propietarios de esos datos puedan mantenerlos confidenciales. Los datos sensibles pueden incluir información de identificación personal (PII), información de salud protegida (PHI), propiedad intelectual, secretos criptográficos, modelos de aprendizaje automático (AA) o de otro tipo.
Puedes usar Confidential Space para operar con datos sensibles que solo sean visibles para sus propietarios originales y una carga de trabajo acordada mutuamente. Como alternativa, puedes usarlo para ofrecer a los clientes finales una mayor privacidad de los datos, ya que el operador o propietario de un entorno de Confidential Space no puede acceder a los datos que se procesan.
Confidential Space usa un entorno de ejecución confiable (TEE) que se puede usar para liberar tus secretos solo en cargas de trabajo autorizadas. Un proceso de certificación y una imagen de SO endurecida ayudan a proteger la carga de trabajo y los datos que procesa la carga de trabajo de un operador.
Para obtener más detalles sobre los casos de uso y el modelo de seguridad de Confidential Space, consulta la descripción general de seguridad de Confidential Space.
Componentes de Confidential Space
Un sistema de Confidential Space tiene tres componentes principales:
Una carga de trabajo: Es una imagen alojada en contenedores que contiene código que procesa los recursos protegidos. Esto se ejecuta sobre una imagen de Confidential Space, un SO endurecido basado en Container-Optimized OS. A su vez, esto se ejecuta en una VM confidencial, un TEE basado en la nube que ofrece aislamiento de hardware y capacidades de certificación remota. Por lo general, la carga de trabajo se encuentra en un proyecto separado de los recursos protegidos.
El servicio de certificación: Es un verificador de certificación remota que devuelve evidencia de certificación en forma de tokens de OpenID Connect (OIDC). Los tokens contienen atributos de identificación para la carga de trabajo. El servicio de certificación se ejecuta en la misma región en la que se ejecuta la carga de trabajo.
Recursos protegidos: Son recursos administrados que están protegidos por un sistema de autenticación y autorización. Si los recursos están en Google Cloud, pueden ser recursos de nube administrados, como claves de Cloud Key Management Service (Cloud KMS) o buckets de Cloud Storage. Si los recursos no están en Google Cloud (por ejemplo, en un entorno local o en otra nube), pueden ser cualquier recurso.
Roles de Confidential Space
Los componentes de un sistema de Confidential Space son administrados por personas con tres roles distintos:
Colaboradores de datos: Son las personas u organizaciones que poseen los recursos protegidos en los que opera la carga de trabajo. Los colaboradores de datos pueden acceder a sus propios datos, establecer permisos en ellos y, según el resultado de la carga de trabajo, acceder a los resultados basados en esos datos.
Los colaboradores de datos no pueden acceder a los datos de los demás ni modificar el código de la carga de trabajo.
Consulta Crea recursos confidenciales y otorga acceso a ellos para obtener más información sobre el rol de los colaboradores de datos.
Autor de la carga de trabajo: Es la persona que crea la aplicación que accede a los datos confidenciales y los procesa. Agregan la aplicación a una imagen alojada en un contenedor, por ejemplo, con Docker, y suben la imagen a un repositorio como Artifact Registry.
El autor de la carga de trabajo no tiene acceso a los datos ni a los resultados, y tampoco puede controlar el acceso a ellos.
Consulta Crea y personaliza cargas de trabajo para obtener más información sobre el rol del autor de la carga de trabajo.
Operador de carga de trabajo: Es la persona que ejecuta la carga de trabajo. Por lo general, el operador de la carga de trabajo tiene privilegios administrativos completos en el proyecto en el que ejecuta la carga de trabajo. Por ejemplo, pueden administrar recursos en su proyecto (como instancias de Compute Engine, discos y reglas de redes) y pueden interactuar con cualquierGoogle Cloud API que actúe sobre ellos.
El operador de la carga de trabajo no tiene acceso a los datos ni puede controlar el acceso a ellos. No pueden influir en el código de la carga de trabajo ni en el entorno de ejecución, ni modificarlos.
Consulta Implementa cargas de trabajo para obtener más información sobre el rol del operador de cargas de trabajo.
Una persona puede asumir uno o más de estos roles. Para brindar la mayor seguridad, Confidential Space admite un modelo de confianza en el que los colaboradores de datos, los autores de cargas de trabajo y los operadores de cargas de trabajo son partes independientes que no confían entre sí. Todos los roles deben colaborar entre sí para obtener los resultados que necesitan.
Ejemplo de un flujo de Confidential Space
Confidential Space usa varios Google Cloud servicios para ayudar a que la información privada se procese de forma confidencial. En general, configurar Confidential Space podría parecerse al siguiente proceso:
Varios colaboradores de datos almacenan datos confidenciales encriptados en sus propios proyectos Google Cloud aislados, a menudo en diferentes organizaciones. Quieren comparar y procesar esos datos sin revelarlos entre sí ni a terceros. Los datos encriptados pueden residir en Cloud Storage, BigQuery o en otro servicio.
Los colaboradores de datos crean datos simulados y no confidenciales para que opere una carga de trabajo de prueba. Estos datos pueden ser archivos diferentes o estar en un lugar diferente, como un bucket de Cloud Storage independiente.
Los colaboradores de datos crean un grupo de identidades para cargas de trabajo (WIP). Más adelante, una carga de trabajo que se ejecute en el proyecto aislado y separado de un operador de carga de trabajo puede usar ese WIP para acceder a los datos confidenciales de los colaboradores.
El autor de la carga de trabajo escribe código para procesar los datos confidenciales. En un proyecto independiente de los colaboradores de datos y el operador de cargas de trabajo, compilan una imagen en contenedor con Docker y la suben a Artifact Registry.
El operador de carga de trabajo crea una cuenta de servicio en un proyecto aislado que tiene acceso de lectura a la ubicación en la que se almacenan los datos confidenciales encriptados de los colaboradores de datos y acceso de escritura a alguna ubicación (por ejemplo, un bucket de Cloud Storage) para generar el resultado de la operación con los datos desencriptados. Más adelante, esta cuenta de servicio se conecta a una Confidential VM que ejecuta la carga de trabajo.
Los colaboradores de datos agregan un proveedor a sus grupos de identidades para cargas de trabajo. Agregan detalles al proveedor, como el servicio de certificación que se debe usar, asignaciones de atributos para crear un registro de auditoría en los registros y condiciones de atributos. Estos detalles verifican las aseveraciones realizadas por la imagen de Confidential Space, el contenedor de la carga de trabajo y la instancia de VM de la carga de trabajo. Si la carga de trabajo pasa esta verificación, se le permite acceder a los datos confidenciales y desencriptarlos.
Para probar la carga de trabajo en los datos no confidenciales, se inicia una instancia de Confidential VM en el proyecto del operador de la carga de trabajo. La VM se basa en una versión de depuración de la imagen de Confidential Space que carga la carga de trabajo en contenedores.
Después de que se verifican las certificaciones de la VM y la carga de trabajo cumple con las condiciones de los colaboradores de datos, se permite que la cuenta de servicio adjunta a la VM acceda a los datos confidenciales, los procese y genere un resultado.
Una vez que se completa la supervisión y la depuración, se actualiza la carga de trabajo para su uso en producción. Los colaboradores de datos actualizan y protegen aún más sus proveedores de identidad de carga de trabajo si es necesario, y pueden optar por probar la carga de trabajo de producción primero con datos no confidenciales.
Todas las partes aprueban la carga de trabajo de producción, y esta está lista para comenzar a trabajar con datos confidenciales.
Requisitos
Confidential Space requiere que Confidential VM funcione. Las instancias de Confidential VM deben usar AMD SEV, Intel TDX o Intel TDX con NVIDIA Confidential Computing (vista previa) como tecnología de Confidential Computing. Consulta Configuraciones compatibles para obtener información sobre las opciones de configuración de hardware y las ubicaciones en las que se pueden crear instancias de Confidential VM.
¿Qué sigue?
Obtén más información sobre las imágenes de Confidential Space.