Aracılığıyla paylaş


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

Sağlık kuruluşları, uygulamalarına ve kullanıcılarına erişim vermek için Azure Health Veri Hizmetleri'ndeki FHIR® hizmetiyle Azure Active Directory B2C'yi (Azure AD B2C) kullanabilir.

FHIR hizmeti için Azure AD B2C kiracısı oluşturma

FHIR hizmeti için bir Azure AD B2C kiracısı oluşturmak, sağlık uygulamalarınızda kullanıcı kimliklerini yönetmek için güvenli bir altyapı oluşturur.

Zaten bir Azure AD B2C kiracısı oluşturduysanız FHIR hizmetini Azure AD B2C ile dağıtma bölümüne atlayabilirsiniz.

ARM şablonu kullanarak Azure AD B2C kiracısı dağıtma

ARM şablonunu bir Azure aboneliğine program aracılığıyla dağıtmak için PowerShell veya Azure CLI kullanın. Şablonun söz dizimi, özellikleri ve kullanımı hakkında daha fazla bilgi için bkz . Azure Active Directory B2C örneği dağıtma.

FHIR hizmetini Azure AD B2C kiracısına dağıtmak için kodu Azure Cloud Shell'de veya PowerShell'de Visual Studio Code'da yerel olarak çalıştırın.

  1. Azure'da oturum açmak için kullanın Connect-AzAccount . Oturum açtığınızda, kullanmak istediğiniz aboneliği ve kiracıyı doğrulamak için kullanın Get-AzContext . Gerekirse aboneliği ve kiracıyı değiştirin.

  2. "Kaynak grubu oluşturma" adımını atlayarak veya ile New-AzResourceGroupbaşlayarak satırı açıklama satırı yaparak yeni bir kaynak grubu oluşturun (veya mevcut bir kaynak grubunu kullanın).

### variables
$tenantid="your tenant id"
$subscriptionid="your subscription id"
$resourcegroupname="your resource group name"
$b2cName="your b2c tenant name"

### login to azure
Connect-AzAccount -Tenant $tenantid -SubscriptionId $subscriptionid 

### create resource group
New-AzResourceGroup -Name $resourcegroupname -Location $region

### deploy the resource
New-AzResourceGroupDeployment -ResourceGroupName $resourcegroupname -TemplateUri https://raw.githubusercontent.com/Azure-Samples/azure-health-data-and-ai-samples/main/samples/fhir-aad-b2c/b2c-arm-template.json -b2cName $b2cNa

Azure AD B2C kiracısına test B2C kullanıcısı ekleme

FHIR hizmetindeki belirli bir hasta kaynağıyla ilişkilendirmek ve kimlik doğrulama akışının beklendiği gibi çalıştığını doğrulamak için test B2C kullanıcısına ihtiyacınız vardır.

  1. Azure portalında B2C kaynağına gidin. B2C Kiracıyı Aç'ı seçin.

    B2C kaynağını gösteren ekran görüntüsü.

  2. Sol bölmede Kullanıcılar'ı seçin.

    Giriş kullanıcılarını gösteren ekran görüntüsü.

  3. + Yeni kullanıcı'yı seçin.

    Yeni kullanıcı eklemeyi gösteren ekran görüntüsü.

Özel fhirUser kullanıcı özniteliği, B2C kullanıcısını FHIR hizmetindeki bir kullanıcı kaynağına bağlamak için kullanılır. Bu örnekte B2C kiracısında Test Patient1 adlı bir kullanıcı oluşturulur. Sonraki bir adımda FHIR hizmetinde bir hasta kaynağı oluşturulur. Test Patient1 kullanıcısı, öznitelik değerini hasta kaynak tanımlayıcısı olarak ayarlayarak fhirUser hasta kaynağına bağlanır. Özel kullanıcı öznitelikleri hakkında daha fazla bilgi için bkz . Azure Active Directory B2C'de kullanıcı akışı özel öznitelikleri.

  1. Sol bölmedeki Azure AD B2C sayfasında Kullanıcı öznitelikleri'ni seçin.

  2. + Ekle'yi seçin.

  3. Ad alanına fhirUser (büyük/küçük harfe duyarlı) girin.

  4. Veri Türü açılan listesinden Dize'yi seçin.

  5. Oluştur’u seçin.

    B2C özniteliğini gösteren ekran görüntüsü.

Yeni B2C kullanıcı akışı oluşturma

