기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
FHIR의 SMART에 대한 HealthLake 인증 요구 사항
FHIR 지원 HealthLake 데이터 스토어의 SMART에서 FHIR 리소스에 액세스하려면 클라이언트 애플리케이션이 OAuth 2.0 호환 권한 부여 서버의 승인을 받고 FHIR REST API 요청의 일부로 OAuth Bearer 토큰을 제시해야 합니다. 권한 부여 서버의 엔드포인트를 찾으려면 Well-Known Uniform Resource Identifier를 통해 FHIR Discovery Document의 HealthLake SMART를 사용합니다. 이 프로세스에 대한 자세한 내용은 섹션을 참조하세요FHIR 검색 문서에서 SMART 가져오기.
FHIR HealthLake 데이터 스토어에서 SMART를 생성할 때는 CreateFHIRDatastore 요청의 metadata 요소에 권한 부여 서버의 엔드포인트와 토큰 엔드포인트를 정의해야 합니다. metadata 요소 정의에 대한 자세한 내용은 섹션을 참조하세요HealthLake 데이터 스토어 생성.
클라이언트 애플리케이션은 권한 부여 서버 엔드포인트를 사용하여 권한 부여 서비스로 사용자를 인증합니다. 권한 부여 및 인증되면 권한 부여 서비스에서 JSON 웹 토큰(JWT)이 생성되어 클라이언트 애플리케이션으로 전달됩니다. 이 토큰에는 클라이언트 애플리케이션이 사용할 수 있는 FHIR 리소스 범위가 포함되어 있으므로 사용자가 액세스할 수 있는 데이터가 제한됩니다. 선택적으로 시작 범위가 제공된 경우 응답에 이러한 세부 정보가 포함됩니다. HealthLake에서 지원하는 SMART on FHIR 범위에 대한 자세한 내용은 섹션을 참조하세요HealthLake에서 지원하는 FHIR OAuth 2.0 범위의 SMART.
클라이언트 애플리케이션은 권한 부여 서버에서 부여한 JWT를 사용하여 FHIR REST API를 FHIR 지원 HealthLake 데이터 스토어의 SMART로 호출합니다. JWT를 검증하고 디코딩하려면 Lambda 함수를 생성해야 합니다. HealthLake는 FHIR REST API 요청이 수신되면 사용자를 대신하여이 Lambda 함수를 호출합니다. 스타터 Lambda 함수 예제를 보려면 섹션을 참조하세요를 사용한 토큰 검증 AWS Lambda.
FHIR 지원 HealthLake 데이터 스토어에서 SMART를 생성하는 데 필요한 권한 부여 서버 요소
CreateFHIRDatastore 요청에서 IdentityProviderConfiguration 객체에 있는 metadata 요소의 일부로 권한 부여 엔드포인트와 토큰 엔드포인트를 제공해야 합니다. 권한 부여 엔드포인트와 토큰 엔드포인트가 모두 필요합니다. CreateFHIRDatastore 요청에 지정되는 방법의 예를 보려면 섹션을 참조하세요HealthLake 데이터 스토어 생성.
FHIR 지원 HealthLake 데이터 스토어의 SMART에서 FHIR REST API 요청을 완료하는 데 필요한 클레임
함수가 SMART on FHIR 지원 HealthLake 데이터 스토어에서 유효한 FHIR REST API 요청이 되려면 AWS Lambda 함수에 다음 클레임이 포함되어야 합니다.
-
nbf: (이전이 아님) 클레임- "nbf"(이전이 아님) 클레임은 JWT가 처리에 수락되지 않아야 하는 시간을 식별합니다. "nbf" 클레임을 처리하려면 현재 날짜/시간이 "nbf" 클레임에 나열된 이전이 아닌 날짜/시간 이후이거나 같아야 합니다. 제공하는 샘플 Lambda 함수는 서버 응답 iat에서 로 변환됩니다nbf. -
exp: (만료 시간) 클레임- "exp"(만료 시간) 클레임은 JWT가 처리에 수락되지 않아야 하는 만료 시간을 식별합니다. -
isAuthorized: 로 설정된 부울입니다True. 요청이 권한 부여 서버에서 승인되었음을 나타냅니다. -
aud: (대상) 클레임- "aud"(대상) 클레임은 JWT가 의도한 수신자를 식별합니다. 이는 FHIR 지원 HealthLake 데이터 스토어 엔드포인트에서 SMART여야 합니다. -
scope: 하나 이상의 FHIR 리소스 관련 범위여야 합니다. 이 범위는 권한 부여 서버에서 정의됩니다. HealthLake에서 허용하는 FHIR 리소스 관련 범위에 대한 자세한 내용은 섹션을 참조하세요HealthLake의 FHIR 리소스 범위에 대한 SMART.