대량 가져오기 설정 구성

이 문서에서는 $import 작업에 대한 FHIR 서비스의 설정을 구성하는 단계를 설명합니다. FHIR 서비스가 제공하는 가져오기 기능에 대한 자세한 내용은 $import 작업을 참조하세요.

설정을 구성하려면 다음을 수행해야 합니다.

  1. FHIR 서비스에서 관리 ID를 사용하도록 설정합니다.
  2. Azure Storage 계정을 만들거나 기존 스토리지 계정을 사용한 다음, FHIR 서비스에 액세스 권한을 부여합니다.
  3. FHIR 서비스에서 가져오기 구성을 설정합니다.

1단계: FHIR 서비스에서 관리 ID 사용

첫 번째 단계는 서비스에서 시스템 전체 관리 ID를 사용하도록 설정하는 것입니다. 스토리지 계정에 대한 FHIR 서비스 액세스 권한을 부여하는 데 사용됩니다. Azure에서 관리 ID에 대한 자세한 내용은 Azure 리소스의 관리 ID 정보를 참조하세요.

단계에 따라 FHIR 서비스에서 관리 ID를 사용하도록 설정합니다.

  1. Azure Portal에서 FHIR 서비스로 이동합니다.
  2. ID 블레이드를 선택합니다.
  3. 상태 옵션을 켜기로 선택한 다음, 저장을 선택합니다.
  4. 를 선택하여 FHIR 서비스에 대한 관리 ID를 사용하도록 설정합니다.

시스템 ID를 사용하도록 설정하면 시스템 할당 GUID 값이 표시됩니다.

Enable Managed Identity

2단계: FHIR 서비스에 스토리지 계정에 액세스하기 위한 권한 할당

아래 단계에 따라 스토리지 계정에 액세스할 수 있는 권한을 할당합니다.

  1. 스토리지 계정에서 액세스 제어(IAM)로 이동합니다.
  2. 역할 할당 추가를 선택합니다. 이 단계에서 역할 할당 추가 옵션이 회색으로 표시되는 경우 Azure 관리자에게 이 단계를 수행할 수 있는 권한을 할당하도록 요청해야 합니다. Azure Portal에서 역할을 할당하는 방법에 대한 자세한 내용은 Azure 기본 제공 역할을 참조하세요.
  3. FHIR 서비스에 Storage Blob 데이터 기여자 역할을 추가합니다.
  4. 저장을 선택합니다.

Screen shot of the Add role assignment page.

이제 가져올 스토리지 계정을 선택할 준비가 되었습니다.

3단계: FHIR 서비스의 가져오기 구성 설정

참고 항목

FHIR 서비스에 스토리지 액세스 권한을 할당하지 않은 경우 가져오기 작업($import)이 실패합니다.

이 단계에서는 요청 URL 및 JSON 본문을 가져와야 합니다. 아래 지침을 따르세요.

  1. FHIR 서비스의 Azure Portal로 이동합니다.
  2. 개요를 선택합니다.
  3. JSON 보기를 선택합니다.
  4. API 버전을 2022-06-01 이상 버전으로 선택합니다.

JSON 보기에서 Azure Storage 계정을 지정하려면 REST API를 사용하여 FHIR 서비스를 업데이트해야 합니다. Screenshot of Get JSON View

아래 단계에서는 초기 및 증분 가져오기 모드에 대한 구성을 설정하는 단계를 안내합니다. 사용 사례에 적합한 가져오기 모드를 선택합니다.

3a단계: 초기 가져오기 모드에 대한 가져오기 구성을 설정합니다.

JSON을 다음과 같이 변경합니다.

  1. importConfiguration에서 enabled를 true로 설정합니다.
  2. integrationDataStore를 대상 스토리지 계정 이름으로 업데이트합니다.
  3. importConfiguration의 initialImportMode를 true로 설정합니다.
  4. provisioningState를 줄입니다.

Screenshot of the importer configuration code example