Kullanıcı akışları, kullanıcıların oturum açmak için izlemesi gereken adım dizisini tanımlar. Bu örnekte, kullanıcı oturum açtığında ve sağlanan erişim belirtecinde talebin yer aldığı fhirUser bir kullanıcı akışı tanımlanır. Daha fazla bilgi için bkz . Azure Active Directory B2C'de kullanıcı akışları ve özel ilkeler oluşturma.

  1. Sol bölmedeki Azure AD B2C sayfasında Kullanıcı akışları'nı seçin.

  2. + Yeni kullanıcı akışı'nı seçin.

    B2C kullanıcı akışını gösteren ekran görüntüsü.

  3. Kullanıcı akışına B2C kiracısına özgü bir ad verin. Adın genel olarak benzersiz olması gerekmez. Bu örnekte kullanıcı akışının adı USER_FLOW_1. Adı not edin.

  4. Test kullanıcısının oturum açabilmesi ve FHIR hizmeti için bir erişim belirteci alabilmesi için yerel hesaplar için E-posta oturum açma özelliğinin etkinleştirildiğinden emin olun.

    B2C kullanıcı akışı yapılandırmasını gösteren ekran görüntüsü.

  5. Kullanıcı akışı oluştur sayfasında sayfayı kaydırarak 5. bölüme gelin. Uygulama Talepleri'ne tıklayın ve ardından Tüm kullanılabilir taleplerin listesini göstermek için Daha fazlasını göster... öğesini seçin.

  6. fhirUser talebi'ni seçin.

  7. Tamam'ı seçin.

  8. Oluştur’u seçin.

    FHIR kullanıcı talebiyle B2C kullanıcı akışı yapılandırmasını gösteren ekran görüntüsü.

Yeni B2C kaynak uygulaması oluşturma

B2C kaynak uygulaması, sağlık uygulamanızdan Azure Active Directory B2C'ye kimlik doğrulama isteklerini işler.

  1. Sol bölmedeki Azure AD B2C sayfasında Uygulama kayıtları'ı seçin.

  2. + Yeni kayıt'ı seçin.

    B2C yeni uygulamasını gösteren ekran görüntüsü.

  3. Görünen adı girin. Bu örnekte FHIR Hizmeti gerçekleştirilir.

  4. Desteklenen hesap türleri listesinde Herhangi bir kimlik sağlayıcısındaki veya kuruluş dizinindeki Hesaplar'ı (kullanıcı akışları olan kullanıcıların kimliğini doğrulamak için) seçin.

  5. Yeniden Yönlendirme URI'si (önerilen) açılan listesinde *Genel istemci/yerel (mobil & masaüstü) öğesini seçin. değerini geri çağırma URI'siyle doldurun. Bu geri çağırma URI'si test amaçlıdır.

  6. İzinler bölümünde Openid ve offline_access izinlerine yönetici onayı ver'i seçin.

  7. Kaydet'i seçin. Uygulama kaydının tamamlanmasını bekleyin. Tarayıcı otomatik olarak uygulamaya Genel Bakış sayfasına gider.

    B2C uygulama kaydını gösteren ekran görüntüsü.

Uygulama için API izinlerini yapılandırma

  1. Sol bölmedeki Uygulama kayıtları sayfasında Bildirim'i seçin.

  2. Diziyi oauth2Permissions bulana kadar kaydırın. dizisini oauth2Permissions.json dosyasındaki bir veya daha fazla değerle değiştirin. Dizinin tamamını veya tek tek izinleri kopyalayın.

    Listeye bir izin eklerseniz, B2C kiracısında herhangi bir kullanıcı API izniyle bir erişim belirteci alabilir. B2C kiracısı içindeki bir kullanıcı için erişim düzeyi uygun değilse, izinleri bir kullanıcı alt kümesiyle sınırlamanın bir yolu olmadığından bunu diziye eklemeyin.

  3. oauth2Permissions dizisi dolduruldıktan sonra Kaydet'i seçin.

    B2C uygulama bildirimini gösteren ekran görüntüsü.

