

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

# FHIR 검색 문서에서 SMART 가져오기
<a name="reference-smart-on-fhir-discovery-document"></a>

SMART는 클라이언트가 HealthLake 데이터 스토어가 지원하는 권한 부여 엔드포인트 URLs 및 기능을 학습할 수 있도록 하는 검색 문서를 정의합니다. 이 정보는 클라이언트가 올바른 엔드포인트로 권한 부여 요청을 전달하고 HealthLake 데이터 스토어가 지원하는 권한 부여 요청을 구성하는 데 도움이 됩니다.

클라이언트 애플리케이션이 HealthLake에 FHIR REST 요청을 성공적으로 수행하려면 HealthLake 데이터 스토어에서 정의한 권한 부여 요구 사항을 수집해야 합니다. 이 요청이 성공하려면 보유자 토큰(권한 부여)이 필요하지 *않습니다*.

**HealthLake 데이터 스토어에 대한 검색 문서를 요청하려면**  


1. HealthLake `region` 및 `datastoreId` 값을 수집합니다. 자세한 내용은 [데이터 스토어 속성 가져오기](managing-data-stores-describe.md) 단원을 참조하십시오.

1. HealthLake `region` 및에 대해 수집된 값을 사용하여 요청에 대한 URL을 구성합니다`datastoreId`. URL의 엔드포인트`/.well-known/smart-configuration`에를 추가합니다. 다음 예제에서 전체 URL 경로를 보려면 **복사** 버튼을 스크롤합니다.

   ```
   https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/.well-known/smart-configuration
   ```

1. 서명 버전 4 서명 프로토콜과 `GET` 함께를 사용하여 요청을 보냅니다. [AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_sigv.html) 전체 예제를 보려면 **복사** 버튼을 스크롤합니다.

------
#### [ curl ]

   ```
   curl --request GET \
     'https://healthlake.region.amazonaws.com/datastore/datastoreId/r4/.well-known/smart-configuration \
     --aws-sigv4 'aws:amz:region:healthlake' \
     --user "$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY" \
     --header "x-amz-security-token:$AWS_SESSION_TOKEN" \
     --header 'Accept: application/json'
   ```

------

   HealthLake 데이터 스토어의 검색 문서는 데이터 스토어의 사양 및 정의된 기능과 `token_endpoint`함께 `authorization_endpoint` 및를 찾을 수 있는 JSON BLOB으로 반환됩니다.

   ```
   {
       "authorization_endpoint": "https://oidc.example.com/authorize",
       "token_endpoint": "https://oidc.example.com/oauth/token",
       "capabilities": [
           "launch-ehr",
           "client-public"
       ]
   }
   ```

   클라이언트 애플리케이션을 시작하려면 `authorization_endpoint` 및 `token_endpoint`가 모두 필요합니다.
   + **권한 부여 엔드포인트** - 클라이언트 애플리케이션 또는 사용자에게 권한을 부여하는 데 필요한 URL입니다.
   + **토큰 엔드포인트** - 클라이언트 애플리케이션이 통신하는 데 사용하는 권한 부여 서버의 엔드포인트입니다.