Azure Sağlık Verisi Hizmetleri için kimlik doğrulaması ve yetkilendirme

Kimlik Doğrulaması

Azure Health Veri Hizmetleri, OAuth 2.0'ı destekleyen genel bir kimlik sağlayıcısı olan Microsoft Entra Id kullanan güvenli yönetilen hizmetler koleksiyonudur.

Azure Health Veri Hizmetleri'nin depolama hesapları ve olay hub'ları gibi Azure kaynaklarına erişebilmesi için sistem tarafından yönetilen kimliği etkinleştirmeniz ve yönetilen kimliğe uygun izinler vermeniz gerekir. Daha fazla bilgi için bkz . Azure yönetilen kimlikleri.

İstemci uygulamaları Microsoft Entra Kimliği'ne kaydedilir ve Azure Health Veri Hizmetleri'ne erişmek için kullanılabilir. Kullanıcı veri erişim denetimleri, iş mantığı uygulayan uygulamalarda veya hizmetlerde gerçekleştirilir.

Uygulama rolleri

Azure Health Veri Hizmetleri'nin kimliği doğrulanmış kullanıcılar ve istemci uygulamaları uygun uygulama rolüne atanmalıdır.

Azure Health Data Services'daki FHIR® hizmeti şu rolleri sağlar:

  • FHIR Veri Okuyucusu: FHIR verilerini okuyun ve arayın.
  • FHIR Veri Yazıcısı: FHIR verilerini okuma, yazma ve geçici silme.
  • FHIR Veri Verme: Verileri okuma ve dışarı aktarma ($export işleç).
  • FHIR Veri İçeri Aktarıcısı: Verileri okuma ve içeri aktarma ($import işleç).
  • FHIR Veri Katkıda Bulunanı: Tüm veri düzlemi işlemlerini gerçekleştirin.
  • FHIR Veri Dönüştürücüsü: Veri dönüştürme gerçekleştirmek için dönüştürücüsü kullanın.
  • FHIR SMART User: Kullanıcının SMART IG V1.0.0 belirtimlerine göre FHIR verilerini okumasına ve yazmasına izin verir.

Azure Health Veri Hizmetleri'ndeki DICOM® hizmeti aşağıdaki rolleri sağlar:

  • DICOM Veri Sahibi: DICOM verilerini okuma, yazma ve silme.
  • DICOM Veri Okuma: DICOM verilerini okuma.

MedTech hizmeti uygulama rolleri gerektirmez, ancak kuruluşunuzun aboneliğinin olay hub'ında depolanan verileri almak için Azure Event Hubs Veri Alıcısı'na dayanır.

Yetkilendirme

Doğru uygulama rolleri verildikten sonra, kimliği doğrulanmış kullanıcılar ve istemci uygulamaları Microsoft Entra ID tarafından verilen geçerli bir erişim belirteci alarak Azure Health Data Services'e erişebilir ve uygulama rolleri tarafından tanımlanan belirli işlemleri gerçekleştirebilir.

  • FHIR hizmeti için erişim belirteci hizmete veya kaynağa özgüdür.
  • DICOM hizmeti için erişim belirteci belirli bir hizmete değil kaynağa verilir dicom.healthcareapis.azure.com .
  • MedTech hizmeti için erişim belirteci kullanıcılara veya istemci uygulamalarına sunulmadığından gerekli değildir.

Yetkilendirme adımları

Microsoft Entra belgeleriyle ayrıntılı olarak özetlenen erişim belirtecini edinmenin iki yaygın yolu vardır: yetkilendirme kodu akışı ve istemci kimlik bilgileri akışı.

Yetkilendirme kodu akışı kullanılarak Azure Health Veri Hizmetleri için erişim belirteci şu şekilde elde edilir:

  1. İstemci, Microsoft Entra yetkilendirme uç noktasına bir istek gönderir. Microsoft Entra Id, istemciyi kullanıcının uygun kimlik bilgilerini (örneğin, kullanıcı adı ve parola veya iki öğeli kimlik doğrulaması) kullanarak kimlik doğrulaması yaptığı bir oturum açma sayfasına yönlendirir. Kimlik doğrulaması başarılı olduğunda istemciye bir yetkilendirme kodu döndürülür. Microsoft Entra-only, bu yetkilendirme kodunun istemci uygulama kaydında yapılandırılmış kayıtlı bir yanıt URL'sine döndürülmesini sağlar.

  2. İstemci uygulaması, Microsoft Entra belirteci uç noktasında erişim belirteci için yetkilendirme kodunu değiştirir. İstemci uygulaması bir belirteç istediğinde, uygulamanın bir istemci gizli dizisi sağlaması gerekebilir (uygulama kaydı sırasında ekleyebileceğiniz bir gizli dizi).

  3. İstemci, Azure Health Veri Hizmetleri'ne bir istekte bulunur; örneğin, GET FHIR hizmetindeki tüm hastaları arama isteğinde bulunur. İstek, erişim belirtecini bir HTTP istek üst bilgisinde (örneğin, Authorization: Bearer xxx) içerir.

  4. Azure Health Veri Hizmetleri, belirtecin uygun talepler (belirteçteki özellikler) içerdiğini doğrular. Geçerliyse isteği tamamlar ve verileri istemciye döndürür.

