여러 서비스 ID 공급자 구성

Microsoft Entra ID 외에도 서비스가 이미 있거나 새로 만들어졌는지 여부에 관계없이 FHIR® 서비스에 대해 최대 2개의 추가 ID 공급자를 구성할 수 있습니다.

ID 공급자 필수 구성 요소

ID 공급자는 OIDC(OpenID Connect)를 지원해야 하며, fhirUser 클레임, azp 또는 appid 클레임 및 SMART on FHIR v1 범위가 있는 scp 클레임을 사용하여 JWT(JSON Web Token)를 발급할 수 있어야 합니다.

ARM(Azure Resource Manager)을 사용하여 추가 ID 공급자 사용

추가 ID 공급자를 사용하도록 설정하려면 smartIdentityProvidersFHIR 서비스에 요소authenticationConfiguration를 추가합니다. smartIdentityProviders 요소는 선택적입니다. 이를 생략하면 FHIR 서비스는 Microsoft Entra ID를 사용하여 요청을 인증합니다.

요소 Type 설명
smartIdentityProviders array 최대 두 개의 ID 공급자 구성을 포함하는 배열입니다. 이 요소는 선택적입니다.
authority string ID 공급자 토큰 기관입니다.
적용 array ID 공급자 리소스 애플리케이션 구성의 배열입니다.
clientId string ID 공급자 리소스 애플리케이션(클라이언트) ID입니다.
대상 string 액세스 토큰 aud 클레임의 유효성을 검사하는 데 사용됩니다.
allowedDataActions array ID 공급자 리소스 애플리케이션이 수행할 수 있는 권한 배열입니다.
{
  "properties": {
    "authenticationConfiguration": {
      "authority": "string",
      "audience": "string",
      "smartProxyEnabled": "bool",
      "smartIdentityProviders": [
        {
          "authority": "string",
          "applications": [
            {
              "clientId": "string",
              "audience": "string",
              "allowedDataActions": "array"
            }
          ]
        }
      ]
    }
  }
}

smartIdentityProviders 배열 구성

Microsoft Entra ID 외에 ID 공급자가 필요하지 않은 경우 smartIdentityProviders 배열을 null로 설정하거나 프로비전 요청에서 생략합니다. 그렇지 않으면 배열에 하나 이상의 유효한 ID 공급자 구성 개체를 포함합니다. 최대 두 개의 추가 ID 공급자를 구성할 수 있습니다.

authority 지정

구성한 각 ID 공급자에 대해 authority 문자열을 지정해야 합니다. authority 문자열은 ID 공급자에 대한 액세스 토큰을 발급하는 토큰 기관입니다. FHIR 서비스는 authority 문자열이 잘못되었거나 올바르지 않은 경우 401 Unauthorized 오류 코드가 있는 요청을 거부합니다.

프로비저닝 요청을 만들기 전에 openid-connect 구성 엔드포인트를 확인하여 authority 문자열의 유효성을 검사합니다. authority 문자열의 끝에 /.well-known/openid-configuration을 추가하고 브라우저에 붙여넣습니다. 예상된 구성이 표시됩니다. 그렇지 않으면 문자열에 문제가 있는 것입니다.

예시:

https://yourIdentityProvider.com/authority/v2.0/.well-known/openid-configuration

applications 배열 구성

하나 이상의 애플리케이션 구성을 포함해야 하며 applications 배열에 최대 25개의 애플리케이션을 추가할 수 있습니다. 각 애플리케이션 구성에는 액세스 토큰 클레임의 유효성을 검사하는 값과 애플리케이션이 FHIR 리소스에 액세스할 수 있는 권한을 정의하는 배열이 있습니다.

clientId 문자열을 사용하여 애플리케이션 식별

ID 공급자는 clientId 문자열(또는 애플리케이션 ID)이라는 고유 식별자를 사용하여 애플리케이션을 정의합니다. FHIR 서비스는 clientId 문자열에 대해 authorized party(azp) 또는 application id(appid) 클레임을 확인하여 액세스 토큰의 유효성을 검사합니다. clientId문자열 및 토큰 클레임이 정확히 일치하지 않는 경우 FHIR 서비스는 401 Unauthorized 오류 코드가 있는 요청을 거부합니다.

audience 문자열을 사용하여 액세스 토큰의 유효성 검사

액세스 토큰의 aud 클레임은 토큰의 의도된 수신자를 식별합니다. audience 문자열은 수신자에 대한 고유 식별자입니다. FHIR 서비스는 aud 클레임에 대해 audience 문자열을 확인하여 액세스 토큰의 유효성을 검사합니다. audience문자열 및 aud 클레임이 정확히 일치하지 않는 경우 FHIR 서비스는 401 Unauthorized 오류 코드가 있는 요청을 거부합니다.

allowedDataActions 배열을 사용하여 사용 권한 지정

allowedDataActions 배열에 하나 이상의 사용 권한 문자열을 포함합니다. 유효한 사용 권한 문자열을 포함할 수 있습니다. 중복을 방지합니다.

유효한 사용 권한 문자열 설명
읽음 리소스 GET 요청을 허용합니다.

다음 단계

Azure Active Directory B2C를 사용하여 FHIR 서비스에 대한 액세스 권한 부여

ID 공급자 구성 문제 해결

참고 항목

FHIR®은 HL7의 등록 상표이며, HL7의 사용 허가 하에 사용됩니다.