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

В этой статье объясняется, как настроить Azure API для 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, создают субъект-службу (или клиентское приложение) и добавляют секрет клиента. Идентификатор субъекта-службы используется для локального 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 в локальной среде

Вы можете настроить Azure API для FHIR для использования дополнительного клиента Azure Active Directory в колонке Проверка подлинности :

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

В поле центр введите допустимый дополнительный клиент Azure Active Directory. После проверки клиента должно быть активировано поле Разрешенные идентификаторы объектов, и вы можете ввести один или список Azure AD идентификаторов объектов субъекта-службы. Эти идентификаторы могут быть идентификаторами объектов удостоверений:

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

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

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

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

Примечание

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

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

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

Дальнейшие действия

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

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