category
本文介绍了Azure机密计算(ACC)为加密在用数据提供的解决方案。
架构
机密医疗保健平台演示图。该平台包括医院、医疗平台提供商和诊断提供商。
显示医疗保健环境中三方之间数据流动的图表。三个矩形代表三方:医院、医疗平台和诊断提供者。每个矩形包含表示各种组件的图标,如网站、客户端应用程序、Azure验证、web API、数据存储和运行时。医疗平台和诊断提供者矩形还包含较小的矩形,这些矩形表示机密节点和AK S集群。箭头连接这些组件并显示数据流。编号标注对应于本文在图后描述的步骤。
Download a Visio file of this architecture.
该图概述了体系结构。在整个系统中:
- 网络通信在传输过程中是TLS加密的。
- Azure Monitor跟踪组件性能,Azure容器注册表(ACR)管理解决方案的容器。
流
该解决方案包括以下步骤:
- 当地一家医院的职员打开了一个门户网站。整个web应用程序是一个Azure Blob存储静态网站。
- 职员将数据输入医院的门户网站,该门户网站连接到一个由一家受欢迎的医疗平台供应商构建的基于Python Flask的web API。SCONE保密计算软件中的保密节点保护患者数据。SCONE在启用了软件保护扩展(SGX)的AKS集群中工作,该扩展有助于在飞地中运行容器。Web API将提供证据,证明敏感数据和应用程序代码在可信执行环境中被加密和隔离。这意味着没有人、进程和日志可以访问明文数据或应用程序代码。
- 医院的web应用程序客户端请求证明服务(Azure attestation)验证此证据,并接收签名的证明令牌供其他应用程序验证。
- 如果Web API需要额外的组件(如Redis缓存),它可以传递证明令牌,以验证数据和应用程序代码到目前为止是否保持在安全的包围区中(请参见步骤6进行验证)。
- Web API甚至可以使用远程服务,例如由第三方诊断提供商托管的ML模型。这样做时,它会继续传递任何证明令牌,以证明所需的飞地是安全的。Web API还可以尝试接收和验证诊断提供者基础设施的证明令牌。
- 远程基础设施接受来自医疗平台的web API的证明令牌,并使用Azure证明服务中的公共证书对其进行验证。如果令牌经过验证,则几乎可以肯定该飞地是安全的,并且数据或应用程序代码都没有在飞地之外打开。
- 诊断提供商确信数据没有被公开,将其发送到开放神经网络交换(ONNX)运行时服务器中自己的包区。人工智能模型解释医疗图像,并将诊断结果返回到医疗平台的机密Web API应用程序。从这里,该软件可以与患者记录交互和/或联系其他医院工作人员。
组件
- Azure Blob存储直接从存储容器提供HTML、CSS、JavaScript和图像文件等静态内容。
- Azure认证是一个统一的解决方案,可以远程验证平台的可信度。Azure认证还远程验证在平台中运行的二进制文件的完整性。使用Azure认证与机密应用程序建立信任。
- Azure Kubernetes服务简化了部署Kubernets集群的过程。
- 机密计算节点托管在特定的虚拟机系列上,该虚拟机系列可以在基于硬件的可信执行环境(TEE)内的AKS上运行敏感工作负载,允许用户级代码分配专用内存区域(称为飞地)。机密计算节点可以支持机密容器或感知包围区的容器。
- SCONE平台是Scontain的Azure合作伙伴独立软件供应商(ISV)解决方案。
- Redis是一个开源的内存数据结构存储。
- 安全容器环境(SCONE)支持在Kubernetes集群内运行的容器中执行机密应用程序。
- 机密推理ONNX运行时服务器Enclave(ONNX RT-Enclave)是一种限制ML主机方访问推理请求及其相应响应的主机。
选择
您可以使用Fortanix而不是SCONE来部署机密容器,以便与您的容器化应用程序一起使用。Fortanix提供了运行和管理最广泛的应用程序集所需的灵活性:现有应用程序、新的飞地本地应用程序和预打包应用程序。- 您可以使用Occlum而不是SCONE在启用了SGX的AKS集群中运行。Occlum使遗留应用程序能够在一个孤立的环境中运行,几乎不需要修改。
- Graphene是一种轻量级、开源的客户操作系统。Graphene可以在一个独立的环境中运行单个Linux应用程序,其优势堪比运行一个完整的操作系统。它为将现有Docker容器应用程序转换为石墨烯屏蔽容器(GSC)提供了良好的工具支持。
场景详细信息
当组织协作时,它们共享信息。但大多数各方都不想让其他各方访问数据的所有部分。存在保护静止和传输中数据的机制。然而,加密使用中的数据带来了不同的挑战。
通过使用机密计算和容器,该解决方案为提供商托管的应用程序提供了一种与医院和第三方诊断提供商安全协作的方式。Azure Kubernetes服务(AKS)承载机密计算节点。Azure认证与诊断提供程序建立信任。通过使用这些Azure组件,该架构隔离了医院患者的敏感数据,同时在云中处理特定的共享数据。然后,诊断提供者无法访问医院数据。通过这种体系结构,提供商托管的应用程序也可以利用高级分析。诊断提供商将这些分析作为机器学习(ML)应用程序的机密计算服务提供。
潜在用例
许多行业通过将机密计算用于以下目的来保护其数据:
- 保护财务数据
- 保护患者信息
- 对敏感信息运行ML进程
- 在来自多个来源的加密数据集上执行算法
- 保护容器数据和代码的完整性
注意事项
这些注意事项实现了Azure架构良好的框架的支柱,这是一套可用于提高工作负载质量的指导原则。有关详细信息,请参阅Microsoft Azure架构良好的框架。
Azure机密计算虚拟机(VM)有第二代D系列大小,可用于一般用途。这些尺寸统称为D系列v2或DCsv2系列。此场景使用支持Intel SGX的DCs_v2-系列虚拟机以及Gen2操作系统(OS)映像。但您只能在特定区域部署特定大小的应用程序。有关更多信息,请参阅Quickstart:在市场中部署Azure机密计算虚拟机和按地区提供的产品。
成本优化
成本优化是指寻找减少不必要费用和提高运营效率的方法。有关更多信息,请参阅成本优化支柱概述。
要探索运行此场景的成本,请使用Azure定价计算器,该计算器预配置所有Azure服务。
如图所示,Contoso Medical软件即服务(SaaS)平台的成本概况示例可用。它包括以下组件:
- 系统节点池和SGX节点池:没有磁盘,都是短暂的
- AKS负载平衡器
- Azure虚拟网络:nominal
- Azure容器注册表
- 单页应用程序的存储帐户(SPA)
配置文件不包括以下组件:
- Azure认证服务:免费
- Azure监控日志:基于使用情况
- SCONE ISV许可
处理敏感数据的解决方案所需的法规遵从性服务,包括:
- Microsoft Defender for Cloud和Microsoft Defender for Kubernetes
- Azure DDoS防护:网络防护
- Azure防火墙
- Azure应用程序网关和Azure Web应用程序防火墙
- Azure密钥保管库
部署此场景
部署此场景涉及以下高级步骤:
- 在现有启用SGX的AKS集群上部署机密推理服务器。有关此步骤的信息,请参阅GitHub上的机密ONNX推理服务器项目。
- 配置Azure验证策略。
- 部署启用SGX的AKS群集节点池。
- 访问名为SconeApps的精心策划的机密应用程序。SconeApps可在私人GitHub存储库中通过SCONE标准版获得,该存储库目前仅适用于商业客户。请访问SCONE网站并直接联系该公司以获得此服务级别。
- 在您的AKS集群上安装并运行SCONE服务。
- 在您的AKS集群上安装并测试基于Flask的应用程序。
- 部署和访问web客户端。
这些步骤的重点是飞地容器。一个安全的基础架构将扩展到该实施之外,并包括法规遵从性要求,例如HIPAA所需的附加保护。
Next steps
-
Learn more about Azure confidential computing
-
See the confidential ONNX inference server project on GitHub.
-
Sample brain segmentation image for use with the delineation function that invokes the confidential inferencing server.
Related resources
- 登录 发表评论
- 10 次浏览
最新内容
- 1 day 18 hours ago
- 1 day 20 hours ago
- 1 day 20 hours ago
- 4 days 12 hours ago
- 4 days 19 hours ago
- 4 days 20 hours ago
- 4 days 20 hours ago
- 4 days 20 hours ago
- 1 week 2 days ago
- 1 week 2 days ago