İstemci kimlik bilgileri akışında izinler doğrudan uygulamanın kendisine verilir. Uygulama bir kaynağa belirteç sunduğunda, kimlik doğrulamasında kullanıcı olmadığından, kaynak uygulamanın kendisinin eylem gerçekleştirme yetkisine sahip olmasını zorlar. Bu nedenle, yetkilendirme kodu akışından şu yollarla farklıdır:

  • Kullanıcının veya istemcinin etkileşimli olarak oturum açması gerekmez.
  • Yetkilendirme kodu gerekli değildir.
  • Erişim belirteci doğrudan uygulama izinleri aracılığıyla alınır.

Erişim belirteci

Erişim belirteci, istemcinin kimliği, rolleri ve kullanıcıya veya istemciye verilen ayrıcalıkları hakkında bilgi aktaran imzalı, Base64 kodlanmış bir özellik koleksiyonudur (talepler).

Azure Health Veri Hizmetleri genellikle bir JSON Web Belirteci bekler. Üç bölümden oluşur:

Web belirteci imzasını gösteren ekran görüntüsü

Belirteç içeriğini görüntülemek için gibi https://jwt.ms çevrimiçi araçları kullanın. Örneğin, talep ayrıntılarını görüntüleyebilirsiniz.

Talep türü Value Notlar
Aud https://xxx.fhir.azurehealthcareapis.com Belirtecin hedeflenen alıcısını tanımlar. 'de id_tokenshedef kitle, uygulamanızın Uygulama Kimliği'dir ve Azure portalında uygulamanıza atanır. Uygulamanız bu değeri doğrulamalı ve değer eşleşmiyorsa belirteci reddetmelidir.
iss https://sts.windows.net/{tenantid}/ Belirteci oluşturan ve döndüren güvenlik belirteci hizmetini (STS) ve kullanıcının kimliğinin doğrulandığı Microsoft Entra kiracısını tanımlar. Belirteç v2.0 uç noktası tarafından verildiyse, URI ile /v2.0biter. Kullanıcının bir Microsoft hesabından bir tüketici kullanıcısı olduğunu gösteren GUID değeridir 9188040d-6c67-4c5b-b112-36a304b66dad. Uygulamanız, uygulanabilirse uygulamada oturum açabilecek kiracı kümesini kısıtlamak için talebin GUID bölümünü kullanmalıdır.
iat (zaman damgası) "Çıkış Tarihi", bu belirteç için kimlik doğrulamasının ne zaman gerçekleştiğini gösterir.
nbf (zaman damgası) "nbf" (daha önce değil) talebi, JWT'nin işlenmek üzere kabul edilmediği zamanı tanımlar.
exp (zaman damgası) "exp" (süre sonu) talebi, JWT'nin işlenmek üzere kabul edilmemesi gereken süre sonunu veya sonrasında tanımlar. Bir kaynak, örneğin kimlik doğrulamasında bir değişiklik gerekiyorsa veya belirteç iptali algılanırsa, bu saatten önce belirteci reddedebilir.
Aıo E2ZgYxxx Microsoft Entra Id tarafından belirteç yeniden kullanımı için verileri kaydetmek için kullanılan iç talep. Yoksayılmalıdır.
Appıd e97e1b8c-xxx Belirteci kullanan istemcinin uygulama kimliği. Uygulama kendisi veya bir kullanıcı adına hareket edebilir. Uygulama kimliği genellikle bir uygulama nesnesini temsil eder, ancak Microsoft Entra Id'de bir hizmet sorumlusu nesnesini de temsil edebilir.
appidacr 1 İstemcinin kimliğinin nasıl doğrulandığını gösterir. Genel istemci için değer 0'dır. İstemci kimliği ve istemci gizli anahtarı kullanılırsa, değer 1'dir. Kimlik doğrulaması için bir istemci sertifikası kullanıldıysa, değer 2'dir.
ıdp https://sts.windows.net/{tenantid}/ Belirtecin öznesinin kimliğini doğrulayan kimlik sağlayıcısını kaydeder. Bu değer, kullanıcı hesabı verenle (örneğin konuklar) aynı kiracıda olmadığı sürece Veren talebi değeriyle aynıdır. Talep mevcut değilse, bunun yerine iss değerinin kullanılabileceğini gösterir. Kuruluş bağlamında kullanılan kişisel hesaplar için (örneğin, Microsoft Entra kiracısına davet edilen kişisel hesap), idp talebi 'live.com' veya 9188040d-6c67-4c5b-b112-36a304b66dad microsoft hesabı kiracısını içeren bir STS URI'si olabilir.
Oıd Örneğin, kiracı kimliği Microsoft kimlik sistemindeki bir nesnenin sabit tanımlayıcısı ( bu örnekte, bir kullanıcı hesabı). Bu kimlik, kullanıcıyı uygulamalar arasında benzersiz olarak tanımlar. Aynı kullanıcıda oturum açmış iki farklı uygulama, oid talepte aynı değeri alır. Microsoft Graph, bu kimliği belirli bir kullanıcı hesabının ID özelliği olarak döndürür. Oid, birden çok uygulamanın kullanıcılarla bağıntı oluşturmasına izin verdiğinden, bu talebi almak için profil kapsamı gereklidir. Not: Birden çok kiracıda tek bir kullanıcı varsa, kullanıcı her kiracıda farklı bir nesne kimliği içerir; kullanıcı her hesapta aynı kimlik bilgileriyle oturum açtığı halde farklı hesaplar olarak kabul edilir.
Rh 0.ARoxxx Azure tarafından belirteçleri yeniden doğrulama amacıyla kullanılan iç talep. Yoksayılmalıdır.
alt Örneğin, kiracı kimliği Belirtecin bir uygulamanın kullanıcısı gibi bilgileri onayladığı sorumlu. Bu değer sabittir ve yeniden atanamaz veya yeniden kullanılamaz. Konu çift yönlü bir tanımlayıcıdır; belirli bir uygulama kimliği için benzersizdir. Bu nedenle, tek bir kullanıcı iki farklı istemci kimliği kullanarak iki farklı uygulamada oturum açarsa, bu uygulamalar konu talebi için iki farklı değer alır. Mimarinize ve gizlilik gereksinimlerinize bağlı olarak bu sonucu istemeyebilirsiniz.
Tid Örneğin, kiracı kimliği Kullanıcının ait olduğu Microsoft Entra kiracısını temsil eden BIR GUID. İş ve okul hesapları için GUID, kullanıcının ait olduğu kuruluşun sabit kiracı kimliğidir. Kişisel hesaplar için 9188040d-6c67-4c5b-b112-36a304b66dad değeridir. Bu talebi almak için profil kapsamı gereklidir.
Uti bY5glsxxx Azure tarafından belirteçleri yeniden doğrulama amacıyla kullanılan iç talep. Yoksayılmalıdır.
Ver 1 Belirtecin sürümünü gösterir.

Erişim belirteci varsayılan olarak bir saat geçerlidir. Yeni bir belirteç alabilir veya süresi dolmadan önce yenileme belirtecini kullanarak yenileyebilirsiniz.

Erişim belirteci almak için Postman, Visual Studio Code'daki REST İstemci uzantısı, PowerShell, CLI, curl ve Microsoft Entra kimlik doğrulama kitaplıkları gibi araçları kullanabilirsiniz.

Şifreleme

Azure Health Veri Hizmetleri'nin yeni bir hizmetini oluşturduğunuzda, verileriniz varsayılan olarak Microsoft tarafından yönetilen anahtarlar kullanılarak şifrelenir.

  • FHIR hizmeti, veriler veri deposunda kalıcı hale geldiğinde bekleyen verilerin şifrelenmesini sağlar.
  • DICOM hizmeti, ekli meta veriler dahil olmak üzere görüntüleme verileri veri deposunda kalıcı hale geldiğinde bekleyen verilerin şifrelenmesini sağlar. Meta veriler FHIR hizmetinde ayıklanıp kalıcı hale geldiğinde otomatik olarak şifrelenir.
  • MedTech hizmeti, veri eşleme ve normalleştirmeden sonra cihaz iletilerini otomatik olarak şifrelenen FHIR hizmetinde kalıcı hale getirme. Verileri depolamak için Azure Depolama kullanan Azure Event Hubs'a cihaz iletilerinin gönderildiği durumlarda, veriler Azure Depolama Hizmet Şifrelemesi (Azure SSE) ile otomatik olarak şifrelenir.

Sonraki adımlar

Azure portalını kullanarak Azure Health Data Services çalışma alanını dağıtma

FHIR hizmetine erişim vermek için Azure Active Directory B2C kullanma

Not

FHIR®, HL7'nin tescilli ticari markasıdır ve HL7'nin izniyle kullanılır.

DICOM® , Tıbbi bilgilerin dijital iletişimleri ile ilgili Standartları yayınları için Ulusal Elektrik Üreticileri Birliği'nin tescilli ticari markasıdır.