

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# FHIR 上的 SMART 入門
<a name="reference-smart-on-fhir-getting-started"></a>

下列主題說明如何開始使用 AWS HealthLake 的 FHIR 授權上的 SMART。其中包括您必須在 AWS 帳戶中佈建的資源、在啟用 FHIR 的 HealthLake 資料存放區上建立 SMART，以及 FHIR 用戶端應用程式如何與授權伺服器和 HealthLake 資料存放區互動的範例。

**Topics**
+ [在 FHIR 上為 SMART 設定資源](#smart-on-fhir-resources)
+ [FHIR 上適用於 SMART 的用戶端應用程式工作流程](#smart-on-fhir-client-app-workflow)

## 在 FHIR 上為 SMART 設定資源
<a name="smart-on-fhir-resources"></a>

下列步驟定義 HealthLake 如何處理 FHIR 請求上的 SMART，以及成功所需的資源。下列元素在工作流程中一起運作，以在 FHIR 上建立 SMART 請求：
+ **最終使用者**：通常，病患或臨床醫生在 FHIR 上使用第三方 SMART 來存取 HealthLake 資料存放區中的資料。
+ **FHIR 上的 SMART 應用程式 （稱為用戶端應用程式）**：想要存取 HealthLake 資料存放區中找到之資料的應用程式。
+ **授權伺服器**：符合 OpenID Connect 標準的伺服器，能夠驗證使用者並發出存取權杖。
+ **HealthLake 資料存放**區：啟用 FHIR 的 SMART HealthLake存放區，使用 Lambda 函數回應提供承載字符的 FHIR REST 請求。

若要讓這些元素一起運作，您必須建立下列資源。

**注意**  
我們建議您在設定授權伺服器、定義必要的[範圍](reference-smart-on-fhir-oauth-scopes.md)，並建立 AWS Lambda 函數來處理[權杖](reference-smart-on-fhir-token-validation.md)自我檢查之後，在啟用 FHIR 的 HealthLake 資料存放區上建立您的 SMART。

**1. 設定授權伺服器端點**  
若要在 FHIR 架構上使用 SMART，您需要設定第三方授權伺服器，以驗證對資料存放區提出的 FHIR REST 請求。如需詳細資訊，請參閱[FHIR 上 SMART 的 HealthLake 身分驗證要求](reference-smart-on-fhir-authentication.md)。

**2. 在授權伺服器上定義範圍，以控制 HealthLake 資料存放區存取層級**  
FHIR 上的 SMART 架構使用 OAuth 範圍來判斷已驗證請求可存取的 FHIR 資源，以及存取程度。定義範圍是針對最低權限進行設計的一種方式。如需詳細資訊，請參閱[HealthLake 支援的 FHIR OAuth 2.0 範圍上的 SMART](reference-smart-on-fhir-oauth-scopes.md)。

**3. 設定能夠執行權杖自我檢查的 AWS Lambda 函數**  
用戶端應用程式在啟用 FHIR 的 SMART 資料存放區上傳送的 FHIR REST 請求包含 JSON Web Token (JWT)。如需詳細資訊，請參閱[解碼 JWT](reference-smart-on-fhir-token-validation.md)。

**4. 在啟用 FHIR 的 HealthLake 資料存放區上建立 SMART**  
若要在 FHIR HealthLake 資料存放區上建立 SMART，您需要提供 `IdentityProviderConfiguration`。如需詳細資訊，請參閱[建立 HealthLake 資料存放區](managing-data-stores-create.md)。

## FHIR 上適用於 SMART 的用戶端應用程式工作流程
<a name="smart-on-fhir-client-app-workflow"></a>

下一節說明如何在 FHIR 上的 SMART 內容中啟動用戶端應用程式，並在 HealthLake 資料存放區上提出成功的 FHIR REST 請求。

**1. 使用用戶端應用程式向 Well-Known Uniform Resource Identifier 提出`GET`請求**  
已啟用 SMART 的用戶端應用程式必須提出`GET`請求，以尋找 HealthLake 資料存放區的授權端點。這是透過 Well-Known Uniform Resource Identifier (URI) 請求來完成的。如需詳細資訊，請參閱[在 FHIR 探索文件上擷取 SMART](reference-smart-on-fhir-discovery-document.md)。

**2. 請求存取和範圍**  
用戶端應用程式使用授權伺服器的授權端點，讓使用者可以登入。此程序會驗證使用者。範圍用於定義用戶端應用程式可在 HealthLake 資料存放區中存取的 FHIR 資源。如需詳細資訊，請參閱[HealthLake 支援的 FHIR OAuth 2.0 範圍上的 SMART](reference-smart-on-fhir-oauth-scopes.md)。

**3. 存取權杖**  
現在使用者已通過身分驗證，用戶端應用程式會從授權伺服器收到 JWT 存取字符。當用戶端應用程式傳送 FHIR REST 請求給 HealthLake 時，會提供此字符。如需詳細資訊，請參閱[字符驗證](reference-smart-on-fhir-token-validation.md)。

**4. 在啟用 FHIR 的 HealthLake 資料存放區上對 SMART 提出 FHIR REST API 請求**  
用戶端應用程式現在可以使用授權伺服器提供的存取權杖，將 FHIR REST API 請求傳送至 HealthLake 資料存放區端點。如需詳細資訊，請參閱[在已啟用 SMART 功能的 HealthLake 資料存放區上提出 FHIR REST API 請求](reference-smart-on-fhir-request-example.md)。

**5. 驗證 JWT 存取權杖**  
若要驗證 FHIR REST 請求中傳送的存取權杖，請使用 Lambda 函數。如需詳細資訊，請參閱[使用 驗證字符 AWS Lambda](reference-smart-on-fhir-token-validation.md)。