Настройка локального 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 в колонке Проверка подлинности :
В поле центр введите допустимый дополнительный клиент 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.