Azure 安全性和符合性蓝图 - HIPAA/HITRUST 健康数据和 AI

概述

Azure 安全性与合规性蓝图 - HIPAA/HITRUST 健康数据和 AI 提供了包含 Azure PaaS 解决方案和 IaaS 解决方案在内的一整套部署,用于演示如何在遵循行业符合性要求的情况下,引入、存储、分析、识别健康数据并与之交互以及安全部署解决方案。 对于其数据受到监管的客户来说,本蓝图有助于他们加速采用和利用云。

Azure 安全性和符合性蓝图 - HIPAA/HITRUST Health Data and AI Blueprint 提供了工具和指南来帮助部署安全、医疗保险可移植性和责任法案 (HIPAA) ,以及健康信息信任联盟 (HITRUST) 现成的平台即服务 (PaaS) 环境,用于在安全环境中引入、存储、分析和与个人和非个人医疗记录进行交互, 多层云环境,部署为端到端解决方案。

IaaS 解决方案演示如何将本地基于 SQL 的解决方案迁移到 Azure,以及如何实现特权访问工作站 (PAW) 以安全地管理基于云的服务和解决方案。 IaaS SQL Server 数据库将潜在的试验数据添加到 SQL IaaS VM 中,并且该 VM 使用经过 MSI 身份验证的访问权限来与 SQL Azure PaaS 服务交互。这些示例都展示了一个通用的参考体系结构,旨在简化对 Microsoft Azure 的采用。 这个规定的体系结构演示了一个解决方案,寻求通过基于云的方法减轻部署负担和成本的组织可以利用此解决方案解决其需求。

根据设计,此解决方案可以使用一个示例数据集并以安全的方式对其进行存储。该数据集已采用快速医疗保健互操作性资源 (FHIR) 进行格式化,而此格式是一种世界性的标准,用于通过电子方式交换医疗保健信息。 然后,客户就可以通过 Azure 机器学习工作室来利用强大的商业智能工具和分析,审核根据示例数据做出的预测。 Azure 机器学习工作室可以促进特定类型的试验,例如,本蓝图包括的示例数据集、脚本和工具可以用来预测病人的住院时间。

本蓝图旨在充当一个模块化的基础,方便客户按照特定的要求进行调整,开发新的 Azure 机器学习试验来解决临床和操作用例方案的问题。 根据设计,它在部署后是安全且合规的;但是,客户有责任正确配置角色并实施修改。 注意以下事项:

  • 本蓝图提供了一个基线,有助于客户在 HITRUST 和 HIPAA 环境中使用 Microsoft Azure。

  • 虽然本蓝图按设计是符合 HIPAA 和 HITRUST 标准的(使用通用安全框架 -- CSF),但必须由外部审核员根据 HIPAA 和 HITRUST 认证要求进行认证之后,才能认为它是合规的。

  • 客户有责任对任何使用此基础体系结构生成的解决方案进行适当的安全性和符合性审核。

部署自动化

  • 若要部署此解决方案,请遵循部署指南中提供的说明。

  • 有关本解决方案工作原理的简要概述,请观看此视频,其中解释并演示了其部署。

  • 常见问题可参阅常见问题解答指南。

  • 体系结构图。 此图显示了用于蓝图和示例用例方案的引用体系结构。

  • IaaS 扩展 此解决方案将演示如何将基于本地 SQL 的解决方案迁移到 Azure,以及如何实现特权访问工作站来安全地管理基于云的服务和解决方案。

解决方案组件

基础体系结构由以下组件构成:

  • 威胁模型:以 tm7 格式提供的综合性威胁模型适用于 Microsoft Threat Modeling Tool,可以显示解决方案的组件、组件之间的数据流,以及信任边界。 此模型有助于客户了解在开发机器学习工作室组件或其他修改项时系统基础结构中存在的潜在风险点。

  • 客户实现矩阵:一种 Microsoft Excel 工作簿,其中列出了相关的 HITRUST 要求,并说明了 Microsoft 和客户的相互责任。

  • 运行状况评审。 该解决方案由 Coalfire 系统公司审查。运行状况符合性 (HIPAA 和 HITRUST) 评审和实施指南提供了审核员对解决方案的审查,以及将蓝图转换为生产就绪部署的注意事项。

