Поделиться через


Настройка локального RBAC для FHIR

Внимание

Поддержка Azure API для FHIR будет прекращена 30 сентября 2026 г. Следуйте стратегиям миграции, чтобы перейти в службу FHIR® служб azure Health Data Services к этой дате. Из-за прекращения поддержки Azure API для FHIR с 1 апреля 2025 г. новые развертывания будут невозможны. Служба FHIR служб работоспособности Azure — это развивающаяся версия Azure API для FHIR, которая позволяет клиентам управлять службами FHIR, DICOM и MedTech с интеграцией с другими службами Azure.

В этой статье объясняется, как настроить API Azure для FHIR® для использования дополнительного клиента Microsoft Entra для доступа к данным. Используйте этот режим, только если вы не можете использовать клиент Microsoft Entra, связанный с вашей подпиской.

Примечание.

Если служба FHIR настроена на использование основного клиента Microsoft Entra, связанного с подпиской, используйте Azure RBAC для назначения ролей плоскости данных.

Добавление нового субъекта-службы или использование существующего субъекта-службы

Локальный контроль доступа на основе ролей (RBAC) позволяет использовать субъект-службу в дополнительном клиенте Microsoft Entra с сервером FHIR. Вы можете создать субъект-службу с помощью команд портал Azure, PowerShell или CLI или использовать существующий субъект-службу. Процесс также называется регистрацией приложений. Вы можете просматривать и изменять субъекты-службы с помощью идентификатора Microsoft Entra на портале или с помощью скриптов.

Следующие скрипты PowerShell и CLI, которые тестируются и проверяются в Visual Studio Code, создают новый субъект-службу (или клиентское приложение) и добавляют секрет клиента. Идентификатор субъекта-службы используется для локального RBAC, а идентификатор приложения и секрет клиента используются для доступа к службе 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 в локальной среде

Вы можете настроить API Azure для FHIR для использования вторичного клиента Microsoft Entra в колонке проверки подлинности .

Локальные назначения RBAC

В поле центра введите допустимый вторичный клиент Microsoft Entra. После проверки клиента необходимо активировать поле "Допустимые идентификаторы объектов" и ввести один или список идентификаторов объектов субъекта-службы Microsoft Entra. Эти идентификаторы могут быть идентификаторами объектов удостоверений:

  • Пользователь Microsoft Entra.
  • Субъект-служба Microsoft Entra.
  • Группа безопасности Microsoft Entra.

Дополнительные сведения см. в статье о том , как найти идентификаторы объектов удостоверений.

После ввода необходимых идентификаторов объектов Microsoft Entra нажмите кнопку "Сохранить и ждать сохранения изменений", прежде чем пытаться получить доступ к плоскости данных с помощью назначенных пользователей, субъектов-служб или групп. Идентификаторы объектов предоставляются со всеми разрешениями, эквивалентной роли "Участник данных FHIR".

Локальный параметр RBAC отображается только в колонке проверки подлинности; Он не отображается в колонке контроль доступа (IAM).

Примечание.

Для RBAC или локального RBAC поддерживается только один клиент. Чтобы отключить локальную функцию RBAC, ее можно изменить на допустимый клиент (или основной клиент), связанный с подпиской, и удалить все идентификаторы объектов Microsoft Entra в поле "Допустимые идентификаторы объектов".

Поведение кэширования

Решения azure API для FHIR кэшируются до 5 минут. Если вы предоставляете пользователю доступ к серверу FHIR, добавляя их в список разрешенных идентификаторов объектов или удаляя их из списка, вы должны ожидать, что это займет до пяти минут для изменения разрешений для распространения.

Следующие шаги

Из этой статьи вы узнали, как назначить доступ к плоскости данных FHIR с помощью внешнего (дополнительного) клиента Microsoft Entra. Далее вы узнаете о дополнительных параметрах azure API для FHIR.

Примечание.

FHIR® является зарегистрированным товарным знаком HL7 и используется с разрешением HL7 .