Web API'sini kullanıma sunma ve uygulama kimliği URI'si atama

  1. Sol bölmedeki Uygulama kayıtları sayfasında API'yi kullanıma sunma'yı seçin.

  2. Ekle'yi seçin.

  3. Varsayılan olarak, Uygulama Kimliği URI'si alanı uygulama (istemci) kimliğiyle doldurulur. İsterseniz değeri değiştirin. Bu örnekte, değer fhir'dir.

  4. Kaydet'i seçin.

    B2C uygulama API'lerini gösteren ekran görüntüsü.

  5. Sol bölmedeki Uygulama kayıtları sayfasında API izinleri'ni seçin.

  6. + İzin ekle'yi seçin.

    B2C API iznini gösteren ekran görüntüsü.

  7. API izinlerini iste bölmesinde kuruluşumun kullandığı API'leri seçin.

  8. Listeden kaynak uygulamasını seçin.

    Kullanılan API'lerle B2C API izinlerini gösteren ekran görüntüsü.

  9. Hasta bölümündeki API izinleri isteme bölmesinde en az bir izin seçin. Bu örnekte izin patient.all.read seçilidir; başka bir deyişle kapsamına patient.all.read sahip bir erişim belirteci isteyen kullanıcının Okuma ayrıcalıkları vardır (patient.all).okuma) tüm FHIR kaynakları (hasta) için.all.read) bölümüne bakın (patient.all.read) Daha fazla bilgi için bkz . Hasta bölmesi.

  10. İzin ekle'yi seçin.

    İzinlerin eklendiği B2C API izinlerini gösteren ekran görüntüsü.

  11. Yapılandırılan izinler bölümündeki API izinleri sayfasında Yönetici onayı ver'i seçin.

    Yönetici onayı için B2C API izinlerini gösteren ekran görüntüsü.

Kimlik sağlayıcısı olarak Azure Active Directory B2C ile FHIR hizmetini dağıtma

Kimlik sağlayıcısı olarak FHIR hizmetinin Azure Active Directory B2C ile dağıtılması, FHIR hizmetinin kullanıcıların Azure AD B2C kimlik bilgilerine göre kimlik doğrulamasını sağlayarak hassas hasta bilgilerine yalnızca yetkili kullanıcıların erişebilmesini sağlar

B2C yetkilisini ve istemci kimliğini alma

FHIR hizmetini bir Azure AD B2C kiracısını kimlik sağlayıcısı olarak kullanacak şekilde yapılandırmak için yetkili ve istemci kimliği (veya uygulama kimliği) parametrelerini kullanın.

  1. B2C kiracısının adını ve kullanıcı akışının adını kullanarak yetkili dizesini oluşturun.

    https://<YOUR_B2C_TENANT_NAME>.b2clogin.com/<YOUR_B2C_TENANT_NAME>.onmicrosoft.com/<YOUR_USER_FLOW_NAME>/v2.0
    
  2. Uç noktaya istekte bulunarak yetkili dizesini test edin .well-known/openid-configuration . OpenId Yapılandırması JSON dosyasına gidip gitmediğini onaylamak için dizeyi bir tarayıcıya girin. OpenId Yapılandırması JSON yüklenemezse B2C kiracı adı ve kullanıcı akışı adının doğru olduğundan emin olun.

    https://<YOUR_B2C_TENANT_NAME>.b2clogin.com/<YOUR_B2C_TENANT_NAME>.onmicrosoft.com/<YOUR_USER_FLOW_NAME>/v2.0/.well-known/openid-configuration
    
  3. Kaynak uygulamasına genel bakış sayfasından istemci kimliğini alın.

    B2C uygulamasına genel bakış sayfasını gösteren ekran görüntüsü.

ARM Şablonu kullanarak FHIR hizmetini dağıtma

FHIR hizmetini dağıtmayı basitleştirmek için ARM şablonu kullanın. ARM şablonunu bir Azure aboneliğine dağıtmak için PowerShell veya Azure CLI kullanın.

FHIR hizmetini Azure AD B2C kiracısına dağıtmak için kodu Azure Cloud Shell'de veya PowerShell'de Visual Studio Code'da yerel olarak çalıştırın.

  1. Azure'da oturum açmak için kullanın Connect-AzAccount . Kullanmak istediğiniz aboneliği ve kiracıyı doğrulamak için kullanın Get-AzContext . Gerekirse aboneliği ve kiracıyı değiştirin.

  2. "Kaynak grubu oluşturma" adımını atlayarak veya ile New-AzResourceGroupbaşlayarak satırı açıklama satırı yaparak yeni bir kaynak grubu oluşturun (veya mevcut bir kaynak grubunu kullanın).

### variables
$tenantid="your tenant id"
$subscriptionid="your subscription id"
$resourcegroupname="your resource group name"
$region="your desired region"
$workspacename="your workspace name"
$fhirServiceName="your fhir service name"
$smartAuthorityUrl="your authority (from previous step)"
$smartClientId="your client id (from previous step)"

### login to azure
Connect-AzAccount 
#Connect-AzAccount SubscriptionId $subscriptionid
Set-AzContext -Subscription $subscriptionid
Connect-AzAccount -Tenant $tenantid -SubscriptionId $subscriptionid
#Get-AzContext 

### create resource group
New-AzResourceGroup -Name $resourcegroupname -Location $region