体系结构图

角色

此蓝图为管理用户(操作员)定义了两个角色,为负责医院管理和病人护理的用户定义了三个角色。 定义的第六个角色是针对负责评估 HIPAA 和其他法规遵循情况的审核员的。 有了 Azure 基于角色的访问控制 (RBAC),就可以通过内置的自定义角色对解决方案的每个用户进行访问管理,既准确又有针对性。 请参阅 Azure 门户中基于角色的访问控制入门用于 Azure 基于角色的访问控制的内置角色,对 RBAC、角色和权限进行详细了解。

站点管理员

站点管理员负责客户的 Azure 订阅。 他们控制总体部署,但无权访问病人记录。

  • 默认角色分配:所有者

  • 自定义角色分配:不适用

  • 范围:订阅

数据库分析师

数据库分析师管理 SQL Server 实例和数据库。 他们无权访问病人记录。

数据科学家

数据科学家操作 Azure 机器学习工作室。 他们可以导入、导出和管理数据,并且可以运行报表。 数据科学家有权访问病人数据,但没有管理员权限。

首席医疗信息官 (CMIO)

CMIO 有效地解决了医疗保健机构中医疗保健专业人员不懂信息/技术的问题。 其职责通常包括通过分析确定医疗机构中的资源是否分配得当。

  • 内置角色分配:无

医护管理员

医护管理员直接负责照顾病人。 此角色需要监测每个病人的状况,并确保护理人员能够满足病人的具体护理要求。 医护管理员负责添加和更新病人记录。

  • 内置角色分配:无

  • 自定义角色分配:有权运行 HealthcareDemo.ps1,负责病人入院和出院事项。

  • 范围:ResourceGroup

审计

审核员评估解决方案的符合性。 他们不能直接访问网络。

  • 内置角色分配:读者

  • 自定义角色分配:不适用

  • 范围:订阅

示例用例

本蓝图随附的示例用例演示了如何使用蓝图对云中的健康数据启用机器学习和分析操作。 Contosoclinic 是美国的一家小医院。 医院网络管理员希望使用 Azure 机器学习工作室,在病人入院时更好地预测其住院时间,以便提高操作性工作负荷效率,改进所能提供的护理的质量。

预测住院时间

示例用例方案使用 Azure 机器学习工作室将病人入住时获取的详细医疗信息与根据过往病人的情况聚合的历史数据进行比较,从而预测新入院病人的住院时间。 蓝图包括大量的匿名医疗记录,用于演示解决方案的定型和预测功能。 在生产部署中,客户会使用自己的记录给解决方案定型,以便进行更准确的预测,使预测结果能够反映客户的环境、设施和病人的具体详细情况。

用户和角色

站点管理员 -- Alex

Email:Alex_SiteAdmin

Alex 的工作是对那些能够减轻本地网络管理负担并降低管理成本的技术进行评估。 Alex 已经对 Azure 进行了一段时间的评估,但仍然在努力地根据 HiTrust 符合性要求配置所需的服务,以便将病人数据存储在云中。 Alex 选择了 Azure 健康 AI 来部署没有符合性问题的健康解决方案,满足客户在 HiTrust 方面的要求。

数据科学家 -- Debra

Email:Debra_DataScientist

Debra 负责创建和使用模型来分析医疗记录,以便深入了解病人护理。 Debra 使用 SQL 和 R 统计编程语言来创建其模型。

数据库分析师 -- Danny

Email:Danny_DBAnalyst

