Configurar o RBAC local para FHIR

Este artigo explica como configurar a API do Azure para FHIR para usar um locatário secundário do Azure Active Directory (Azure AD) para acesso a dados. Use esse modo somente se não for possível usar o locatário Azure AD associado à sua assinatura.

Observação

Se o serviço FHIR estiver configurado para usar seu locatário de Azure AD primário associado à sua assinatura, use o RBAC do Azure para atribuir funções de plano de dados.

Adicionar uma nova entidade de serviço ou usar uma existente

O RBAC local permite que você use uma entidade de serviço no locatário Azure AD secundário com o servidor FHIR. Você pode criar uma nova entidade de serviço por meio dos comandos portal do Azure, PowerShell ou CLI ou usar uma entidade de serviço existente. O processo também é conhecido como registro de aplicativo. Você pode examinar e modificar as entidades de serviço por meio de Azure AD do portal ou usando scripts.

Os scripts do PowerShell e da CLI abaixo, que são testados e validados em Visual Studio Code, criam uma nova entidade de serviço (ou aplicativo cliente) e adicionam um segredo do cliente. A ID da entidade de serviço é usada para RBAC local e a ID do aplicativo e o segredo do cliente serão usados para acessar o serviço FHIR posteriormente.

Você pode usar 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 você pode usar 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

Você pode configurar a API do Azure para FHIR para usar um locatário secundário do Azure Active Directory na folha Autenticação :

Atribuições rbac locais

Na caixa de autoridade, insira um locatário secundário válido do Azure Active Directory. Depois que o locatário for validado, a caixa IDs de objeto permitidos deverá ser ativada e você poderá inserir uma ou uma lista de Azure AD IDs de objeto da entidade de serviço. Essas IDs podem ser as IDs de objeto de identidade de:

  • Um usuário do Azure Active Directory.
  • Uma entidade de serviço do Azure Active Directory.
  • Um grupo de segurança do Azure Active Directory.

Você pode ler o artigo sobre como encontrar IDs de objeto de identidade para obter mais detalhes.

Depois de inserir as IDs de objeto Azure AD necessárias, selecione Salvar e aguarde até que as alterações sejam salvas antes de tentar acessar o plano de dados usando os usuários, entidades de serviço ou grupos atribuídos. As IDs de objeto são concedidas com todas as permissões, um equivalente à função "Colaborador de Dados FHIR".

A configuração RBAC local só fica visível na folha de autenticação; não está visível na folha Controle de Acesso (IAM).

Observação

Somente um único locatário tem suporte para RBAC ou RBAC local. Para desabilitar a função RBAC local, você pode alterá-la de volta para o locatário válido (ou locatário primário) associado à sua assinatura e remover todas as IDs de objeto Azure AD na caixa "IDs de objeto permitidas".

Comportamento de cache

A API do Azure para FHIR armazenará em cache decisões por até 5 minutos. Se você conceder a um usuário acesso ao servidor FHIR adicionando-o à lista de IDs de objeto permitidas ou removê-las da lista, deverá levar até cinco minutos para que as alterações nas permissões sejam propagadas.

Próximas etapas

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

FHIR® é uma marca registrada da HL7 e é usado com a permissão da HL7.