### deploy the resource
New-AzResourceGroupDeployment -ResourceGroupName $resourcegroupname -TemplateUri https://raw.githubusercontent.com/Azure-Samples/azure-health-data-and-ai-samples/main/samples/fhir-aad-b2c/fhir-service-arm-template.json -tenantid $tenantid -region $region -workspaceName $workspacename -fhirServiceName $fhirservicename -smartAuthorityUrl $smartAuthorityUrl -smartClientId $smartClientId

Azure AD B2C kullanıcılarının FHIR kaynaklarına erişebildiklerini doğrulama

Doğrulama işlemi, FHIR hizmetinde bir hasta kaynağı oluşturmayı, hasta kaynağını Azure AD B2C kullanıcısına bağlamayı ve B2C kullanıcıları için erişim belirteci almak üzere REST İstemcisi'ni yapılandırmayı içerir. Doğrulama işlemi tamamlandıktan sonra B2C test kullanıcısını kullanarak hasta kaynağını getirebilirsiniz.

Erişim belirteci almak için REST İstemcisi'ni kullanma

FHIR hizmetine uygun erişimi elde etme adımları için bkz . REST İstemcisi'ni kullanarak FHIR hizmetine erişme.

FHIR hasta verilerini alma bölümündeki adımları uyguladığınızda, FHIR hizmeti yeni olduğundan ve hasta kaynağı olmadığından istek boş bir yanıt döndürür.

FHIR hizmetinde hasta kaynağı oluşturma

Kullanıcı (hasta veya uygulayıcı gibi) bir FHIR kaynağına bağlanana kadar B2C kiracısında kullanıcıların herhangi bir kaynağı okuyamayacağını unutmayın. FHIR hizmetinin kiracılı olduğu Microsoft Entra Kimliği'nde veya FhirDataContributor rolüne sahip FhirDataWriter bir kullanıcının bu adımı gerçekleştirmesi gerekir.

  1. Yöntemini PUT olarak değiştirerek ve isteği şu gövdeyle yürüterek belirli bir tanımlayıcıya {{fhirurl}}/Patient/1 sahip bir hasta oluşturun:
{
    "resourceType": "Patient",
    "id": "1",
    "name": [
        {
            "family": "Patient1",
            "given": [
                "Test"
            ]
        }
    ]
}
  1. Yöntemi olarak değiştirerek GET ve yeni oluşturulan hastayı döndürme isteğini {{fhirurl}}/Patient doğrulayarak hastanın oluşturulduğunu doğrulayın.

B2C kiracısında test kullanıcısı ile FHIR hizmetindeki kaynak arasında açık bir bağlantı oluşturun. Microsoft Graph'ta Uzantı Özniteliklerini kullanarak bağlantıyı oluşturun. Daha fazla bilgi için bkz . Azure Active Directory B2C'de özel öznitelikleri tanımlama.

  1. B2C kiracısına gidin. Sol bölmede Uygulama kayıtları'ı seçin.

  2. Tüm uygulamalar'ı seçin.

  3. b2c-extensions-app ön ekiyle uygulamayı seçin.

    B2C uygulama listesini gösteren ekran görüntüsü.

  4. Uygulama (istemci) Kimliği değerini not edin.

    B2C uzantıları uygulamasını gösteren ekran görüntüsü.

  5. B2C kiracı giriş sayfasına dönün, sol bölmede Kullanıcılar'ı seçin.

    B2C giriş kullanıcılarını gösteren ekran görüntüsü.

  6. Test Hastası1'i seçin.

    B2C kullanıcı listesini gösteren ekran görüntüsü.

  7. Nesne Kimliği değerini not edin.

    B2C kullanıcı kimliğini gösteren ekran görüntüsü.

  8. Microsoft Graph Gezgini'ne gidin. B2C kiracısının Genel Yönetici rolüne atanmış bir kullanıcıyla oturum açın. (Kiracıdaki kullanıcıları yönetmek için B2C kiracısında yeni bir yönetici kullanıcı oluşturmak iyi bir fikirdir.)

    Graph oturum açma bilgilerini gösteren ekran görüntüsü.

  9. Kullanıcının avatarını seçin ve ardından İzinlere onay ver'i seçin.

    Test kullanıcısı için Graf onaylarını gösteren ekran görüntüsü.

  10. Kaydırarak Kullanıcı'ya gidin. User.ReadWrite.All için onay. Bu izin, Test Patient1 kullanıcısını talep değeriyle fhirUser güncelleştirmenizi sağlar.

    fhirUser talebi için Graph onaylarını gösteren ekran görüntüsü.

  11. Onay işlemi tamamlandıktan sonra kullanıcıyı güncelleştirin. b2c-extensions-app uygulama (istemci) kimliğine ve kullanıcı Nesne Kimliği'ne ihtiyacınız vardır.

    • yöntemini olarak PATCHdeğiştirin.

    • URL'yi https://graph.microsoft.com/v1.0/users/{USER_OBJECT_ID} olarak değiştirin.

    • Gövdeyi PATCH oluşturun. PATCH Gövde, tek bir anahtar-değer çiftidir; burada anahtar biçimi, extension_{B2C_EXTENSION_APP_ID_NO_HYPHENS}_fhirUser değer ise hastanın https://{YOUR_FHIR_SERVICE}.azurehealthcareapis.com/Patient/1"tam FHIR kaynak kimliğidir.

    Daha fazla bilgi için bkz . Microsoft Graph aracılığıyla uzantı özniteliklerini yönetme.

  12. İstek biçimlendirildikten sonra Sorguyu çalıştır'ı seçin. B2C kiracısında kullanıcının FHIR hizmetindeki hasta kaynağına bağlandığını onaylayan başarılı bir yanıt bekleyin.

    Graph düzeltme ekini gösteren ekran görüntüsü.