이 마지막 단계를 완료하면 $import를 사용하여 초기 모드 가져오기를 수행할 준비가 된 것입니다.

3b단계: 증분 가져오기 모드에 대한 가져오기 구성을 설정합니다.

JSON을 다음과 같이 변경합니다.

  1. importConfiguration에서 enabled를 true로 설정합니다.
  2. integrationDataStore를 대상 스토리지 계정 이름으로 업데이트합니다.
  3. importConfiguration의 initialImportMode를 false로 설정합니다.
  4. provisioningState를 줄입니다.

이 마지막 단계를 완료하면 $import를 사용하여 증분 모드 가져오기를 수행할 준비가 된 것입니다.

Azure에 배포 단추를 사용하여 $import에 대한 구성을 업데이트하는 사용자 지정 Resource Manager 템플릿을 열 수도 있습니다.

Deploy to Azure Button.

FHIR 서비스 $import 작업 보호

ADLS Gen2 계정에서 FHIR 데이터를 FHIR 서비스로 안전하게 가져오려면 다음 두 가지 옵션을 사용할 수 있습니다.

  • 옵션 1: FHIR 서비스를 Microsoft 신뢰할 수 있는 서비스로 사용하도록 설정
  • 옵션 2: FHIR 서비스와 연결된 특정 IP 주소가 스토리지 계정에 액세스하도록 허용 이 옵션은 스토리지 계정이 FHIR 서비스와 동일한 Azure 지역에 있는지 여부에 따라 두 가지 구성을 허용합니다.

옵션 1: FHIR 서비스를 Microsoft 신뢰할 수 있는 서비스로 사용하도록 설정

Azure Portal에서 ADLS Gen2 계정으로 이동하여 네트워킹 블레이드를 선택합니다. 방화벽 및 가상 네트워크 탭에서 선택한 가상 네트워크 및 IP 주소에서 사용을 선택합니다.

Screenshot of Azure Storage Networking Settings.

리소스 종류 드롭다운 목록에서 Microsoft.HealthcareApis/workspaces를 선택한 다음, 인스턴스 이름 드롭다운 목록에서 작업 영역을 선택합니다.

예외에서 신뢰할 수 있는 서비스 목록의 Azure 서비스가 이 스토리지 계정에 액세스하도록 허용 확인란을 선택합니다. 설정을 유지하려면 저장을 클릭해야 합니다.

Screenshot showing Allow trusted Microsoft services to access this storage account.

그런 후 다음 PowerShell 명령을 실행하여 로컬 환경에 Az.Storage PowerShell 모듈을 설치합니다. 이렇게 하면 PowerShell을 사용하여 Azure Storage 계정을 구성할 수 있습니다.

Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force 

이제 아래 PowerShell 명령을 사용하여 선택한 FHIR 서비스 인스턴스를 스토리지 계정에 대한 신뢰할 수 있는 리소스로 설정합니다. 나열된 모든 매개 변수가 PowerShell 환경에 정의되어 있는지 확인합니다.

로컬 환경에서 관리자 권한으로 Add-AzStorageAccountNetworkRule 명령을 실행해야 합니다. 자세한 내용은 Azure Storage 방화벽 및 가상 네트워크 구성을 참조하세요.

$subscription="xxx"
$tenantId = "xxx"
$resourceGroupName = "xxx"
$storageaccountName = "xxx"
$workspacename="xxx"
$fhirname="xxx"
$resourceId = "/subscriptions/$subscription/resourceGroups/$resourceGroupName/providers/Microsoft.HealthcareApis/workspaces/$workspacename/fhirservices/$fhirname"

Add-AzStorageAccountNetworkRule -ResourceGroupName $resourceGroupName -Name $storageaccountName -TenantId $tenantId -ResourceId $resourceId

