エクスポート設定を構成してストレージ アカウントを設定する

FHIR サービスは、FHIR サーバーから FHIR® データをエクスポート HL7 で指定された$export操作をサポートします。 FHIR サービスの実装では、 $export エンドポイントを呼び出すと、FHIR サービスは事前構成済みの Azure ストレージ アカウントにデータをエクスポートします。

エクスポートを構成する前に、アプリケーション ロール 'FHIR データ エクスポーター ロール' が付与されていることを確認します。 アプリケーション ロールの詳細については、「FHIR サービスの認証と承認を参照してください。

FHIR サービスの $export 操作を設定する手順は 3 つあります。

  • FHIR サービスのマネージド ID を有効にします。
  • 新規または既存の Azure Data Lake Storage Gen2 (ADLS Gen2) アカウントを構成し、FHIR サービスがアカウントにアクセスするためのアクセス許可を付与します。
  • ADLS Gen2 アカウントを FHIR サービスのエクスポート先として設定します。

FHIR サービスのマネージド ID を有効にする

FHIR データ エクスポート用に環境を構成する最初の手順は、FHIR サービスのシステム全体のマネージド ID を有効にすることです。 このマネージド ID は FHIR サービスの認証に使用され、 $export 操作中に ADLS Gen2 アカウントにアクセスできます。 Azure のマネージド ID の詳細については、Azure リソースのマネージド ID の概要に関するページを参照してください。

この手順では、Azure portal で FHIR サービスを参照し、 Identity を選択します。 Status オプションを On に設定し、[ 保存] をクリック。 [ YesNo ] ボタンが表示されたら、 Yes を選択して FHIR サービスのマネージド ID を有効にします。 システム ID が有効になると、FHIR サービスの Object (プリンシパル) ID 値が表示されます。

マネージド ID の有効化

