本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
HealthLake FHIR 上的 SMART 的身份验证要求
要访问支持 FHIR 的 SMART on HealthLake 数据存储中的 FHIR 资源,客户端应用程序必须由 OAuth 兼容 2.0 的授权服务器授权,并在 FHIR REST API 请求中出示OAuth 持有者令牌。要查找授权服务器的端点,请通过Well-Known统一资源标识符使用 SM HealthLake ART on FHIR 发现文档。要了解有关此过程的更多信息,请参阅正在获取 SMART on FHIR 发现文档。
在 FHIR HealthLake 数据存储上创建 SMART 时,必须在CreateFHIRDatastore请求的metadata元素中定义授权服务器的端点和令牌端点。要了解有关定义metadata元素的更多信息,请参阅创建 HealthLake 数据存储。
使用授权服务器端点,客户端应用程序将使用授权服务对用户进行身份验证。授权和身份验证后,授权服务会生成 JSON Web 令牌 (JWT) 并传递给客户端应用程序。此令牌包含允许客户端应用程序使用的 FHIR 资源范围,这反过来又限制了用户能够访问的数据。或者,如果提供了启动范围,则响应中将包含这些详细信息。要了解有关支持的 SMART on FHIR 示波器的更多信息 HealthLake,请参阅支持的 FHIR OAuth 2.0 瞄准镜上的 SMART HealthLake。
使用授权服务器授予的 JWT,客户端应用程序对启用 FHIR 的 SMART 数据存储进行 FHIR REST API 调用 HealthLake 。要验证和解码 JWT,您需要创建一个 Lambda 函数。 HealthLake 在收到 FHIR REST API 请求时代表你调用此 Lambda 函数。要查看起始 Lambda 函数的示例,请参阅。使用令牌验证 AWS Lambda
创建启用 FHIR 的 SMART HealthLake 数据存储所需的授权服务器元素
在CreateFHIRDatastore请求中,您需要提供授权端点和令牌端点作为IdentityProviderConfiguration对象中metadata元素的一部分。授权端点和令牌端点都是必需的。要查看CreateFHIRDatastore请求中如何指定这一点的示例,请参阅创建 HealthLake 数据存储。
在启用 HealthLake FHIR 的数据存储上的 SMART 上完成 FHIR REST API 请求所需的声明
您的 AWS Lambda 函数必须包含以下声明才能成为启用 SMART on FHIR HealthLake 的数据存储上的有效 FHIR REST API 请求。
-
nbf:(Not Before)索赔— “nbf”(不是之前)索赔指明了在此之前不得接受 JWT 进行处理的时间。“nbf” 索赔的处理要求当前索赔 date/time 必须高于或等于 “nbf” 索赔中 date/time 列出的前值。我们提供的示例 Lambda 函数 iat从服务器响应转换为。nbf -
exp:(到期时间)索赔— “exp”(到期时间)索赔确定了过期时间,在此时间或之后,JWT 不得被接受处理。 -
isAuthorized: 布尔值设置为True。表示请求已在授权服务器上获得授权。 -
aud:(受众)声明— “aud”(受众)声明用于标识智威汤逊所针对的收件人。这必须是启用 SMART on FHIR HealthLake 的数据存储端点。 -
scope:这必须是至少一个与 FHIR 资源相关的范围。此范围是在您的授权服务器上定义的。要了解有关接受的 FHIR 资源相关范围的更多信息 HealthLake,请参阅SMART 对 FHIR 的资源范围适用于 HealthLake。