

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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 REST 요청에 응답하기 위해 Lambda 함수를 사용하는 FHIR 지원 HealthLake 데이터 스토어의 SMART입니다.

이러한 요소가 함께 작동하려면 다음 리소스를 생성해야 합니다.

**참고**  
권한 부여 서버를 설정하고, 권한 부여 서버에 필요한 [범위를](reference-smart-on-fhir-oauth-scopes.md) 정의하고, [토큰](reference-smart-on-fhir-token-validation.md) 내부 검사를 처리하는 AWS Lambda 함수를 생성한 후 FHIR 지원 HealthLake 데이터 스토어에서 SMART를 생성하는 것이 좋습니다.

**1. 권한 부여 서버 엔드포인트 설정**  
SMART on FHIR 프레임워크를 사용하려면 데이터 스토어에서 이루어진 FHIR REST 요청을 검증할 수 있는 타사 권한 부여 서버를 설정해야 합니다. 자세한 내용은 [FHIR의 SMART에 대한 HealthLake 인증 요구 사항](reference-smart-on-fhir-authentication.md) 단원을 참조하십시오.

**2. 권한 부여 서버의 범위를 정의하여 HealthLake 데이터 스토어 액세스 수준 제어**  
SMART on FHIR 프레임워크는 OAuth 범위를 사용하여 인증된 요청이 액세스할 수 있는 FHIR 리소스와 범위를 결정합니다. 범위를 정의하는 것은 최소 권한을 설계하는 방법입니다. 자세한 내용은 [HealthLake에서 지원하는 FHIR OAuth 2.0 범위의 SMART](reference-smart-on-fhir-oauth-scopes.md) 단원을 참조하십시오.

**3. 토큰 내부 검사를 수행할 수 있는 AWS Lambda 함수 설정**  
SMART on FHIR 지원 데이터 스토어의 클라이언트 애플리케이션에서 보낸 FHIR REST 요청에는 JSON 웹 토큰(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. 클라이언트 애플리케이션을 사용하여 잘 알려진 Uniform Resource Identifier에 `GET` 요청**  
SMART 지원 클라이언트 애플리케이션은 HealthLake 데이터 스토어의 권한 부여 엔드포인트를 찾기 위해 `GET` 요청해야 합니다. 이는 잘 알려진 URI(Uniform Resource Identifier) 요청을 통해 수행됩니다. 자세한 내용은 [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 요청**  
이제 클라이언트 애플리케이션은 권한 부여 서버에서 제공하는 액세스 토큰을 사용하여 HealthLake 데이터 스토어 엔드포인트에 FHIR REST API 요청을 보낼 수 있습니다. 자세한 내용은 [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) 단원을 참조하십시오.