有关 Microsoft SQL Server(用于存储 Contosoclinic 的所有病人数据)的事项,应主要联系 Danny。 Danny 是一位有经验的 SQL Server 管理员,最近开始熟悉 Azure SQL 数据库工作。

首席医疗信息官 -- Caroline

Caroline 与医护管理员 Chris 以及数据科学家 Debra 一起合作,共同探讨影响病人住院时间的具体因素。 Caroline 使用住院时间 (LOS) 解决方案的预测来确定是否已在医院网络中正确分配资源。 例如,使用此解决方案中提供的仪表板。

医护管理员 -- Chris

Email:Chris_CareLineManager

作为直接在 Contosoclinic 负责管理病人入院和出院的人员,Chris 使用 LOS 解决方案生成的预测来确保安排足够的人员为住院病人提供照护。

审核员 -- Han

Email:Han_Auditor

Han 是获得认证的审核员,拥有 ISO、SOC 和 HiTrust 方面的审核经验。 雇佣 Han 是为了审核 Contosoclinc 的网络。 Han 可以审核解决方案随附的“客户责任矩阵”,确保蓝图和 LOS 解决方案可以用来存储、处理和显示敏感的个人数据。

设计配置

此部分详述内置到蓝图中的默认配置和安全措施,大致可用于:

  • 引入原始数据源,包括 FHIR 数据源
  • 存储 敏感信息
  • 分析和预测结果
  • 与结果和预测交互
  • 解决方案的标识管理
  • 启用了安全性的功能

IDENTITY

Azure Active Directory 和基于角色的访问控制 (RBAC)

认证:

  • Azure Active Directory (Azure AD) 是 Microsoft 提供的多租户、基于云的目录和标识管理服务。 解决方案的所有用户(包括访问 SQL 数据库的用户)都在 Azure Active Directory 中创建。

  • 使用 Azure AD 对应用程序执行身份验证。 有关详细信息,请参阅将应用程序与 Azure Active Directory 集成

  • Azure Active Directory 标识保护 可检测影响组织标识的潜在漏洞,配置自动响应以检测到与组织标识相关的可疑操作,并调查可疑事件并采取适当措施解决这些问题。

  • Azure 基于角色的访问控制 (RBAC) 可在 Azure 中实现极有针对性的访问管理。 只有订阅管理员可以访问订阅,只有站点管理员可以访问 Azure Key Vault。 要求使用强密码(至少 12 个字符,包括至少一个大/小写字母、一个数字和一个特殊字符)。

  • 如果在部署过程中启用了 -enableMFA 开关,则支持多重身份验证。

  • 如果在部署过程中启用了 -enableADDomainPasswordPolicy 开关,则密码会在 60 天后过期。

角色:

  • 解决方案利用内置角色来管理对资源的访问。

  • 默认情况下,会向所有用户分配特定的内置角色。

Azure Key Vault

  • Key Vault 中存储的数据包括:

    • Application Insights 密钥
    • 病人数据存储访问密钥
    • 病人连接字符串
    • 病人数据表名称
    • Azure ML Web 服务终结点
    • Azure ML 服务 API 密钥
  • 根据需要配置高级访问权限策略

  • 在定义 Key Vault 访问策略时,尽量将访问密钥和机密的必需权限降至最低

  • Key Vault 中的所有密钥和机密都有过期日期

  • Key Vault 中的所有密钥都受 HSM 保护 [密钥类型 = 受 HSM 保护的 2048 位 RSA 密钥]

  • 使用基于角色的访问控制 (RBAC) 向所有用户/标识授予了最低必需权限

  • 应用程序共享 Key Vault 的前提是彼此信任且需要在运行时访问相同的机密

  • Key Vault 的诊断日志已启用,其保留期至少为 365 天。

  • 对密钥进行允许的加密操作时,仅限必需的操作

引入

Azure Functions

该解决方案旨在使用Azure Functions来处理分析演示中使用的停留数据样本长度。 在函数中创建了三种功能。

1. 批量导入客户数据 phi 数据

