Configuración de RBAC local para FHIR

En este artículo se explica cómo configurar Azure API for FHIR para usar un inquilino secundario de Azure Active Directory (Azure AD) para el acceso a datos. Use este modo solo si no es posible usar el inquilino de Azure AD asociado a la suscripción.

Nota:

Si el servicio FHIR está configurado para usar el inquilino principal de Azure AD asociado a la suscripción, use Azure RBAC para asignar roles de plano de datos.

Agregar una nueva entidad de servicio o usar una existente

RBAC local permite usar una entidad de servicio en el inquilino secundario de Azure AD con el servidor FHIR. Puede crear una nueva entidad de servicio a través de los comandos de Azure Portal, PowerShell o la CLI, o bien usar una entidad de servicio existente. El proceso también se conoce como registro de aplicaciones. Puede revisar y modificar las entidades de servicio a través de Azure AD desde el portal o mediante scripts.

Los scripts de PowerShell y la CLI siguientes, que se prueban y validan en Visual Studio Code, crean una nueva entidad de servicio (o aplicación cliente) y agregan un secreto de cliente. El identificador de la entidad de servicio se usa para RBAC local y el identificador de aplicación y el secreto de cliente se usarán para acceder al servicio FHIR más adelante.

Puede usar el Az módulo de 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

O bien puede usar la CLI de Azure:

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)

Configuración de RBAC local

Puede configurar Azure API for FHIR para usar un inquilino secundario de Azure Active Directory en la hoja Autenticación :

Asignaciones de RBAC local

En el cuadro de autoridad, escriba un inquilino de Azure Active Directory secundario válido. Una vez validado el inquilino, se debe activar el cuadro Identificadores de objeto permitidos y puede escribir uno o una lista de identificadores de objeto de entidad de servicio de Azure AD. Estos identificadores pueden ser los identificadores de objeto de identidad de:

  • Un usuario de Azure Active Directory.
  • Una entidad de servicio de Azure Active Directory.
  • Un grupo de seguridad de Azure Active Directory.

Puede leer el artículo sobre la búsqueda de identificadores de objetos de identidad para obtener más detalles.

Después de escribir los identificadores de objeto de Azure AD necesarios, seleccione Guardar y espere a que se guarden los cambios antes de intentar acceder al plano de datos mediante los usuarios, entidades de servicio o grupos asignados. Los identificadores de objeto se conceden con todos los permisos, un equivalente al rol "Colaborador de datos de FHIR".

La configuración de RBAC local solo es visible desde la hoja de autenticación; no es visible desde la hoja Access Control (IAM).

Nota:

Solo se admite un solo inquilino para RBAC o RBAC local. Para deshabilitar la función RBAC local, puede volver a cambiarla al inquilino válido (o inquilino principal) asociado a la suscripción y quitar todos los identificadores de objeto de Azure AD en el cuadro "Identificadores de objeto permitidos".

Comportamiento del almacenamiento en caché

Azure API for FHIR almacena en caché las decisiones durante un máximo de 5 minutos. Si concede a un usuario acceso al servidor de FHIR al agregarlo a la lista de identificadores de objeto permitidos, o lo quita de la lista, debe dejar hasta cinco minutos para que se propaguen los cambios de permisos.

Pasos siguientes

En este artículo ha aprendido a asignar acceso al plano de datos de FHIR mediante un inquilino externo (secundario) de Azure Active Directory. A continuación obtenga más información sobre la configuración adicional para Azure API for FHIR:

FHIR® es una marca registrada de HL7 y se usa con su permiso.