本文演练在 FHIR® 服务上配置用于 import
操作的设置的步骤。 要配置相关设置,需要:
- 在 FHIR 服务上启用托管标识。
- 创建 Azure 存储帐户或使用现有存储帐户,并授予 FHIR 服务访问帐户的权限。
- 设置 FHIR 服务的导入配置。
- 使用其中一个选项将 FHIR 数据从 Azure Data Lake Storage Gen2 帐户安全导入 FHIR 服务。
步骤 1:在 FHIR 服务上启用托管标识
第一步是在服务上启用系统范围的托管标识。 此标识用于授予 FHIR 服务对存储帐户的访问权限。 有关 Azure 中的托管标识的详细信息,请参阅关于 Azure 资源的托管标识。
在 FHIR 服务上启用托管标识:
- 在 Azure 门户中,浏览到 FHIR 服务。
- 在左侧菜单中选择“标识”。
- 将“状态”选项设置为“开”,然后选择“保存”。
- 选择是。
启用托管标识后,会显示系统分配的 GUID 值。
步骤 2:向 FHIR 服务分配权限
使用以下步骤分配存储帐户的访问权限。
在存储帐户中,浏览到“访问控制(IAM)”。
选择“添加角色分配”。 如果添加角色分配的选项不可用,请让你的 Azure 管理员分配你执行此步骤的权限。
若要详细了解如何在 Azure 门户中分配角色,请参阅 Azure 内置角色。
选择“保存”。
现在便可以选择要导入的存储帐户。
步骤 3:设置 FHIR 服务的导入配置
注释
如果未向 FHIR 服务分配存储访问权限,import
操作会失败。
完成此步骤需要获取请求 URL 和 JSON 正文。
- 在 Azure 门户中,浏览到 FHIR 服务。
- 选择“概述”。
- 选择“JSON 视图”。
- API 版本选择 2022-06-01 或更高版本。
要在 READ 模式下的 JSON 视图中指定 Azure 存储帐户,需要使用 REST API 更新 FHIR 服务。
以下步骤演示如何设置初始和增量导入模式的配置。 为用例选择正确的导入模式。
为初始导入模式设置导入配置
对 JSON 进行以下更改。
- 在
importConfiguration
中,将enabled
设置为true
。 - 使用目标存储帐户名称更新
integrationDataStore
。 - 在
importConfiguration
中,将initialImportMode
设置为true
。 - 删除
provisioningState
行。
现在便可以使用 import
执行初始模式导入。
未增量导入模式设置导入配置
对 JSON 进行以下更改。
- 在
importConfiguration
中,将enabled
设置为true
。 - 使用目标存储帐户名称更新
integrationDataStore
。 - 在
importConfiguration
中,将initialImportMode
设置为false
。 - 删除
provisioningState
行。
现在便可以使用 import
执行增量模式导入。
还可以使用“部署到 Azure”按钮打开用于更新 import
配置的自定义 Azure 资源管理器模板。
步骤 4:保护 FHIR 服务的导入操作
有三个选项可用于从 Azure Data Lake Storage Gen2 帐户将 FHIR 数据安全导入 FHIR 服务:
- 启用 FHIR 服务作为受信任的 Microsoft 服务。
- 允许与 FHIR 服务关联的特定 IP 地址从其他 Azure 区域访问存储帐户。
- 允许与 FHIR 服务关联的特定 IP 地址访问与 FHIR 服务位于同一区域的存储帐户。
启用 FHIR 服务作为受信任的 Microsoft 服务
在 Azure 门户中,转到 Data Lake Storage Gen2 帐户。
在左侧菜单中选择“网络”。
在“防火墙和虚拟网络”选项卡中,选择“从所选虚拟网络和 IP 地址启用”。
在“资源类型”下拉列表中,选择“Microsoft.HealthcareApis/workspaces”。 在“实例名称”下拉列表中,选择自己的工作区。
在“异常”部分中,选中“允许受信任的 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 服务实例的名称。
现在便可以从存储帐户安全导入 FHIR 数据。 存储帐户位于所选网络上,无可公开访问。 要安全访问文件,可以为存储帐户使用专用终结点。
允许特定 IP 地址从其他 Azure 区域访问 Azure 存储帐户
在 Azure 门户中,转到 Azure Data Lake Storage Gen2 帐户。
在左侧菜单中选择“网络”。
选择“从所选虚拟网络和 IP 地址启用”。
在“防火墙”部分的“地址范围”框中指定 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 服务如何支持 import
操作,以及如何将数据从存储帐户导入 FHIR 服务。 还介绍了在 FHIR 服务中配置导入设置的步骤。 有关将数据转换为 FHIR、导出用于设置存储帐户的设置以及将数据移动到 Azure Synapse Analytics 的详细信息,请参阅:
注释
FHIR® 是 HL7 的注册商标,经 HL7 许可使用。