根据 .\HealthcareDemo.ps1使用 BulkPatientAdmission 开关,如 部署和运行演示 中所述,它将执行以下处理管道:

  1. Azure Blob 存储 - 病人数据 .csv 文件示例上传到存储
  2. 事件网格 - 事件将数据发布到 Azure Function(批量导入 - Blob 事件)
  3. Azure Function - 进行处理后,将数据存储到 SQL 存储中,使用的是安全的函数 - event(type; blob url)
  4. SQL DB - 使用标记来分类,对病人数据进行数据库存储,并通过 ML 过程进行定型试验。

另外,根据设计,Azure Function 可以读取和保护示例数据集中使用以下标记的指定敏感数据:

  • dataProfile => “ePHI”
  • owner =><Site 管理员 UPN>
  • environment => “Pilot”
  • department => “Global Ecosystem” 标记应用于患者“名称”标识为明文的示例数据集。

2. 新病人入院

根据 .\HealthcareDemo.ps1使用 BulkPatientadmission 开关,如 部署和运行演示 中所述,它将执行以下处理管道: 1。Azure 函数 已触发,以及从 Azure Active Directory 中为 持有者令牌 请求的函数请求。

2. 为与所请求令牌关联的机密请求密钥保管库。

3.Azure 角色验证请求,并授权访问密钥保管库。

4. 密钥保管库返回机密,在本例中为 SQL DB 连接字符串。

5. Azure Function 使用连接字符串安全地连接到SQL 数据库,并继续进一步处理以存储 ePHI 数据。

为了实现数据的存储,在快速医疗保健互操作性资源 (FHIR 之后,实现了常见的 API 架构,) 明显激发。 为此函数提供了以下 FHIR 交换元素:

  • 病人架构:涵盖病人的“个人”信息。

  • 观察架构 涵盖医疗保健中的核心元素,用于支持诊断、监视进度、确定基线和模式,甚至捕获人口特征。

  • 就诊架构:涵盖各种就诊类型,例如流动就诊、紧急就诊、家庭护理式就诊、住院就诊,以及虚拟就诊。

  • 条件架构:涵盖各种详细信息,涉及到条件、问题、诊断,或者其他具有一定关注度的事件、情况、问题或临床概念。

事件网格

此解决方案支持 Azure 事件网格,这是一项服务,用于管理所有事件从任意源到任意目标的路由,并且提供:

存储

SQL 数据库和 SQL Server

存储帐户

  • 动态数据只能使用 TLS/SSL 来传输

  • 不允许对容器进行匿名访问。

  • 配置警报规则是为了跟踪匿名活动。

  • 必须使用 HTTPS 来访问存储帐户资源。

  • 身份验证请求数据会进行记录,并且会受到监视。

  • Blob 存储中的数据会进行静态加密。

分析

机器学习

安全性

Azure 安全中心

  • Azure 安全中心可集中查看所有 Azure 资源的安全状态。 可立即确认相应的安全控制措施是否部署到位且配置正确,并且可以快速识别任何需要关注的资源。

  • Azure 顾问是个性化的云顾问程序,可帮助遵循最佳做法来优化 Azure 部署。 它可分析资源配置和遥测使用情况,并推荐解决方案,有助于提高 Azure 资源的经济效益、性能、高可用性和安全性。

Application Insights

  • Application Insights 是多个平台上面向 Web 开发人员的可扩展应用程序性能管理 (APM) 服务。 使用它可以监视实时 Web 应用程序。 它检测性能异常。 其中包含强大的分析工具来帮助诊断问题,了解用户在应用中实际执行了哪些操作。 Application Insights 有助于持续提高性能与可用性。

Azure 警报

  • 警报 提供监视 Azure 服务的方法,并允许配置数据条件。 当警报条件与监视的数据匹配时,警报还会提供通知。

Azure Monitor 日志

Azure Monitor 日志 是管理服务的集合。