HealthLake에서 지원하는 FHIR OAuth 2.0 범위의 SMART - AWS HealthLake

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

HealthLake에서 지원하는 FHIR OAuth 2.0 범위의 SMART

HealthLake는 OAuth 2.0을 권한 부여 프로토콜로 사용합니다. 권한 부여 서버에서이 프로토콜을 사용하면 클라이언트 애플리케이션이 액세스할 수 있는 FHIR 리소스에 대한 HealthLake 데이터 스토어 권한(생성, 읽기, 업데이트, 삭제 및 검색)을 정의할 수 있습니다.

SMART on FHIR 프레임워크는 권한 부여 서버에서 요청할 수 있는 범위 집합을 정의합니다. 예를 들어, 환자가 랩 결과를 보거나 연락처 세부 정보를 볼 수 있도록 설계된 클라이언트 애플리케이션은 read 범위를 요청할 수 있는 권한만 부여해야 합니다.

참고

HealthLake는 아래 설명된 대로 FHIR V1 및 V2에서 모두 SMART를 지원합니다. 데이터 스토어가 생성될 때 FHIR의 SMARTAuthorizationStrategy는 다음 세 가지 값 중 하나로 설정됩니다.

  • SMART_ON_FHIR_V1 - (읽기/검색) 및 read (writecreate/update/delete) 권한을 포함하는 FHIR V1의 SMART만 지원합니다.

  • SMART_ON_FHIR - , , create, 및 search 권한을 포함하는 FHIR V1 delete및 V2의 SMARTreadupdate를 모두 지원합니다.

  • AWS_AUTH - default AWS HealthLake 권한 부여 전략으로, FHIR의 SMART와 관련이 없습니다.

독립 실행형 시작 범위

HealthLake는 독립 실행형 시작 모드 범위를 지원합니다launch/patient.

독립 실행형 시작 모드에서 클라이언트 애플리케이션은 사용자와 환자가 클라이언트 애플리케이션에 알려지지 않았기 때문에 환자의 임상 데이터에 대한 액세스를 요청합니다. 따라서 클라이언트 애플리케이션의 권한 부여 요청은 환자 범위를 반환하도록 명시적으로 요청합니다. 인증에 성공하면 권한 부여 서버는 요청된 시작 환자 범위가 포함된 액세스 토큰을 발급합니다. 필요한 환자 컨텍스트는 권한 부여 서버의 응답에서 액세스 토큰과 함께 제공됩니다.

지원되는 시작 모드 범위
범위 설명

launch/patient

OAuth 2.0 권한 부여 요청의 파라미터로, 권한 부여 응답에서 환자 데이터를 반환하도록 요청합니다.

HealthLake의 FHIR 리소스 범위에 대한 SMART

HealthLake는 FHIR 리소스 범위에서 SMART의 세 가지 수준을 정의합니다.

  • patient 범위는 단일 환자의 특정 데이터에 대한 액세스 권한을 부여합니다.

  • user 범위는 사용자가 액세스할 수 있는 특정 데이터에 대한 액세스 권한을 부여합니다.

  • system 범위는 HealthLake 데이터 스토어에 있는 모든 FHIR 리소스에 대한 액세스 권한을 부여합니다.

다음 섹션에서는 FHIR V1의 SMART 또는 FHIR V2의 SMART를 사용하여 FHIR 리소스 범위를 구성하는 구문을 나열합니다.

참고

데이터 스토어가 생성될 때 SMART on FHIR 권한 부여 전략이 설정됩니다. 자세한 내용은 AWS HealthLake API 참조의 섹션을 참조AuthorizationStrategy하세요.

HealthLake에서 지원하는 FHIR V1 범위의 SMART

FHIR V1에서 SMART를 사용하는 경우 HealthLake에 대한 FHIR 리소스 범위를 구성하기 위한 일반적인 구문은 다음과 같습니다. 다음 예제에서 전체 URL 경로를 보려면 복사 버튼을 스크롤합니다.

('patient' | 'user' | 'system') '/' (fhir-resource | '*') '.' ('read' | 'write' | '*')
FHIR v1에서 지원되는 권한 부여 범위에 대한 SMART
범위 구문 범위 예 결과

patient/(fhir-resource | '*').('read' | 'write' | '*')

patient/AllergyIntolerance.* 환자 클라이언트 애플리케이션에는 기록된 모든 알러지에 대한 인스턴스 수준의 읽기/쓰기 액세스 권한이 있습니다.

user/(fhir-resource | '*').('read' | 'write' | '*')

user/Observation.read 사용자 클라이언트 애플리케이션에는 기록된 모든 관측치에 대한 인스턴스 수준의 읽기/쓰기 액세스 권한이 있습니다.
system/('read' | 'write' | *) system/*.* 시스템 클라이언트 애플리케이션은 모든 FHIR 리소스 데이터에 대한 읽기/쓰기 액세스 권한이 있습니다.

HealthLake에서 지원하는 FHIR V2 범위의 SMART

FHIR V2에서 SMART를 사용하는 경우 HealthLake에 대한 FHIR 리소스 범위를 구성하기 위한 일반적인 구문은 다음과 같습니다. 다음 예제에서 전체 URL 경로를 보려면 복사 버튼을 스크롤합니다.

('patient' | 'user' | 'system') '/' (fhir-resource | '*') '.' ('c' | 'r' | 'u' | 'd' | 's')
참고

FHIR V2에서 SMART를 사용하려면 IdentityProviderConfiguration 값을 데이터 형식의 멤버인 permission-v2 메타데이터 capabilities 문자열에 전달해야 합니다.

HealthLake는 세분화된 범위를 지원합니다. 자세한 내용은 FHIR US Core 구현 안내서에서 지원되는 세분화된 범위를 참조하세요.

FHIR V2에서 지원되는 권한 부여 범위에 대한 SMART
범위 구문 예제 V1 범위 결과

patient/Observation.rs

user/Observation.read 현재 환자의 Observation 리소스를 읽고 검색할 수 있는 권한.

system/*.cruds

system/*.* 시스템 클라이언트 애플리케이션에는 모든 FHIR 리소스 데이터에 대한 전체 create/read/update/삭제/검색 액세스 권한이 있습니다.