위의 명령을 실행한 후 리소스 인스턴스 아래의 방화벽 섹션에 있는 인스턴스 이름 드롭다운 목록에서 2가 선택된 것을 볼 수 있습니다. 다음은 Microsoft 신뢰할 수 있는 리소스로 등록한 작업 영역 인스턴스 및 FHIR 서비스 인스턴스의 이름입니다.

Screenshot of Azure Storage Networking Settings with resource type and instance names.

이제 스토리지 계정에서 FHIR 데이터를 안전하게 가져올 준비가 되었습니다. 스토리지 계정은 선택한 네트워크에 있으며 공개적으로 액세스할 수 없습니다. 파일에 안전하게 액세스하려면 스토리지 계정에 대해 프라이빗 엔드포인트를 사용하도록 설정할 수 있습니다.

옵션 2:

다른 Azure 지역의 특정 IP 주소가 Azure Storage 계정에 액세스하도록 허용

Azure Portal에서 ADLS Gen2 계정으로 이동하여 네트워킹 블레이드를 선택합니다.

선택한 가상 네트워크 및 IP 주소에서 사용을 선택합니다. 방화벽 섹션의 주소 범위 상자에 IP 주소를 지정합니다. 인터넷 또는 온-프레미스 네트워크에서의 액세스를 허용하기 위한 IP 범위를 추가합니다. 아래 표에서 FHIR 서비스가 프로비전된 Azure 지역의 IP 주소를 찾을 수 있습니다.

Azure 지역 공용 IP 주소
오스트레일리아 동부 20.53.44.80
캐나다 중부 20.48.192.84
미국 중부 52.182.208.31
미국 동부 20.62.128.148
미국 동부 2 20.49.102.228
미국 동부 2 EUAP 20.39.26.254
독일 북부 51.116.51.33
독일 중서부 51.116.146.216
일본 동부 20.191.160.26
한국 중부 20.41.69.51
미국 중북부 20.49.114.188
북유럽 52.146.131.52
남아프리카 공화국 북부 102.133.220.197
미국 중남부 13.73.254.220
동남 아시아 23.98.108.42
스위스 북부 51.107.60.95
영국 남부 51.104.30.170
영국 서부 51.137.164.94
미국 중서부 52.150.156.44
서유럽 20.61.98.66
미국 서부 2 40.64.135.77

특정 IP 주소가 동일한 지역의 Azure Storage 계정에 액세스하도록 허용

동일한 지역의 IP 주소에 대한 구성 프로세스는 CIDR(Classless Inter-Domain Routing) 형식의 특정 IP 주소 범위(즉, 100.64.0.0/10)가 대신 사용된다는 점을 제외하고 위와 같습니다. IP 주소 범위(100.64.0.0 – 100.127.255.255)를 지정해야 하는 이유는 작업 요청이 수행될 때마다 FHIR 서비스의 IP 주소가 할당되기 때문입니다.

참고 항목

10.0.2.0/24 범위 내의 개인 IP 주소를 사용할 수 있지만 이러한 경우 작업이 성공할 것이라는 보장이 없습니다. 작업 요청이 실패하는 경우 다시 시도할 수 있지만 100.64.0.0/10 범위 내의 IP 주소가 사용될 때까지 요청이 성공하지 못합니다. IP 주소 범위에 대한 이 네트워크 동작은 기본적으로 설계되었습니다. 또는 다른 지역에서 스토리지 계정을 구성할 수도 있습니다.

다음 단계

이 문서에서는 FHIR 서비스가 $import 작업을 지원하는 방법과 스토리지 계정에서 FHIR 서비스로 데이터를 가져올 수 있도록 하는 방법을 알아보았습니다. 또한 FHIR 서비스에서 가져오기 설정을 구성하는 데 사용되는 세 가지 단계에 대해서도 알아보았습니다. 데이터를 FHIR로 변환하고, 스토리지 계정을 지정하기 위한 설정을 내보내고, 데이터를 Azure Synapse로 이동하는 방법에 대한 자세한 내용은 다음을 참조하세요.

FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.