FHIR サービス アクセスのアクセス許可をストレージ アカウントに付与する

  1. Azure portal で ADLS Gen2 アカウントに移動します。 ADSL Gen2 アカウントをまだデプロイしていない場合は、 の手順に従って Azure ストレージ アカウントを作成し、ADLS Gen2 にアップグレードします。 ADLS Gen2 アカウントを作成するには、必ず Advanced タブで階層型名前空間オプションを有効にします。

  2. ADLS Gen2 アカウントで、 Access control (IAM)を選択します。

  3. [追加] > [ロールの割り当ての追加] の順に選択します。 ロールの割り当ての追加 オプションが淡色表示されている場合は、Azure 管理者にこの手順のヘルプを依頼してください。

    [ロールの割り当ての追加] メニューが開いている [アクセス制御 (IAM)] ページのスクリーンショット。

  4. [ Role タブで、 Storage BLOB データ共同作成者 ロールを選択します。

    [ロールの割り当ての追加] ページのユーザー インターフェイスを示すスクリーン ショット。

  5. Members タブで、管理 ID を選択し、 メンバーの選択をクリックします。

  6. Azure サブスクリプションを選択します。

  7. システム割り当てマネージド IDを選択し、FHIR サービスに対して以前に有効にしたマネージド ID を選択します。

  8. Review + assign タブで、Review + assign をクリックして、Storage BLOB データ共同作成者ロールを FHIR サービスに割り当てます。

Azure portal でロールに割り当てる方法の詳細については Azure 組み込みロールに関するページを参照してください。

これで、ADLS Gen2 アカウントをエクスポート用の既定のストレージ アカウントとして設定して、FHIR サービスを構成する準備ができました。

FHIR サービス エクスポートのストレージ アカウントを指定する

最後の手順では、FHIR サービスがデータのエクスポート時に使用する ADLS Gen2 アカウントを指定します。

Note

ストレージ アカウントで、FHIR サービスに Storage BLOB データ共同作成者 ロールを割り当てていない場合、 $export 操作は失敗します。

  1. FHIR サービスの設定に移動します。

  2. エクスポートを選択します。

  3. 一覧からストレージ アカウントの名前を選択します。 ストレージ アカウントを検索する必要がある場合は、 NameResource グループ、または Region フィルターを使用します。

FHIR Export Storage のユーザー インターフェイスを示すスクリーン ショット。

この構成手順を完了すると、FHIR サービスからデータをエクスポートする準備が整います。 FHIR サービス$export操作の実行の詳細についてはFHIR データをエクスポートする方法に関するページを参照してください。

Note

FHIR サービスと同じサブスクリプション内のストレージ アカウントのみが、 $export 操作の宛先として登録できます。

FHIR サービスの $export 操作のセキュリティ保護

FHIR サービスから ADLS Gen2 アカウントに安全にエクスポートするには、次の 2 つのオプションがあります。

  • FHIR サービスが Microsoft 信頼済みサービスとしてストレージ アカウントにアクセスできるようにします。

  • FHIR サービスに関連付けられている特定の IP アドレスにストレージ アカウントへのアクセスを許可する。 このオプションでは、ストレージ アカウントが FHIR サービスと同じ Azure リージョンにあるかどうかに応じて、2 つの異なる構成が許可されます。

Microsoft の信頼されたサービスとしての FHIR サービスの許可

Azure portal で ADLS Gen2 アカウントに移動し、 Networking を選択します。 [ファイアウォールと仮想ネットワーク] タブで選択した仮想ネットワークと IP アドレスから Enabledを選択します。

Azure Storage のネットワーク設定のスクリーンショット。

Resource の種類ドロップダウン リストから Microsoft.HealthcareApis/workspaces を選択し、Instance name ドロップダウン リストからワークスペースを選択します。

[ Exceptions セクションで、信頼されたサービスの一覧 Azure サービスを許可する] ボックスを選択して、このストレージ アカウントにアクセスします保存をクリックして設定を保持してください。

信頼された Microsoft サービスによるこのストレージ アカウントに対するアクセスを許可します。

次に、次の PowerShell コマンドを実行して、 Az.Storage PowerShell モジュールをローカル環境にインストールします。 これにより、PowerShell を使用して Azure ストレージ アカウントを構成できます。

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

このコマンドを実行すると、Resource インスタンスの下の Firewall セクションで Instance name ドロップダウン リストに 2 が選択表示されます。 これらは、Microsoft 信頼できるリソースとして登録したワークスペース インスタンスと FHIR サービス インスタンスの名前です。

リソースの種類とインスタンス名を含む Azure Storage ネットワーク設定のスクリーンショット。

これで、FHIR データをストレージ アカウントに安全にエクスポートする準備ができました。

ストレージ アカウントは、選択したネットワーク上にあり、パブリックにアクセスできません。 ファイルに安全にアクセスするには、ストレージ アカウントの private エンドポイント を有効にします。

特定の IP アドレスが他の Azure リージョンから Azure ストレージ アカウントにアクセスできるようにする

  1. Azure portal で、Azure Data Lake Storage Gen2 アカウントに移動します。

  2. 左側のメニューで、[ネットワーク] を選択します。

  3. [選択した仮想ネットワークと IP アドレスから有効] を選択します。

  4. [ ファイアウォール セクションの [ アドレス範囲 ボックスに、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

同じリージョン内の Azure ストレージ アカウントへのアクセスを特定の IP アドレスに許可する

同じリージョンの IP アドレスの構成プロセスは前の手順と同じですが、代わりにクラスレスドメイン間ルーティング (CIDR) 形式で特定の IP アドレス範囲を使用する点が異なります (つまり、100.64.0.0/10)。 操作要求を行うたびに FHIR サービスの IP アドレスが割り当てられるため、IP アドレス範囲 (100.64.0.0 から 100.127.255.255) を指定する必要があります。

Note

10.0.2.0/24 の範囲内でプライベート IP アドレスを使用することはできますが、このような場合に操作が成功する保証はありません。 操作要求が失敗した場合は再試行できますが、100.64.0.0/10 の範囲内の IP アドレスを使用するまで、要求は成功しません。

IP アドレス範囲に対するこのネットワーク動作は仕様です。 代替策として、ストレージ アカウントを別のリージョンで構成する方法があります。

次のステップ

この記事では、FHIR サービスから Azure ストレージ アカウントへのデータのエクスポートを許可するように環境を構成する 3 つの手順について説明しました。 FHIR サービスの一括エクスポート機能の詳細については、次を参照してください。

Note

FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。