你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

配置导出设置并设置存储帐户

FHIR® 服务支持 $export HL7 为从 FHIR 服务器导出 FHIR 数据指定的操作。 在 FHIR 服务实现中,调用 $export 终结点会导致 FHIR 服务将数据导出到预配置的 Azure 存储帐户。

在配置导出之前,请确保已授予应用程序角色“FHIR 数据导出者角色”。 若要详细了解应用程序角色,请参阅 FHIR 服务的身份验证和授权。

为 FHIR 服务设置 $export 操作有三个步骤-

  • 为 FHIR 服务启用托管标识。
  • 配置新的或现有的 Azure Data Lake Storage Gen2(ADLS Gen2)帐户,并为 FHIR 服务授予访问该帐户的权限。
  • 将 ADLS Gen2 帐户设置为 FHIR 服务的导出目标。

为 FHIR 服务启用托管标识

为 FHIR 数据导出配置环境的第一步是为 FHIR 服务启用系统范围的托管标识。 此托管标识用于对 FHIR 服务进行身份验证,允许在操作期间 $export 访问 ADLS Gen2 帐户。 有关 Azure 中的托管标识的详细信息,请参阅关于 Azure 资源的托管标识

在此步骤中,浏览到Azure 门户中的 FHIR 服务,然后选择“标识”。 将 “状态 ”选项设置为 “打开”,然后单击“ 保存”。 显示“是”和“否”按钮时,选择“是以启用 FHIR 服务的托管标识。 启用系统标识后,会看到 FHIR 服务的对象(主体)ID 值。

启用托管标识

在存储帐户中授予 FHIR 服务访问权限

  1. 转到Azure 门户中的 ADLS Gen2 帐户。 如果尚未部署 ADSL Gen2 帐户,请按照 以下说明 创建 Azure 存储帐户并升级到 ADLS Gen2。 请确保在“高级”选项卡中启用分层命名空间选项以创建 ADLS Gen2 帐户。

  2. 在 ADLS Gen2 帐户中,选择“访问控制”(IAM)。

  3. 选择“添加”>“添加角色分配”。 如果“添加角色分配”选项灰显,请让 Azure 管理员获取此步骤的帮助。

    显示打开了“添加角色分配”菜单的“访问控制(IAM)”页的屏幕截图。

  4. “角色 ”选项卡上,选择“ 存储 Blob 数据参与者 ”角色。

    显示“添加角色分配”页用户界面的屏幕截图。

  5. “成员 ”选项卡上,选择“ 托管标识”,然后单击“ 选择成员”。

  6. 选择 Azure 订阅。

  7. 选择 系统分配的托管标识,然后选择以前为 FHIR 服务启用的托管标识。

  8. 在“审阅 + 分配”选项卡上,单击“审阅 + 分配”,将存储 Blob 数据参与者角色分配给 FHIR 服务。

若要详细了解如何在 Azure 门户中分配角色,请参阅 Azure 内置角色

现在,可以通过将 ADLS Gen2 帐户设置为用于导出的默认存储帐户来配置 FHIR 服务。

指定 FHIR 服务导出的存储帐户

最后一步是指定 FHIR 服务在导出数据时使用的 ADLS Gen2 帐户。

注意

在存储帐户中,如果尚未将存储 Blob 数据参与者角色分配给 FHIR 服务,操作$export将失败。

  1. 转到 FHIR 服务设置。

  2. 选择“导出”。

  3. 从列表中选择存储帐户的名称。 如果需要搜索存储帐户,请使用 “名称”、“ 资源组”或 “区域 ”筛选器。

显示 FHIR 导出存储用户界面的屏幕截图。

完成此配置步骤后,即可从 FHIR 服务导出数据。 有关如何使用 FHIR 服务执行$export操作的详细信息,请参阅如何导出 FHIR 数据

注意

仅允许将与 FHIR 服务相同的订阅中的存储帐户注册为操作的目标 $export

保护 FHIR 服务 $export 操作

若要安全地从 FHIR 服务导出到 ADLS Gen2 帐户,有两个选项:

  • 允许 FHIR 服务以Microsoft受信任的服务的形式访问存储帐户。

  • 允许与 FHIR 服务关联的特定 IP 地址访问存储帐户。 此选项允许两种不同的配置,具体取决于存储帐户是否与 FHIR 服务位于同一 Azure 区域中。

允许 FHIR 服务作为 Microsoft 信任的服务

