複数のサービス ID プロバイダーを構成する
FHIR® サービスが既に存在しているか、新しく作成するかに関係なく、このサービス用として、Microsoft Entra ID に加えて最大 2 つの追加 ID プロバイダーを構成できます。
ID プロバイダーの前提条件
ID プロバイダーは、OpenID Connect (OIDC) をサポートする必要があります。また、SMART on FHIR v1 スコープ で fhirUser
要求、azp
または appid
要求、scp
要求を使用して JSON Web Token (JWT) を発行できる必要があります。
Azure Resource Manager (ARM) を使用して追加の ID プロバイダーを有効にする
追加の ID プロバイダーを有効にするには、FHIR サービス authenticationConfiguration
に smartIdentityProviders
要素を追加します。 smartIdentityProviders
要素は省略可能です。 省略すると、FHIR サービスは、Microsoft Entra ID を使用して要求を認証します。
要素 | Type | 説明 |
---|---|---|
smartIdentityProviders | 配列 | 最大 2 つの ID プロバイダー構成を含む配列。 この要素は省略可能です。 |
authority | string | ID プロバイダーのトークン機関。 |
applications | 配列 | ID プロバイダーのリソース アプリケーション構成の配列。 |
clientId | string | ID プロバイダーのリソース アプリケーション (クライアント) ID。 |
audience | string | アクセス トークンの aud 要求を検証するために使用されます。 |
allowedDataActions | 配列 | ID プロバイダーのリソース アプリケーションに実行を許可するアクセス許可の配列。 |
{
"properties": {
"authenticationConfiguration": {
"authority": "string",
"audience": "string",
"smartProxyEnabled": "bool",
"smartIdentityProviders": [
{
"authority": "string",
"applications": [
{
"clientId": "string",
"audience": "string",
"allowedDataActions": "array"
}
]
}
]
}
}
}
smartIdentityProviders
配列を構成する
Microsoft Entra ID 以外に ID プロバイダーが必要ない場合は、smartIdentityProviders
配列を null に設定するか、プロビジョニング要求から省略します。 それ以外の場合、少なくとも 1 つの有効な ID プロバイダー構成オブジェクトを配列に含めます。 最大 2 つの ID プロバイダーを構成できます。
authority
を指定する
構成する ID プロバイダーごとに、authority
文字列を指定する必要があります。 authority
文字列は、ID プロバイダーのアクセス トークンを発行するトークン機関です。 authority
文字列が無効であるか、正しくない場合、FHIR サービスは、401 Unauthorized
エラー コードで要求を拒否します。
プロビジョニング要求を行う前に、openid-connect 構成エンドポイントを確認して、authority
文字列を検証します。 authority
文字列の末尾に /.well-known/openid-configuration を追加し、それをブラウザーに貼り付けます。 想定した構成が表示されます。 表示されない場合は、文字列に問題があります。
例:
https://yourIdentityProvider.com/authority/v2.0/.well-known/openid-configuration
applications
配列を構成する
applications
配列には少なくとも 1 つのアプリケーション構成を含める必要があり、追加できるアプリケーションの最大数は 25 です。 各アプリケーション構成には、アクセス トークン要求を検証する値と、アプリケーションが FHIR リソースにアクセスするためのアクセス許可を定義する配列が含まれます。
clientId
文字列を使用してアプリケーションを識別する
ID プロバイダーは、clientId
文字列 (またはアプリケーション ID) と呼ばれる一意の識別子でアプリケーションを定義します。 FHIR サービスは、authorized party
(azp) または application id
(appid) 要求を clientId
文字列と照合して、アクセス トークンを検証します。 401 Unauthorized
文字列とトークン要求が完全に一致しない場合、FHIR サービスは、clientId
エラー コードで要求を拒否します。
audience
文字列を使用してアクセス トークンを検証する
アクセス トークン内の aud
要求は、対象のトークン受信者を識別します。 audience
文字列は、受信者の一意の識別子です。 FHIR サービスは、audience
文字列を aud
文字列と照合して、アクセス トークンを検証します。 aud
文字列と 401 Unauthorized
要求が完全に一致しない場合、FHIR サービスは、audience
エラー コードで要求を拒否します。
allowedDataActions
配列を使用してアクセス許可を指定する
allowedDataActions
配列には、少なくとも 1 つのアクセス許可文字列を含めます。 任意の有効なアクセス許可文字列を含めることができます。 重複は避けてください。
有効なアクセス許可文字列 | 説明 |
---|---|
読み込み | リソース GET 要求を許可します。 |
次のステップ
Azure Active Directory B2C を使用して FHIR サービスへのアクセスを許可する
Note
FHIR® は HL7 の登録商標であり、HL7 の許可を得て使用しています。