設定多個服務識別提供者
除了 Microsoft Entra ID 之外,不論已經存在還是新建立的服務,您都可以為 FHIR® 服務設定最多兩個額外的識別提供者。
識別提供者必要條件
身分識別提供者必須支援 OpenID Connect (OIDC),而且必須能夠使用 fhirUser
宣告、azp
或 appid
宣告,以及具有 SMART on FHIR v1 範圍 的 scp
宣告發出 JSON Web 權杖 (JWT)。
使用 Azure Resource Manager (ARM) 啟用其他識別提供者
將 smartIdentityProviders
元素新增至 FHIR 服務 authenticationConfiguration
,以啟用其他識別提供者。 smartIdentityProviders
項目是選擇性的。 如果您省略它,FHIR 服務會使用 Microsoft Entra ID 來驗證要求。
Element | 型別 | 說明 |
---|---|---|
smartIdentityProviders | 陣列 | 包含最多兩個識別提供者組態的陣列。 這是選擇性的項目。 |
authority | string | 識別提供者權杖授權單位。 |
應用程式 \(英文\) | 陣列 | 識別提供者資源應用程式組態的陣列。 |
clientId | string | 識別提供者資源應用程式 (用戶端) 識別碼。 |
audience | string | 用於驗證存取權杖 aud 宣告。 |
allowedDataActions | 陣列 | 允許識別提供者資源應用程式執行的權限陣列。 |
{
"properties": {
"authenticationConfiguration": {
"authority": "string",
"audience": "string",
"smartProxyEnabled": "bool",
"smartIdentityProviders": [
{
"authority": "string",
"applications": [
{
"clientId": "string",
"audience": "string",
"allowedDataActions": "array"
}
]
}
]
}
}
}
設定 smartIdentityProviders
陣列
如果您不需要 Microsoft Entra ID 以外的任何識別提供者,請將 smartIdentityProviders
陣列設定為 null,或在佈建要求中予以省略。 否則,在陣列中包含至少一個有效的識別提供者組態物件。 您可以設定最多兩個額外的識別提供者。
指定 authority
您必須為您所設定的每個識別提供者指定 authority
字串。 authority
字串是對識別提供者發出存取權杖的權杖授權單位。 如果 authority
字串無效或不正確,FHIR 服務會拒絕具有 401 Unauthorized
錯誤碼的要求。
在提出佈建要求之前,請先檢查 openid-connect 組態端點,以驗證 authority
字串。 將 /.well-known/openid-configuration 附加至 authority
字串結尾,並將其貼到瀏覽器中。 您應會看到預期的組態。 如果不是這樣,則字串有問題。
範例:
https://yourIdentityProvider.com/authority/v2.0/.well-known/openid-configuration
設定 applications
陣列
您必須在 applications
陣列中至少包含一個應用程式設定並新增最多 25 個應用程式。 每個應用程式組態都有值可驗證存取權杖宣告,以及可定義應用程式存取 FHIR 資源之權限的陣列。
使用 clientId
字串識別應用程式
識別提供者會使用名為 clientId
字串 (或應用程式識別碼) 的唯一識別碼來定義應用程式。 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 服務的存取權
注意
FHIR® 是 HL7 的註冊商標,在 HL7 的許可下使用。