转到Azure 门户中的 ADLS Gen2 帐户,然后选择“网络”。 从“防火墙和虚拟网络”选项卡下的所选虚拟网络和 IP 地址中选择“已启用”。

Azure 存储网络设置的屏幕截图。

“资源类型”下拉列表中选择Microsoft.HealthcareApis/workspaces,然后从“实例名称”下拉列表中选择工作区。

在“例外”部分下,选择“允许受信任的服务”列表中的 Azure 服务访问此存储帐户的框。 请确保单击“保存以保留设置。

允许受信任的 Microsoft 服务访问此存储帐户。

接下来,运行以下 PowerShell 命令,在本地 Az.Storage 环境中安装 PowerShell 模块。 这允许使用 PowerShell 配置 Azure 存储帐户。

Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force 

现在,使用以下 PowerShell 命令将所选 FHIR 服务实例设置为存储帐户的受信任资源。 确保在 PowerShell 环境中定义所有列出的参数。

你需要在本地环境中以管理员身份运行 Add-AzStorageAccountNetworkRule 命令。 有关详细信息,请参阅配置 Azure 存储防火墙和虚拟网络

$subscription="xxx"
$tenantId = "xxx"
$resourceGroupName = "xxx"
$storageaccountName = "xxx"
$workspacename="xxx"
$fhirname="xxx"
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourceGroupName/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"

Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $storageaccountName -TenantId $tenantId -ResourceId $resourceId

运行此命令后,在“资源实例”下的“防火墙”部分中,会在“实例名称”下拉列表中看到 2 个选择。 这些是注册为Microsoft受信任资源的工作区实例和 FHIR 服务实例的名称。

包含资源类型和实例名称的Azure 存储网络设置的屏幕截图。

现在可以安全地将 FHIR 数据导出到存储帐户。

存储帐户位于所选网络上,无法公开访问。 若要安全地访问文件,可以为存储帐户启用 专用终结点

允许特定 IP 地址从其他 Azure 区域访问 Azure 存储帐户

  1. 在Azure 门户中,转到 Azure Data Lake Storage Gen2 帐户。

  2. 在左侧菜单中选择“网络”。

  3. 选择“已从所选虚拟网络和 IP 地址启用”。

  4. “防火墙 ”部分的 “地址范围 ”框中,指定 IP 地址。 添加 IP 范围,以允许从 Internet 或本地网络进行访问。 可以在下表中找到预配 FHIR 服务的 Azure 区域的 IP 地址。

    Azure 区域 公共 IP 地址
    澳大利亚东部 20.53.44.80
    加拿大中部 20.48.192.84
    美国中部 52.182.208.31
    美国东部 20.62.128.148
    美国东部 2 20.49.102.228
    美国东部 2 EUAP 20.39.26.254
    德国北部 51.116.51.33
    德国中西部 51.116.146.216
    日本东部 20.191.160.26
    韩国中部 20.41.69.51
    美国中北部 20.49.114.188
    北欧 52.146.131.52
    南非北部 102.133.220.197
    美国中南部 13.73.254.220
    东南亚 23.98.108.42
    瑞士北部 51.107.60.95
    英国南部 51.104.30.170
    英国西部 51.137.164.94
    美国中西部 52.150.156.44
    西欧 20.61.98.66
    美国西部 2 40.64.135.77

允许特定 IP 地址访问同一区域中的 Azure 存储帐户

同一区域中 IP 地址的配置过程与上一过程类似,只是使用无类域间路由 (CIDR) 格式的特定 IP 地址范围(即 100.64.0.0/10)。 必须指定 IP 地址范围(100.64.0.0 到 100.127.255.255),因为每次发出操作请求时都会分配 FHIR 服务的 IP 地址。

注意

可以在 10.0.2.0/24 范围内使用专用 IP 地址,但不能保证操作在此类情况下会成功。 如果操作请求失败,可以重试,但在使用 100.64.0.0/10 范围内的 IP 地址之前,请求不会成功。

此 IP 地址范围的网络行为是设计造成的。 变通方法是在其他区域配置存储帐户。

后续步骤

本文介绍了配置环境以允许将数据从 FHIR 服务导出到 Azure 存储帐户的三个步骤。 有关 FHIR 服务中的批量导出功能的详细信息,请参阅以下内容。

注意

FHIR® 是 HL7 的注册商标,经 HL7 许可使用。