FHIR hizmeti için kimlik sağlayıcısı yapılandırması sorunlarını giderme
Azure Health Veri Hizmetleri'ndeki FHIR® hizmetinin API sürümü 2023-12-01, Microsoft Entra ID'ye ek olarak iki kimlik sağlayıcısını destekler. Kullanıcılara kapsamlı erişim sağlamak için, smartIdentityProviders
nesnesinin authenticationConfiguration
bölümünü doldurarak iki kimlik sağlayıcısını yapılandırabilirsiniz.
Hata iletileri
FHIR hizmeti SMART kimlik sağlayıcıları başarısız olursa oluşan hata iletileri ve sorunu çözmek için yapılması önerilen eylemler aşağıda verilmiştir.
Hata | Neden | Düzelt |
---|---|---|
SMART kimlik sağlayıcısı sayısı üst sınırı 2'dir. | Yapılandırılan kimlik sağlayıcılarının sayısı ikiden fazladır. | Kimlik sağlayıcısı sayısını iki veya daha az olacak şekilde azaltın. |
Bir veya daha fazla SMART kimlik sağlayıcısı yetkili değeri null, boş veya geçersiz. | Kimlik sağlayıcısı yapılandırmasının authority öğesi tam url olmalıdır. |
Tüm authority değerlerinin tam URL'ler olduğundan emin olun. |
Tüm SMART kimlik sağlayıcısı yetkilileri benzersiz olmalıdır. | İki kimlik sağlayıcısı yapılandırmasının authority öğeleri aynıdır. |
Tüm authority değerlerinin benzersiz tam URL'ler olduğundan emin olun. |
SMART kimlik sağlayıcısı uygulama sayısı üst sınırı 2'dir. | Kimlik sağlayıcısı yapılandırmasındaki kimlik sağlayıcısı uygulamalarının sayısı ikiden fazladır. | Kimlik sağlayıcısı başına kimlik sağlayıcısı uygulamalarının sayısını bir veya ikiye düşürün. |
Bir veya daha fazla SMART uygulaması null. | Bir veya daha fazla kimlik sağlayıcısının applications öğesi null veya uygulama içermiyor. |
Tüm kimlik sağlayıcısı yapılandırmalarında en az bir uygulamanın yapılandırıldığından emin olun. |
Bir veya daha fazla SMART uygulaması allowedDataActions yinelenen öğeler içeriyor. |
Bir veya daha fazla uygulama yapılandırmasındaki allowedDataActions dizisi yinelenen değerler içeriyor. |
allowedDataActions dizilerdeki yinelenen değerleri kaldırın. |
Bir veya daha fazla SMART uygulama allowedDataActions değeri geçersiz. |
allowedDataActions dizisindeki tek kabul edilebilir Read değeridir. |
allowedDataActions dizilerinden tüm biçimlendirilmeyen değerleri kaldırın. |
Bir veya daha fazla SMART uygulama allowedDataActions değeri null, boş veya geçersiz. |
Bir veya daha fazla uygulama yapılandırmasındaki allowedDataActions dizisi null, boş veya yanlış biçimlendirilmiş. |
allowedDataActions dizisindeki tek kabul edilebilir Read değeridir. |
Bir veya daha fazla SMART uygulama audience değeri null, boş veya geçersiz. |
Bir veya daha fazla uygulama yapılandırmasındaki audience dizgisi null, boş veya yanlış biçimlendirilmiş. |
audience dizgisinin null veya boş olmadığından ve değerin bir dizgi türü olduğundan emin olun. |
Tüm SMART kimlik sağlayıcısı uygulama istemci kimlikleri benzersiz olmalıdır. | Bir veya daha fazla uygulama yapılandırmasındaki clientId değeri, başka bir clientId değeriyle aynı değerdir. |
Tüm clientId değerlerinin benzersiz olduğundan emin olun (kimlik sağlayıcısı yapılandırmaları dahil). |
Bir veya daha fazla SMART uygulama istemci kimliği değeri null, boş veya geçersiz. | Bir veya daha fazla uygulama yapılandırmasındaki clientId dizgisi null, boş veya yanlış biçimlendirilmiş. |
clientId dizgisinin null veya boş olmadığından ve değerin bir dizgi türü olduğundan emin olun. |
FHIR API istek hataları
FHIR hizmetine istekte bulunmak için SMART kimlik sağlayıcısı tarafından verilen bir belirteci kullandığınızda, iki yaygın hata koduyla karşılaşabilirsiniz: 401 Unauthorized
veya 403 Forbidden
. Sorun gidermeye başlamak için, özellikle FHIR hizmeti yeniyse smartIdentityProviders
öğesinin yapılandırmasını denetleyin.
smartIdentityProviders
öğesinin doğru yapılandırıldığını doğrulamak için bu adımları izleyin.
smartIdentityProviders
öğesinin doğru yapılandırıldığından emin olun.authority
dizgisinin doğru olduğundan emin olun.authority
dizgisinin erişim belirtecini veren kimlik sağlayıcısı için belirteç yetkilisi olduğundan emin olun.authority
dizgisinin geçerli bir belirteç yetkilisi olduğunu doğrulayın. openid-connect yapılandırması için bir istekte bulunabilirsiniz.aubrowser navigatesthority
dizgisinin sonuna/.well-known/openid-configuration
ekleyin ve tarayıcınıza yapıştırın. Değer doğruysa, tarayıcıopenid-connect configuration
adresine gider. Aksi takdirde dizgiyle ilgili bir sorun vardır.Örnek:
https://<YOUR_IDENTITY_PROVIDER_AUTHORITY>/authority/v2.0/.well-known/openid-configuration
clientId
dizgisinin doğru olduğundan emin olun.clientId
dizgisinin kimlik sağlayıcısında tanımlanan kaynak uygulamasının istemci kimliğiyle (veya uygulama kimliğiyle) eşleştiğinden emin olun.İstek yönteminin GET olduğunu doğrulayın. Desteklenen tek istek türü
GET
değeridir çünküallowedDataActions
değerleri yalnızcaRead
öğesini destekler.JSON web belirteci (JWT) taleplerini doğrulayın. Erişim belirteci kullanılabiliyorsa, jwt.ms gibi çevrimiçi araçları kullanarak kodunu çözebilirsiniz. Belirtecin kodu çözüldükten sonra talepler doğru olup olmadığını inceleyebilir.
iss'yi doğrulayın (yayıncı talebi).
iss
talebinin, kimlik sağlayıcılarınız OpenId Yapılandırması'ndakiissuer
değeriyle tam olarak eşleştiğinden emin olun.smartIdentityProvider
kimlik sağlayıcısı yapılandırmasındakiauthority
değerini alın,/.well-known/openid-configuration
ekleyin ve tarayıcınıza yapıştırın. Değer doğruysa, tarayıcı openid-connect yapılandırmasına gider.Örnek:
https://<YOUR_IDENTITY_PROVIDER_AUTHORITY>/authority/v2.0/.well-known/openid-configuration
azp veya appid değerini (yetkili taraf veya appid talebi) doğrulayın.
azp
veyaappid
talebi,smartIdentityProvider
kimlik sağlayıcısı yapılandırmasında sağlananclientId
değeriyle tam olarak eşleşmelidir.Aud değerini (hedef kitle talebi) doğrulayın.
aud
talebi,smartIdentityProvider
kimlik sağlayıcısı yapılandırmasında sağlananaudience
değeriyle tam olarak eşleşmelidir.Scp'yi (kapsam talebi) doğrulayın.
scp
talebi gereklidir. Eksikse istek başarısız olur. Scp talebi biçimi, FHIR v1 Kapsamlarında SMART ile uyumlu olmalıdır. FHIR hizmetinin şu anda yalnızca Okuma kapsamlarını desteklediğini unutmayın. FHIR v1 Kapsamlarında SMART'ın kabul edilebilir bir varyasyonu, herhangi bir ileri eğik çizgiyi (/) nokta (.) ile ve yıldız işaretini (*)all
ile değiştirir. Örneğin, FHIR kapsamında SMART'ın kabul edilebilir bir sürümüpatient/*.read
patient.all.read
şekindedir.
Not
Yalnızca read
kapsamlar desteklenir.
- fhirUser veya extension_fhirUser (FHIR kullanıcı talebi) doğrulayın.
fhirUser
veyaextension_fhirUser
talebi gereklidir. Eksikse istek başarısız olur. Bu talep, kimlik sağlayıcısındaki kullanıcıyı FHIR hizmetindeki bir kullanıcı kaynağıyla ilişkilendirir. Değer, erişim belirtecinin verildiği bireyi temsil eden FHIR hizmetindeki bir kaynağın tam URL'si olmalıdır. Örneğin, oturum açan bir hastaya verilen erişim belirteci, FHIR hizmetindeki bir hasta kaynağının tam nitelikli URL'sine sahip birfhirUser
veyaextension_fhirUser
talebine sahip olmalıdır.
Kimlik sağlayıcılarını yapılandırma şeması
smartIdentityProviders
öğesi, bir veya iki identity provider configurations
içeren bir JSON dizisidir. Bir identity provider configuration
şunlardan oluşur:
Kimlik sağlayıcıları belirteç yetkilisinin tam URL'si olması gereken bir
authority
dize değeri.Kimlik sağlayıcısı kaynağını
application configurations
içeren birapplications
dizisi.
{
"properties": {
"authenticationConfiguration": {
"authority": "string",
"audience": "string",
"smartProxyEnabled": "bool",
"smartIdentityProviders": [
{
"authority": "string",
"applications": [
{
"clientId": "string",
"allowedDataActions": "array",
"audience": "string"
}
]
}
]
}
}
}
applications
öğesi, bir veya iki application configurations
içeren bir JSON dizisidir.
application configuration
aşağıdakilerden oluşur:
Kimlik sağlayıcısı kaynak uygulamasının istemci kimliği (uygulama kimliği olarak da bilinir) için
clientId
dize değeri.Erişim belirteçlerinde
aud
talebini doğrulamak için kullanılan biraudience
dizgisi.allowedDataActions
dizisi.allowedDataActions
dizisi yalnızca dize değeriniRead
içerebilir.
{
"authority": "string",
"applications": [
{
"clientId": "string",
"allowedDataActions": "array",
"audience": "string"
}
]
}
{
"clientId": "string",
"allowedDataActions": "array",
"audience": "string"
}
Sonraki adımlar
FHIR hizmetine erişim vermek için Azure Active Directory B2C kullanma
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin