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.
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ınGet-AzContext
. Gerekirse aboneliği ve kiracıyı değiştirin."Kaynak grubu oluşturma" adımını atlayarak veya ile
New-AzResourceGroup
baş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.
Azure portalında B2C kaynağına gidin. B2C Kiracıyı Aç'ı seçin.
Sol bölmede Kullanıcılar'ı seçin.
+ Yeni kullanıcı'yı seçin.
B2C kullanıcısını özel kullanıcı özniteliğiyle fhirUser
bağlama
Ö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.
Sol bölmedeki Azure AD B2C sayfasında Kullanıcı öznitelikleri'ni seçin.
+ Ekle'yi seçin.
Ad alanına fhirUser (büyük/küçük harfe duyarlı) girin.
Veri Türü açılan listesinden Dize'yi seçin.
Oluştur’u seçin.
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.
Sol bölmedeki Azure AD B2C sayfasında Kullanıcı akışları'nı seçin.
+ Yeni kullanıcı akışı'nı seçin.
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.
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.
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.
fhirUser talebi'ni seçin.
Tamam'ı seçin.
Oluştur’u seçin.
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.
Sol bölmedeki Azure AD B2C sayfasında Uygulama kayıtları'ı seçin.
+ Yeni kayıt'ı seçin.
Görünen adı girin. Bu örnekte FHIR Hizmeti gerçekleştirilir.
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.
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.
İzinler bölümünde Openid ve offline_access izinlerine yönetici onayı ver'i seçin.
Kaydet'i seçin. Uygulama kaydının tamamlanmasını bekleyin. Tarayıcı otomatik olarak uygulamaya Genel Bakış sayfasına gider.
Uygulama için API izinlerini yapılandırma
Sol bölmedeki Uygulama kayıtları sayfasında Bildirim'i seçin.
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.
oauth2Permissions dizisi dolduruldıktan sonra Kaydet'i seçin.
Web API'sini kullanıma sunma ve uygulama kimliği URI'si atama
Sol bölmedeki Uygulama kayıtları sayfasında API'yi kullanıma sunma'yı seçin.
Ekle'yi seçin.
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.
Kaydet'i seçin.
Sol bölmedeki Uygulama kayıtları sayfasında API izinleri'ni seçin.
+ İzin ekle'yi seçin.
API izinlerini iste bölmesinde kuruluşumun kullandığı API'leri seçin.
Listeden kaynak uygulamasını seçin.
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ınapatient.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.İzin ekle'yi seçin.
Yapılandırılan izinler bölümündeki API izinleri sayfasında Yönetici onayı ver'i seçin.
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.
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
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
Kaynak uygulamasına genel bakış sayfasından istemci kimliğini alın.
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.
Azure'da oturum açmak için kullanın
Connect-AzAccount
. Kullanmak istediğiniz aboneliği ve kiracıyı doğrulamak için kullanınGet-AzContext
. Gerekirse aboneliği ve kiracıyı değiştirin."Kaynak grubu oluşturma" adımını atlayarak veya ile
New-AzResourceGroup
baş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.
- 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"
]
}
]
}
- 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.
Hasta kaynağını Azure AD B2C kullanıcısına bağlama
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.
B2C kiracısına gidin. Sol bölmede Uygulama kayıtları'ı seçin.
Tüm uygulamalar'ı seçin.
b2c-extensions-app ön ekiyle uygulamayı seçin.
Uygulama (istemci) Kimliği değerini not edin.
B2C kiracı giriş sayfasına dönün, sol bölmede Kullanıcılar'ı seçin.
Test Hastası1'i seçin.
Nesne Kimliği değerini not edin.
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.)
Kullanıcının avatarını seçin ve ardından İzinlere onay ver'i seçin.
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.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
PATCH
değ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ınhttps://{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.
İ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.
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.
API test uygulamasını başlatın.
Araçta Yetkilendirme sekmesini seçin.
Tür açılan listesinde OAuth 2.0'ı seçin.
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
.
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.
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.
Oturum açmak için Test Hastası kimlik bilgilerini kullanın.
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.
yöntemini olarak
GET
ayarlayın, tam FHIR hizmet URL'sini girin ve yolunu/Patient
ekleyin.Yetkilendirme parametresinde getirilen belirteci kullanın.
İstek Gönder'i seçin.
Yanıtın tek hasta kaynağını içerdiğini doğrulayın.