Configurar o RBAC local para FHIR

Este artigo explica como configurar a API do Azure para FHIR para utilizar um inquilino secundário do Azure Active Directory (Azure AD) para acesso a dados. Utilize este modo apenas se não for possível utilizar o inquilino Azure AD associado à sua subscrição.

Nota

Se o serviço FHIR estiver configurado para utilizar o inquilino principal Azure AD associado à sua subscrição, utilize o RBAC do Azure para atribuir funções de plano de dados.

Adicionar um novo principal de serviço ou utilizar um existente

O RBAC local permite-lhe utilizar um principal de serviço no inquilino de Azure AD secundário com o servidor FHIR. Pode criar um novo principal de serviço através do portal do Azure, comandos do PowerShell ou da CLI ou utilizar um principal de serviço existente. O processo também é conhecido como registo de aplicação. Pode rever e modificar os principais de serviço através de Azure AD a partir do portal ou através de scripts.

Os scripts do PowerShell e da CLI abaixo, que são testados e validados no Visual Studio Code, criam um novo principal de serviço (ou aplicação cliente) e adicionam um segredo do cliente. O ID do principal de serviço é utilizado para o RBAC local e o ID da aplicação e o segredo do cliente serão utilizados para aceder ao serviço FHIR mais tarde.

Pode utilizar o módulo do 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

ou pode utilizar a CLI do 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)

Configurar RBAC local

Pode configurar a API do Azure para FHIR para utilizar um inquilino secundário do Azure Active Directory no painel Autenticação :

Atribuições RBAC locais

Na caixa autoridade, introduza um inquilino secundário válido do Azure Active Directory. Assim que o inquilino tiver sido validado, a caixa IDs de objeto permitidos deve ser ativada e pode introduzir um ou uma lista de Azure AD IDs de objeto do principal de serviço. Estes IDs podem ser os IDs de objeto de identidade de:

  • Um utilizador do Azure Active Directory.
  • Um principal de serviço do Azure Active Directory.
  • Um grupo de segurança do Azure Active Directory.

Pode ler o artigo sobre como encontrar IDs de objetos de identidade para obter mais detalhes.

Depois de introduzir os IDs de objeto necessários Azure AD, selecione Guardar e aguarde que as alterações sejam guardadas antes de tentar aceder ao plano de dados com os utilizadores, principais de serviço ou grupos atribuídos. Os IDs de objeto são concedidos com todas as permissões, o equivalente à função "Contribuidor de Dados FHIR".

A definição RBAC local só está visível no painel de autenticação; não é visível no painel Controlo de Acesso (IAM).

Nota

Apenas um único inquilino é suportado para RBAC ou RBAC local. Para desativar a função RBAC local, pode alterá-la novamente para o inquilino válido (ou inquilino primário) associado à sua subscrição e remover todos os IDs de objeto Azure AD na caixa "IDs de objeto permitidos".

Comportamento de colocação em cache

A API do Azure para FHIR irá colocar as decisões em cache durante um máximo de 5 minutos. Se conceder a um utilizador acesso ao servidor FHIR ao adicioná-lo à lista de IDs de objeto permitidos ou removê-los da lista, deverá esperar que dedire até cinco minutos para que as alterações nas permissões sejam propagadas.

Passos seguintes

Neste artigo, aprendeu a atribuir acesso ao plano de dados FHIR com um inquilino externo (secundário) do Azure Active Directory. Em seguida, saiba mais sobre as definições adicionais para a API do Azure para FHIR:

FHIR® é uma marca registada do HL7 e é utilizada com a permissão de HL7.