Konfigurera lokal RBAC för FHIR

Den här artikeln beskriver hur du konfigurerar Azure API för FHIR för att använda en sekundär Azure Active Directory-klient (Azure AD) för dataåtkomst. Använd endast det här läget om du inte kan använda den Azure AD klientorganisation som är associerad med din prenumeration.

Anteckning

Om FHIR-tjänsten har konfigurerats för att använda din primära Azure AD klientorganisation som är associerad med din prenumeration använder du Azure RBAC för att tilldela dataplansroller.

Lägg till ett nytt huvudnamn för tjänsten eller använd ett befintligt

Med lokal RBAC kan du använda ett huvudnamn för tjänsten i den sekundära Azure AD klientorganisationen med din FHIR-server. Du kan skapa ett nytt huvudnamn för tjänsten via kommandona Azure Portal, PowerShell eller CLI eller använda ett befintligt huvudnamn för tjänsten. Processen kallas även programregistrering. Du kan granska och ändra tjänstens huvudnamn via Azure AD från portalen eller med hjälp av skript.

PowerShell- och CLI-skripten nedan, som testas och verifieras i Visual Studio Code, skapar ett nytt tjänsthuvudnamn (eller klientprogram) och lägger till en klienthemlighet. Tjänstens huvudnamns-ID används för lokal RBAC och program-ID och klienthemlighet används för att komma åt FHIR-tjänsten senare.

Du kan använda PowerShell-modulen Az :

$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

eller så kan du använda 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)

Konfigurera lokal RBAC

Du kan konfigurera Azure API för FHIR för att använda en sekundär Azure Active Directory-klientorganisation på bladet Autentisering :

Lokala RBAC-tilldelningar

I rutan utfärdare anger du en giltig sekundär Azure Active Directory-klientorganisation. När klientorganisationen har verifierats ska rutan Tillåtna objekt-ID aktiveras och du kan ange en eller en lista över Azure AD objekt-ID:t för tjänstens huvudnamn. Dessa ID:t kan vara identitetsobjekt-ID:t för:

  • En Azure Active Directory-användare.
  • Ett huvudnamn för Azure Active Directory-tjänsten.
  • En Azure Active Directory-säkerhetsgrupp.

Du kan läsa artikeln om hur du hittar ID:t för identitetsobjekt för mer information.

När du har angett nödvändiga Azure AD objekt-ID:t väljer du Spara och väntar på att ändringarna ska sparas innan du försöker komma åt dataplanet med hjälp av de tilldelade användarna, tjänstens huvudnamn eller grupper. Objekt-ID:n beviljas med alla behörigheter, en motsvarighet till rollen "FHIR-datadeltagare".

Den lokala RBAC-inställningen visas endast från autentiseringsbladet. Den visas inte från bladet Access Control (IAM).

Anteckning

Endast en enskild klientorganisation stöds för RBAC eller lokal RBAC. Om du vill inaktivera den lokala RBAC-funktionen kan du ändra tillbaka den till den giltiga klientorganisationen (eller den primära klientorganisationen) som är associerad med din prenumeration och ta bort alla Azure AD objekt-ID:t i rutan Tillåtna objekt-ID:t.

Cachelagringsbeteende

Azure API för FHIR cachelagra beslut i upp till 5 minuter. Om du ger en användare åtkomst till FHIR-servern genom att lägga till dem i listan över tillåtna objekt-ID:n, eller om du tar bort dem från listan, bör det ta upp till fem minuter innan ändringar i behörigheterna sprids.

Nästa steg

I den här artikeln har du lärt dig hur du tilldelar FHIR-dataplansåtkomst med hjälp av en extern (sekundär) Azure Active Directory-klientorganisation. Läs sedan mer om ytterligare inställningar för Azure API för FHIR:

FHIR® är ett registrerat varumärke som tillhör HL7 och används med tillstånd av HL7.