設定匯出設定及儲存體帳戶
FHIR 服務支援 $export
HL7 所指定的作業,以從 FHIR® 伺服器匯出 FHIR 數據。 在 FHIR 服務實作中 $export
,呼叫端點會導致 FHIR 服務將數據匯出至預先設定的 Azure 記憶體帳戶。
在設定匯出之前,請確定您已獲得應用程式角色 『FHIR 數據匯出者角色』。 若要深入瞭解應用程式角色,請參閱 FHIR 服務的驗證和授權。
設定 $export
FHIR 服務的作業有三個步驟:
- 啟用 FHIR 服務的受控識別。
- 設定新的或現有的 Azure Data Lake Storage Gen2 (ADLS Gen2) 帳戶,併為 FHIR 服務授與存取帳戶的許可權。
- 將 ADLS Gen2 帳戶設定為 FHIR 服務的導出目的地。
啟用 FHIR 服務的受控識別
設定 FHIR 數據匯出環境的第一個步驟是啟用 FHIR 服務的全系統受控識別。 此受控識別可用來驗證 FHIR 服務,允許在作業期間 $export
存取 ADLS Gen2 帳戶。 如需 Azure 中受控識別的詳細資訊,請參閱關於 Azure 資源受控識別 (部分機器翻譯)。
在此步驟中,流覽至 Azure 入口網站 中的 FHIR 服務,然後選取 [身分識別]。 將 [ 狀態] 選項設定為 [開啟],然後按兩下 [ 儲存]。 當 [ 是 ] 和 [否 ] 按鈕顯示時,選取 [ 是 ] 以啟用 FHIR 服務的受控識別。 啟用系統身分識別之後,您會看到 FHIR 服務的物件(主體)標識碼 值。
在記憶體帳戶中授與 FHIR 服務存取權的許可權
移至 Azure 入口網站 中的 ADLS Gen2 帳戶。 如果您尚未部署 ADSL Gen2 帳戶,請遵循 這些指示 來建立 Azure 記憶體帳戶並升級至 ADLS Gen2。 請務必在 [進階] 索引標籤中啟用階層命名空間選項,以建立 ADLS Gen2 帳戶。
在您的 ADLS Gen2 帳戶中,選取 [存取控制][IAM]。
選取 [新增] > [新增角色指派]。 如果 [ 新增角色指派 ] 選項呈現灰色,請向 Azure 系統管理員詢問此步驟的說明。
在 [ 角色] 索引標籤上,選取 [ 記憶體 Blob 數據參與者 ] 角色。
在 [ 成員] 索引標籤上,選取 [受控識別],然後按兩下 [ 選取成員]。
選取 Azure 訂閱。
選取 [系統指派的受控識別],然後選取您先前為 FHIR 服務啟用的受控識別。
在 [檢閱 + 指派] 索引標籤上,按兩下 [檢閱 + 指派],將記憶體 Blob 數據參與者角色指派給 FHIR 服務。
如需在 Azure 入口網站中指派角色的詳細資訊,請參閱 Azure 內建角色 (部分機器翻譯)。
現在您已準備好設定 FHIR 服務,方法是將 ADLS Gen2 帳戶設定為導出的預設記憶體帳戶。
指定 FHIR 服務導出的記憶體帳戶
最後一個步驟是指定 FHIR 服務在匯出數據時所使用的 ADLS Gen2 帳戶。
注意
在記憶體帳戶中,如果您尚未將記憶體 Blob 數據參與者角色指派給 FHIR 服務,作業$export
將會失敗。
移至您的 FHIR 服務設定。
選取匯出。
從清單中選取記憶體帳戶的名稱。 如果您需要搜尋記憶體帳戶,請使用 [名稱]、[資源群組] 或 [區域篩選]。
完成此設定步驟之後,您就可以從 FHIR 服務匯出數據。 如需如何使用 FHIR 服務執行$export
作業的詳細資訊,請參閱如何匯出 FHIR 數據。
注意
只有與 FHIR 服務位於相同訂用帳戶中的記憶體帳戶,才能註冊為作業的 $export
目的地。
保護 FHIR 服務 $export
作業
若要安全地從 FHIR 服務導出至 ADLS Gen2 帳戶,有兩個選項:
允許 FHIR 服務以Microsoft信任的服務存取記憶體帳戶。
允許與 FHIR 服務相關聯的特定 IP 位址存取記憶體帳戶。 根據儲存體帳戶是否位於與 FHIR 服務相同的 Azure 區域中,此選項允許兩個不同的設定。
允許 FHIR 服務作為Microsoft信任的服務
移至 Azure 入口網站 中的 ADLS Gen2 帳戶,然後選取 [網络]。 選取 [防火牆與虛擬網路] 索引標籤底下的 [從選取的虛擬網路和 IP 位址啟用]。
從 [資源類型] 下拉式清單中選取 [Microsoft.HealthcareApis/workspaces],然後從 [執行個體名稱] 下拉式清單中選取您的工作區。
在 [例外狀況] 區段底下,選取 [允許受信任服務清單上的 Azure 服務存取此儲存體帳戶] 方塊。 請務必按一下 [儲存] 以保留設定。
接下來,執行下列 PowerShell 命令,在本機環境中安裝 Az.Storage
PowerShell 模組。 這可讓您使用 PowerShell 設定 Azure 記憶體帳戶。
Install-Module Az.Storage -Repository PsGallery -AllowClobber -Force
現在,使用下列 PowerShell 命令,將選取的 FHIR 服務實例設定為記憶體帳戶的受信任資源。 請務必在您的 PowerShell 環境中定義所有列出的參數。
您必須以系統管理員身分在本機環境中執行 Add-AzStorageAccountNetworkRule
命令。 如需詳細資訊,請參閱設定 Azure 儲存體防火牆和虛擬網路。
$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 服務執行個體的名稱。
您現在已準備好安全地將 FHIR 數據匯出至記憶體帳戶。
儲存體帳戶位於選取的網路上,且無法公開存取。 若要安全地存取檔案,您可以啟用儲存體帳戶的私人端點。
允許特定IP位址從其他 Azure 區域存取 Azure 記憶體帳戶
在 Azure 入口網站 中,移至 Azure Data Lake Storage 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 記憶體帳戶
相同區域中IP位址的設定程式與上一個程式相同,不同之處在於您改用無類別網域間路由 (CIDR) 格式的特定IP位址範圍(也就是100.64.0.0/10)。 您必須指定IP位址範圍 (100.64.0.0.0至100.127.255.255),因為每次發出作業要求時都會配置 FHIR 服務的IP位址。
注意
在 10.0.2.0/24 的範圍內可以使用私人 IP 位址,但無法保證作業會在這類情況下成功。 如果作業要求失敗,您可以重試,但直到您在 100.64.0.0/10 的範圍內使用 IP 位址,要求才會成功。
IP 位址範圍的這個網路行為是設計好的。 替代方法是設定不同區域中的儲存體帳戶。
下一步
在本文中,您已瞭解設定環境以允許將數據從 FHIR 服務匯出至 Azure 記憶體帳戶的三個步驟。 如需 FHIR 服務中大容量導出功能的詳細資訊,請參閱下列內容。
注意
FHIR® 是 HL7 的註冊商標,在 HL7 的許可下使用。