Azure API for FHIR に Azure Active Directory アプリを登録する

Azure API for FHIR または FHIR Server for Azure (OSS) を設定する際は、いくつかの構成オプションから選択できます。 オープンソースの場合は、独自のリソース アプリケーションの登録を作成する必要があります。 Azure API for FHIR の場合、このリソース アプリケーションは自動的に作成されます。

アプリケーションの登録

アプリケーションは、Azure AD と対話するために、登録する必要があります。 FHIR サーバーのコンテキストでは、次の 2 種類のアプリケーション登録について説明しておく必要があります。

  1. リソース アプリケーションの登録。
  2. クライアント アプリケーションの登録。

リソース アプリケーションは、Azure AD で保護されている API またはリソースを Azure AD で表現したものです。具体的には、Azure API for FHIR です。 Azure API for FHIR のリソース アプリケーションは、サービスをプロビジョニングすると自動的に作成されます。ただし、オープンソース サーバーを使用している場合は、Azure AD にリソース アプリケーションを登録する必要があります。 このリソース アプリケーションには識別子 URI が設定されます。 この URI は FHIR サーバーの URI と同じにすることをお勧めします。 この URI は、FHIR サーバーの Audience として使用する必要があります。 クライアント アプリケーションは、トークンを要求するときに、この FHIR サーバーへのアクセスを要求できます。

"クライアント アプリケーション" は、トークンを要求するクライアントの登録です。 OAuth 2.0 では、多くの場合、3 種類以上のアプリケーションが区別されます。

  1. 機密クライアント。Azure AD では Web アプリとも呼ばれます。 機密クライアントとは、承認コード フローを使用して、有効な資格情報を提示しているサインイン ユーザーの代わりにトークンを取得するアプリケーションです。 シークレットを保持でき、認証コードをトークンと交換するときに Azure AD にこのシークレットを提示するため、機密クライアントと呼ばれます。 機密クライアントはクライアント シークレットを使用して自分自身を認証できるため、パブリック クライアントよりも信頼され、有効期間の長いトークンを持ち、更新トークンを付与できます。 機密クライアントを登録する方法の詳細をお読みください。 クライアントが承認コードを受信する応答 URL を登録することが重要であることに注意してください。
  2. パブリック クライアント。 これらは、シークレットを保持できないクライアントです。 通常、これはモバイル デバイス アプリケーションまたは単一ページの JavaScript アプリケーションであり、クライアント内のシークレットがユーザーによって発見される場合があります。 パブリック クライアントは承認コード フローも使用しますが、トークンを取得するときにシークレットを提示することは許可されておらず、有効期間が短いトークンと更新トークンがない可能性があります。 パブリック クライアントを登録する方法の詳細をお読みください。
  3. サービス クライアント。 このクライアントは、クライアント資格情報フローを使用して、(ユーザーの代わりではなく) 自身の代わりにトークンを取得します。 これらは通常、非インタラクティブな方法で FHIR サーバーにアクセスするアプリケーションを表します。 たとえば、インジェスト プロセスです。 サービス クライアントを使用する場合、エンドポイントの呼び出しでトークンを取得するプロセスを開始する /authorize 必要はありません。 サービス クライアントは、直接 /token エンドポイントにアクセスし、クライアント ID とクライアント シークレットを提示してトークンを取得できます。 サービス クライアントを登録する方法の詳細をお読みください。

次のステップ

この概要では、FHIR API の操作に必要となる可能性のあるアプリケーション登録の種類について説明しました。

セットアップに基づいて、アプリケーションを登録する方法に関するガイドを参照してください。

アプリケーションを登録したら、Azure API for FHIR をデプロイできます。

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