B2C kullanıcıları için erişim belirteci alma yapılandırması

Kimlik doğrulama akışını test etmek için bir erişim belirteci alın.

Not

grant_type, authorization_code erişim belirteci almak için kullanılır. API testi ve geliştirme için sezgisel arabirimler sunan çevrimiçi araçlar mevcuttur.

  1. API test uygulamasını başlatın.

  2. Araçta Yetkilendirme sekmesini seçin.

  3. Tür açılan listesinde OAuth 2.0'ı seçin.

  4. Aşağıdaki değerleri girin.

    • Geri arama URL'si. B2C kaynak uygulaması oluşturulduğunda bu değer yapılandırılır.

    • Kimlik doğrulama URL'si. Bu değer, B2C kiracısının adı ve kullanıcı akışının adı kullanılarak oluşturulabilir.

      https://{YOUR_B2C_TENANT_NAME}.b2clogin.com/{YOUR_B2C_TENANT_NAME}.onmicrosoft.com/{YOUR_USER_FLOW_NAME}/oauth2/v2.0/authorize
      
    • Erişim Belirteci URL'si. Bu değer, B2C kiracısının adı ve kullanıcı akışının adı kullanılarak oluşturulabilir.

      https://{YOUR_B2C_TENANT_NAME}.b2clogin.com/{YOUR_B2C_TENANT_NAME}.onmicrosoft.com/{YOUR_USER_FLOW_NAME}/oauth2/v2.0/token
      
    • İstemci Kimliği. Bu değer, B2C kaynak uygulamasının uygulama (istemci) kimliğidir.

      {YOUR_APPLICATION_ID}
      
    • Kapsam. Bu değer, API'yi kullanıma sunma bölümündeki B2C kaynak uygulamasında tanımlanır. verilen izin kapsamıdır patient.all.read. Kapsam isteği tam URL olmalıdır, örneğin, https://testb2c.onmicrosoft.com/fhir/patient.all.read.

  5. B2C kaynak uygulamasının API'yi kullanıma sunma bölümünden tam kapsamı kopyalayın.

    {YOUR_APPLICATION_ID_URI}/patient.all.read
    

B2C kullanıcısını kullanarak hasta kaynağını getirme

Azure AD B2C kullanıcılarının FHIR kaynaklarına erişebildiğini doğrulayın.

  1. Yetkilendirme yapılandırması B2C kullanıcı akışını başlatacak şekilde ayarlandığında, erişim belirteci almak için Yeni Erişim Belirteci Al'ı seçin.

  2. Oturum açmak için Test Hastası kimlik bilgilerini kullanın.

  3. Erişim belirtecini kopyalayın ve Patient verilerini getirirken kullanın

Hasta kaynağını getirmek için FHIR hasta verilerini alma bölümünde yer alan adımları izleyin.

  1. yöntemini olarak GETayarlayın, tam FHIR hizmet URL'sini girin ve yolunu /Patientekleyin.

  2. Yetkilendirme parametresinde getirilen belirteci kullanın.

  3. İstek Gönder'i seçin.

  4. Yanıtın tek hasta kaynağını içerdiğini doğrulayın.

Sonraki adımlar

Birden fazla kimlik sağlayıcısı yapılandırma

Kimlik sağlayıcı yapılandırmasında sorun giderme

Not

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