次の方法で共有


複数のサービス 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 サービス authenticationConfigurationsmartIdentityProviders 要素を追加します。 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 サービスへのアクセスを許可する

ID プロバイダーの構成をトラブルシューティングする

Note

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