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

为 FHIR 配置本地 RBAC

本文介绍如何将 Azure API for FHIR 配置为使用 Azure Active Directory (Azure AD) 租户进行数据访问。 仅当无法使用与订阅关联的 Azure AD 租户时,才使用此模式。

注意

如果将 FHIR 服务配置为使用与订阅关联的主 Azure AD 租户, 请使用 Azure RBAC 分配数据平面角色

添加新的服务主体或使用现有服务主体

本地 RBAC 允许将辅助 Azure AD 租户中的服务主体与 FHIR 服务器配合使用。 可以通过Azure 门户、PowerShell 或 CLI 命令创建新的服务主体,也可以使用现有的服务主体。 此过程也称为 应用程序注册。 可以通过 Azure AD 从门户或使用脚本查看和修改服务主体。

以下 PowerShell 和 CLI 脚本在 Visual Studio Code 中进行测试和验证,) 创建新的服务主体 (或客户端应用程序,并添加客户端密码。 服务主体 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 配置为使用辅助 Azure Active Directory 租户:

本地 RBAC 分配

在“颁发机构”框中,输入有效的辅助 Azure Active Directory 租户。 验证租户后,应激活 “允许的对象 ID ”框,可以输入 Azure AD 服务主体对象 ID 的一个或列表。 这些 ID 可以是以下各项的标识对象 ID:

  • Azure Active Directory 用户。
  • 一个 Azure Active Directory 服务主体。
  • Azure Active Directory 安全组。

有关更多详细信息,请阅读有关如何查找标识对象 ID 的文章。

输入所需的 Azure AD 对象 ID 后,选择“ 保存 并等待更改保存”,然后尝试使用分配的用户、服务主体或组访问数据平面。 对象 ID 被授予所有权限,相当于“FHIR 数据参与者”角色。

本地 RBAC 设置仅在身份验证边栏选项卡中可见;它在“访问控制 (IAM) ”边栏选项卡中不可见。

注意

RBAC 或本地 RBAC 仅支持单个租户。 若要禁用本地 RBAC 函数,可以将其更改回与订阅关联的有效租户 (或主租户) ,并在“允许的对象 ID”框中删除所有 Azure AD 对象 ID。

缓存行为

Azure API for FHIR 将决策最多缓存 5 分钟。 如果将用户添加到允许的对象 ID 列表,从而授予用户对 FHIR 服务器的访问权限,或者将用户从列表中删除,则预计需要 5 分钟的时间来传播权限的变化。

后续步骤

本文介绍了如何使用外部(辅助)Azure Active Directory 租户来分配 FHIR 数据平面访问权限。 接下来,了解 Azure API for FHIR 的其他设置:

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