你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
为 FHIR 配置本地 RBAC
重要
Azure API for FHIR 将于 2026 年 9 月 30 日停用。 按照迁移策略在该日期之前转换到 Azure Health Data Services FHIR® 服务。 由于 Azure API for FHIR 停用,在 2025 年 4 月 1 日开始前不会允许新的部署。 Azure Health Data Services FHIR 服务是 Azure API for FHIR 的演化版本,可让客户管理 FHIR、DICOM 和医疗技术服务,并集成到其他 Azure 服务。
本文介绍如何将 Azure API for FHIR® 配置为使用辅助Microsoft Entra 租户进行数据访问。 仅当无法使用与订阅关联的 Microsoft Entra 租户时,才使用此模式。
注意
如果 FHIR 服务配置为使用与订阅关联的主Microsoft Entra 租户, 请使用 Azure RBAC 分配数据平面角色。
添加新服务主体或使用现有服务主体
通过本地基于角色的访问控制(RBAC),可以将辅助Microsoft Entra 租户中的服务主体与 FHIR 服务器配合使用。 可以通过 Azure 门户、PowerShell 或 CLI 命令创建新的服务主体,或使用现有的服务主体。 此过程也称为 应用程序注册。 可以通过门户或使用脚本Microsoft Entra ID 来查看和修改服务主体。
在 Visual Studio Code 中测试和验证的以下 PowerShell 和 CLI 脚本,创建新的服务主体(或客户端应用程序),并添加客户端密码。 服务主体 ID 用于本地 RBAC,应用程序 ID 和客户端密码用于稍后访问 FHIR 服务。
可以使用 Az
PowerShell 模块:
$appname="xxx"
$sp= New-AzADServicePrincipal -DisplayName $appname
$clientappid=sp.ApplicationId
$spid=$sp.Id
#Get client secret which is not visible from the portal
$clientsecret=ConvertFrom-SecureString -SecureString $sp.Secret -AsPlainText
也可以使用 Azure CLI:
appname=xxx
clientappid=$(az ad app create --display-name $appname --query appId --output tsv)
spid=$(az ad sp create --id $appid --query objectId --output tsv)
#Add client secret with expiration. The default is one year.
clientsecretname=mycert2
clientsecretduration=2
clientsecret=$(az ad app credential reset --id $appid --append --credential-description $clientsecretname --years $clientsecretduration --query password --output tsv)
配置本地 RBAC
可以将 Azure API for FHIR 配置为在“身份验证”边栏选项卡中使用辅助Microsoft Entra 租户。
在颁发机构框中,输入有效的辅助Microsoft Entra 租户。 验证租户后, 应激活“允许的对象 ID ”框,你可以输入一个或多个Microsoft Entra 服务主体对象 ID 的列表。 这些 ID 可以是以下各项的标识对象 ID:
- Microsoft Entra 用户。
- Microsoft Entra 服务主体。
- Microsoft Entra 安全组。
有关更多详细信息,请阅读有关如何查找标识对象 ID 的文章。
输入所需的Microsoft Entra 对象 ID 后,选择“ 保存 并等待更改保存”,然后尝试使用分配的用户、服务主体或组访问数据平面。 对象 ID 被授予所有权限,相当于“FHIR 数据参与者”角色。
本地 RBAC 设置仅在身份验证边栏选项卡中可见;它不可见于访问控制(IAM)边栏选项卡。
注意
RBAC 或本地 RBAC 仅支持单个租户。 若要禁用本地 RBAC 函数,可以将其更改回与订阅关联的有效租户(或主租户),并在“允许的对象 ID”框中删除所有Microsoft Entra 对象 ID。
缓存行为
Azure API for FHIR 缓存最多 5 分钟的决定。 如果将用户添加到允许的对象 ID 列表,从而授予用户对 FHIR 服务器的访问权限,或者将用户从列表中删除,则预计需要 5 分钟的时间来传播权限的变化。
后续步骤
本文介绍了如何使用外部(辅助)Microsoft Entra 租户分配 FHIR 数据平面访问。 接下来,了解 Azure API for FHIR 的其他设置。
注意
FHIR® 是 HL7 的注册商标,经 HL7 许可使用。