FHIR 用にローカル RBAC を構成する
重要
Azure API for FHIR は、2026 年 9 月 30 日に廃止されます。 移行戦略に従って、その日までに Azure Health Data Services FHIR® サービスに切り替えてください。 Azure API for FHIR が廃止されたため、2025 年 4 月 1 日以降、新しいデプロイは許可されません。 Azure Health Data Services FHIR サービス は、お客様が他の Azure サービスへの統合を使用して、FHIR、DICOM、および MedTech サービスを管理できるようにする、進化したバージョンの Azure API for FHIR です。
この記事では、データ アクセスにセカンダリ Microsoft Entra テナントを使用するように Azure API for FHIR® を構成する方法について説明します。 このモードは、サブスクリプションに関連付けられている Microsoft Entra テナントを使用できない場合にのみ使用します。
Note
サブスクリプションに関連付けられているプライマリ Microsoft Entra テナントを使用するように FHIR サービスが構成されている場合は、Azure RBAC を使用 してデータ プレーン ロールを割り当てます。
新しいサービス プリンシパルを追加するか、既存のサービス プリンシパルを使用する
ローカル ロールベースのアクセス制御 (RBAC) を使用すると、FHIR サーバーでセカンダリ Microsoft Entra テナントのサービス プリンシパルを使用できます。 Azure portal、PowerShell、または CLI コマンドを使用して新しいサービス プリンシパルを作成することも、既存のサービス プリンシパルを使用することもできます。 このプロセスは、 アプリケーション登録とも呼ばれます。 ポータルから、またはスクリプトを使用して、Microsoft Entra ID を使用してサービス プリンシパルを確認および変更できます。
次の PowerShell および CLI スクリプトは、Visual Studio Code でテストおよび検証され、新しいサービス プリンシパル (またはクライアント アプリケーション) を作成し、クライアント シークレットを追加します。 サービス プリンシパル ID はローカル RBAC に使用され、アプリケーション ID とクライアント シークレットは後で FHIR サービスにアクセスするために使用されます。
Az
PowerShell モジュールを使用できます。
$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 を構成する
Authentication ブレードでセカンダリ Microsoft Entra テナントを使用するように Azure API for FHIR を構成できます。
機関ボックスに、有効なセカンダリ Microsoft Entra テナントを入力します。 テナントが検証されると、 Allowed オブジェクト ID ボックスがアクティブになり、Microsoft Entra サービス プリンシパル オブジェクト ID の 1 つまたは一覧を入力できます。 これらの ID には、次の ID オブジェクト ID を指定できます。
- Microsoft Entra ユーザー。
- Microsoft Entra サービス プリンシパル。
- Microsoft Entra セキュリティ グループ。
詳細については、ID オブジェクト ID を検索する方法に関する記事を参照してください。
必要な Microsoft Entra オブジェクト ID を入力した後、 保存 を選択し、変更が保存されるまで待ってから、割り当てられたユーザー、サービス プリンシパル、またはグループを使用してデータ プレーンにアクセスします。 オブジェクト ID は、"FHIR データ共同作成者" ロールに相当するすべてのアクセス許可で付与されます。
ローカル RBAC 設定は、認証ブレードからのみ表示されます。アクセス制御 (IAM) ブレードからは表示されません。
Note
RBAC またはローカル RBAC では、1 つのテナントのみがサポートされます。 ローカル RBAC 関数を無効にするには、サブスクリプションに関連付けられている有効なテナント (またはプライマリ テナント) に戻し、[許可されたオブジェクト ID] ボックスですべての Microsoft Entra オブジェクト ID を削除します。
キャッシュ動作
Azure API for FHIR は、決定を最大 5 分間キャッシュします。 許可されたオブジェクト ID の一覧にユーザーを追加することによって FHIR サーバーへのアクセス権を付与する場合、または一覧から削除する場合は、アクセス許可の変更が反映されるまで最大 5 分かかることが予想されます。
次のステップ
この記事では、外部 (セカンダリ) Microsoft Entra テナントを使用して FHIR データ プレーン アクセスを割り当てる方法について説明しました。 次に、Azure API for FHIR の追加設定について説明します。
Note
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。