FHIR에 대한 로컬 RBAC 구성

이 문서에서는 데이터 액세스에 보조 Azure Active Directory(Azure AD) 테넌트 사용을 위해 Azure API for FHIR을 구성하는 방법을 설명합니다. 구독과 연결된 Azure AD 테넌트 사용이 불가능한 경우에만 이 모드를 사용합니다.

참고

FHIR 서비스가 구독과 연결된 기본 Azure AD 테넌트 사용으로 구성된 경우 Azure RBAC를 사용하여 데이터 평면 역할을 할당합니다.

새 서비스 주체를 추가하거나 기존 서비스 주체를 사용합니다.

로컬 RBAC를 사용하면 보조 Azure AD 테넌트에서 서비스 주체를 FHIR 서버와 함께 사용할 수 있습니다. Azure Portal, PowerShell 또는 CLI 명령을 통해 새 서비스 주체를 만들거나 기존 서비스 주체를 사용할 수 있습니다. 이 프로세스를 애플리케이션 등록이라고도 합니다. 포털에서 Azure AD 스크립트를 사용하여 서비스 주체를 검토하고 수정할 수 있습니다.

아래의 PowerShell 및 CLI 스크립트는 Visual Studio Code 테스트 및 유효성을 검사하고 새 서비스 주체(또는 클라이언트 애플리케이션)를 만들고 클라이언트 암호를 추가합니다. 서비스 주체 ID는 로컬 RBAC에 사용되며 애플리케이션 ID 및 클라이언트 암호는 나중에 FHIR 서비스에 액세스하는 데 사용됩니다.

PowerShell 모듈을 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

또는 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 Active Directory 테넌트 사용을 위해 Azure API for FHIR을 구성할 수 있습니다.

로컬 RBAC 할당

기관 상자에 유효한 보조 Azure Active Directory 테넌트 를 입력합니다. 테넌트가 유효성을 검사하면 허용된 개체 ID 상자를 활성화해야 하며 Azure AD 서비스 주체 개체 ID 중 하나 또는 목록을 입력할 수 있습니다. 이러한 ID는 다음의 ID 개체 ID일 수 있습니다.

  • Azure Active Directory 사용자입니다.
  • Azure Active Directory 서비스 주체.
  • Azure Active Directory 보안 그룹입니다.

자세한 내용은 ID 개체 ID를 찾는 방법에 대한 문서를 참조하세요.

필요한 Azure AD 개체 ID를 입력한 후 저장을 선택하고 할당된 사용자, 서비스 주체 또는 그룹을 사용하여 데이터 평면에 액세스하기 전에 변경 내용이 저장될 때까지 기다립니다. 개체 ID에는 "FHIR 데이터 기여자" 역할에 해당하는 모든 권한이 부여됩니다.

로컬 RBAC 설정은 인증 블레이드에서만 볼 수 있습니다. IAM(Access Control) 블레이드에서 표시되지 않습니다.

참고

RBAC 또는 로컬 RBAC에 대해 단일 테넌트만 지원됩니다. 로컬 RBAC 함수를 사용하지 않도록 설정하려면 구독과 연결된 유효한 테넌트(또는 기본 테넌트)로 다시 변경하고 "허용되는 개체 ID" 상자에서 모든 Azure AD 개체 ID를 제거할 수 있습니다.

캐싱 동작

Azure API for FHIR은 최대 5분 동안 결정을 캐시합니다. 사용자에게 허용된 개체 ID 목록에 추가하여 FHIR 서버에 대한 액세스 권한을 부여하거나 목록에서 제거하면 권한 변경 내용이 전파되는 데 최대 5분이 걸릴 것으로 예상해야 합니다.

다음 단계

이 문서에서는 외부(보조) Azure Active Directory 테넌트를 사용하여 FHIR 데이터 평면 액세스를 할당하는 방법을 알아보았습니다. 다음으로 Azure API for FHIR에 대한 추가 설정에 대해 알아봅니다.

FHIR®은 HL7의 등록 상표이며 HL7 의 권한으로 사용됩니다.