SMART on FHIR の HealthLake 認証要件 - AWS HealthLake

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

SMART on FHIR の HealthLake 認証要件

SMART on FHIR 対応 HealthLake データストアの FHIR リソースにアクセスするには、クライアントアプリケーションが OAuth 2.0 準拠の認可サーバーによって承認され、FHIR REST API リクエストの一部として OAuth ベアラートークンを提示する必要があります。認可サーバーのエンドポイントを検索するには、Uniform Resource Identifier を介して HealthLake SMART on FHIR Discovery Document Well-Known を使用します。このプロセスについては、「SMART on FHIR 検出ドキュメントの取得」を参照してください。

SMART on FHIR HealthLake データストアを作成するときは、CreateFHIRDatastoreリクエストの metadata要素で認可サーバーのエンドポイントとトークンエンドポイントを定義する必要があります。metadata 要素の定義の詳細については、「」を参照してくださいHealthLake データストアの作成

認可サーバーエンドポイントを使用して、クライアントアプリケーションは認可サービスでユーザーを認証します。承認および認証されると、認可サービスによって JSON ウェブトークン (JWT) が生成され、クライアントアプリケーションに渡されます。このトークンには、クライアントアプリケーションが使用できる FHIR リソーススコープが含まれています。これにより、ユーザーがアクセスできるデータが制限されます。オプションで、起動スコープが指定されている場合、レスポンスにはそれらの詳細が含まれます。HealthLake でサポートされている FHIR スコープの SMART の詳細については、「」を参照してくださいHealthLake でサポートされている FHIR OAuth 2.0 スコープでの SMART

認可サーバーによって付与された JWT を使用して、クライアントアプリケーションは FHIR が有効な HealthLake データストアで SMART への FHIR REST API 呼び出しを行います。JWT を検証してデコードするには、Lambda 関数を作成する必要があります。HealthLake は、FHIR REST API リクエストを受信すると、ユーザーに代わってこの Lambda 関数を呼び出します。スターター Lambda 関数の例については、「」を参照してくださいを使用したトークンの検証 AWS Lambda

FHIR 対応 HealthLake データストアで SMART を作成するために必要な認可サーバー要素

CreateFHIRDatastore リクエストでは、 IdentityProviderConfiguration オブジェクトの metadata要素の一部として認可エンドポイントとトークンエンドポイントを指定する必要があります。認可エンドポイントとトークンエンドポイントの両方が必要です。これをCreateFHIRDatastoreリクエストで指定する方法の例については、「」を参照してくださいHealthLake データストアの作成

SMART on FHIR 対応 HealthLake データストアで FHIR REST API リクエストを完了するために必要なクレーム

AWS Lambda 関数が SMART on FHIR 対応 HealthLake データストアでの有効な FHIR REST API リクエストであるためには、関数に次のクレームが含まれている必要があります。

  • nbf: (前ではない) クレーム — 「nbf」クレーム (前ではない) は、JWT を処理に受け入れることができない時刻を識別します。「nbf」クレームの処理では、現在の日付/時刻が「nbf」クレームに記載されている以前の日付/時刻以降である必要があります。提供されているサンプル Lambda 関数は、サーバーレスポンスiatから に変換しますnbf

  • exp: (有効期限) クレーム — 「有効期限」 (有効期限) クレームは、JWT を処理に受け入れてはならない 以降の有効期限を識別します。

  • isAuthorized: ブール値を に設定しますTrue。認可サーバーでリクエストが承認されたことを示します。

  • aud: (対象者) クレーム — 「aud」 (対象者) クレームは、JWT の対象となる受信者を識別します。これは、FHIR 対応 HealthLake データストアエンドポイントの SMART である必要があります。

  • scope: これは、少なくとも 1 つの FHIR リソース関連のスコープである必要があります。このスコープは認可サーバーで定義されます。HealthLake で受け入れられる FHIR リソース関連のスコープの詳細については、「」を参照してくださいHealthLake の FHIR リソーススコープに関する SMART