Az Azure Active Directory B2C használata az FHIR szolgáltatáshoz való hozzáférés biztosításához
Az egészségügyi szervezetek az Azure Health Data Services FHIR® szolgáltatásával használhatják az Azure Active Directory B2C-t (Azure AD B2C) az alkalmazások és felhasználók számára való hozzáférés biztosításához.
Azure AD B2C-bérlő létrehozása az FHIR szolgáltatáshoz
Egy Azure AD B2C-bérlő létrehozása az FHIR szolgáltatáshoz biztonságos infrastruktúrát hoz létre az egészségügyi alkalmazások felhasználói identitásainak kezeléséhez.
Ha már létrehozott egy Azure AD B2C-bérlőt, ugorjon az FHIR szolgáltatás üzembe helyezésére az Azure AD B2C-vel.
Azure AD B2C-bérlő üzembe helyezése ARM-sablon használatával
A PowerShell vagy az Azure CLI használatával programozott módon üzembe helyezheti az ARM-sablont egy Azure-előfizetésben. A sablon szintaxisával, tulajdonságaival és használatával kapcsolatos további információkért lásd : Azure Active Directory B2C-példány üzembe helyezése.
Futtassa a kódot az Azure Cloud Shellben vagy a PowerShellben helyileg a Visual Studio Code-ban az FHIR szolgáltatás üzembe helyezéséhez az Azure AD B2C-bérlőn.
Az Azure-ba való bejelentkezéshez használható
Connect-AzAccount
. A bejelentkezés után ellenőrizze aGet-AzContext
használni kívánt előfizetést és bérlőt. Szükség esetén módosítsa az előfizetést és a bérlőt.Hozzon létre egy új erőforráscsoportot (vagy használjon egy meglévőt) az "erőforráscsoport létrehozása" lépés kihagyásával, vagy a következővel kezdődő
New-AzResourceGroup
sor megjegyzésével:
### 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
Teszt B2C-felhasználó hozzáadása az Azure AD B2C-bérlőhöz
Az FHIR szolgáltatásban egy B2C-tesztfelhasználónak kell társítania egy adott betegerőforrást, és ellenőriznie kell, hogy a hitelesítési folyamat a várt módon működik-e.
Az Azure Portalon nyissa meg a B2C-erőforrást. Válassza a B2C-bérlő megnyitása lehetőséget.
A bal oldali panelen válassza a Felhasználók lehetőséget.
Válassza az + Új felhasználó lehetőséget.
B2C-felhasználó csatolása az fhirUser
egyéni felhasználói attribútummal
Az fhirUser
egyéni felhasználói attribútum egy B2C-felhasználó és egy felhasználói erőforrás összekapcsolására szolgál az FHIR szolgáltatásban. Ebben a példában egy Test Patient1 nevű felhasználó jön létre a B2C-bérlőben. Egy későbbi lépésben létrejön egy betegerőforrás az FHIR szolgáltatásban. A Test Patient1 felhasználó a betegerőforráshoz kapcsolódik úgy, hogy az fhirUser
attribútumértéket a betegerőforrás-azonosítóra állítja. Az egyéni felhasználói attribútumokról további információt az Azure Active Directory B2C felhasználói folyamat egyéni attribútumai című témakörben talál.
A bal oldali panelEn az Azure AD B2C lapon válassza a Felhasználói attribútumok lehetőséget.
Válassza a +Hozzáadás lehetőséget.
A Név mezőbe írja be a következőt: fhirUser (kis- és nagybetűk megkülönböztetése).
Az Adattípus legördülő listában válassza a Sztring lehetőséget.
Válassza a Létrehozás elemet.
Új B2C felhasználói folyamat létrehozása
A felhasználói folyamatok határozzák meg a bejelentkezéshez követendő lépések sorrendjét. Ebben a példában a felhasználói folyamat úgy van definiálva, hogy amikor egy felhasználó bejelentkezik, és a megadott hozzáférési jogkivonat tartalmazza a fhirUser
jogcímet. További információ: Felhasználói folyamatok és egyéni szabályzatok létrehozása az Azure Active Directory B2C-ben.
A bal oldali panelEn az Azure AD B2C lapon válassza a Felhasználói folyamatok lehetőséget.
Válassza az + Új felhasználói folyamat lehetőséget.
Adjon a felhasználói folyamatnak egy egyedi nevet a B2C-bérlőnek. A névnek nem kell globálisan egyedinek lennie. Ebben a példában a felhasználói folyamat neve USER_FLOW_1. Jegyezze fel a nevet.
Győződjön meg arról, hogy az e-mail-bejelentkezés engedélyezve van a helyi fiókokhoz, hogy a tesztfelhasználó bejelentkezhessen, és hozzáférési jogkivonatot szerezzen be az FHIR szolgáltatáshoz.
A Felhasználói folyamat létrehozása lapon görgessen az 5. szakaszhoz. Alkalmazásjogcímek, majd a Továbbiak megjelenítése... gombra kattintva megjelenítheti az összes rendelkezésre álló jogcím listáját.
Válassza ki a fhirUser jogcímet.
Kattintson az OK gombra.
Válassza a Létrehozás elemet.
Új B2C-erőforrásalkalmazás létrehozása
A B2C erőforrásalkalmazás kezeli az egészségügyi alkalmazástól az Azure Active Directory B2C-be irányuló hitelesítési kérelmeket.
A bal oldali panelEn az Azure AD B2C lapon válassza a Alkalmazásregisztrációk.
Válassza az + Új regisztráció lehetőséget.
Adjon meg egy megjelenítendő nevet. Ez a példa az FHIR szolgáltatást használja.
A Támogatott fióktípusok listában válassza a Fiókok lehetőséget bármely identitásszolgáltatóban vagy szervezeti könyvtárban (a felhasználók felhasználói folyamatokkal való hitelesítéséhez).
Az Átirányítási URI (ajánlott) legördülő listában válassza a *Nyilvános ügyfél/natív (mobil & asztali) lehetőséget. Töltse ki az értéket a Postman visszahívási URI-jávalhttps://oauth.pstmn.io/v1/callback. Ez a visszahívási URI tesztelési célokat szolgál.
Az Engedélyek szakaszban válassza a Rendszergazdai hozzájárulás megadása a megnyitáshoz és az engedélyek offline_access lehetőséget.
Válassza a Regisztráció lehetőséget. Várja meg, amíg az alkalmazásregisztráció befejeződik. A böngésző automatikusan az alkalmazás áttekintési lapjára navigál.
API-engedélyek konfigurálása az alkalmazáshoz
A bal oldali panel Alkalmazásregisztrációk lapján válassza a Jegyzék elemet.
Görgessen, amíg meg nem találja a tömböt
oauth2Permissions
. Cserélje le a tömböt egy vagy több értékre a oauth2Permissions.json fájlban. Másolja ki a teljes tömböt vagy egyéni engedélyeket.Ha engedélyt ad hozzá a listához, a B2C-bérlő bármely felhasználója beszerezhet egy hozzáférési jogkivonatot az API-engedéllyel. Ha a hozzáférési szint nem megfelelő a B2C-bérlőn belüli felhasználók számára, ne adja hozzá a tömbhöz, mert nincs mód arra, hogy a felhasználók egy részhalmazára korlátozza az engedélyeket.
Az oauth2Permissions tömb feltöltése után válassza a Mentés lehetőséget.
A webes API felfedése és alkalmazásazonosító URI hozzárendelése
A bal oldali panel Alkalmazásregisztrációk lapján válassza az API-k felfedése lehetőséget.
Válassza a Hozzáadás lehetőséget.
Alapértelmezés szerint az alkalmazásazonosító URI-mezője az alkalmazás (ügyfél) azonosítójával van feltöltve. Igény szerint módosítsa az értéket. Ebben a példában az érték fhir.
Válassza a Mentés lehetőséget.
A bal oldali panel Alkalmazásregisztrációk lapján válassza az API-engedélyeket.
Válassza a + Engedély hozzáadása lehetőséget.
A Kérelem API-engedélyek panelen válassza ki a szervezet által használt API-kat.
Válassza ki az erőforrásalkalmazást a listából.
A Beteg szakaszban található Api-engedélyek kérése panelen válasszon ki legalább egy engedélyt. Ebben a példában az engedély
patient.all.read
van kiválasztva, ami azt jelenti, hogy a hatókörrelpatient.all.read
rendelkező hozzáférési jogkivonatot kérő felhasználó olvasási jogosultságokkal (patient.all) rendelkezik.read) az összes FHIR-erőforráshoz (beteghez.all.read) a Betegtérben (patient.all.read) További információ: Betegtér.Válassza az Engedélyek hozzáadása lehetőséget.
A Konfigurált engedélyek szakasz API-engedélyek lapján válassza a Rendszergazdai hozzájárulás megadása lehetőséget.
Az FHIR szolgáltatás üzembe helyezése az Azure Active Directory B2C-vel identitásszolgáltatóként
Az FHIR szolgáltatás identitásszolgáltatóként való üzembe helyezése az Azure Active Directory B2C-vel lehetővé teszi, hogy az FHIR szolgáltatás hitelesítse a felhasználókat az Azure AD B2C hitelesítő adatai alapján, biztosítva, hogy csak az arra jogosult felhasználók férjenek hozzá a bizalmas betegadatokhoz
A B2C-szolgáltató és az ügyfélazonosító beszerzése
A szolgáltatói és ügyfél-azonosító (vagy alkalmazásazonosító) paraméterek használatával konfigurálja az FHIR szolgáltatást egy Azure AD B2C-bérlő identitásszolgáltatóként való használatára.
Hozza létre a szolgáltatói sztringet a B2C-bérlő nevével és a felhasználói folyamat nevével.
https://<YOUR_B2C_TENANT_NAME>.b2clogin.com/<YOUR_B2C_TENANT_NAME>.onmicrosoft.com/<YOUR_USER_FLOW_NAME>/v2.0
A szolgáltatói sztring tesztelése a végpontra
.well-known/openid-configuration
irányuló kéréssel. Írja be a sztringet egy böngészőbe, és győződjön meg arról, hogy az OpenId Configuration JSON-fájlra lép. Ha az OpenId Configuration JSON nem töltődik be, győződjön meg arról, hogy a B2C-bérlő neve és a felhasználói folyamat neve helyes.https://<YOUR_B2C_TENANT_NAME>.b2clogin.com/<YOUR_B2C_TENANT_NAME>.onmicrosoft.com/<YOUR_USER_FLOW_NAME>/v2.0/.well-known/openid-configuration
Kérje le az ügyfél-azonosítót az erőforrás-alkalmazás áttekintési oldaláról.
Az FHIR szolgáltatás üzembe helyezése ARM-sablonnal
Arm-sablon használatával egyszerűsítheti az FHIR szolgáltatás üzembe helyezését. Az ARM-sablon Azure-előfizetésben való üzembe helyezéséhez használja a PowerShellt vagy az Azure CLI-t.
Futtassa a kódot az Azure Cloud Shellben vagy a PowerShellben helyileg a Visual Studio Code-ban az FHIR szolgáltatás üzembe helyezéséhez az Azure AD B2C-bérlőn.
Az Azure-ba való bejelentkezéshez használható
Connect-AzAccount
. A használni kívánt előfizetés és bérlő ellenőrzésére használhatóGet-AzContext
. Szükség esetén módosítsa az előfizetést és a bérlőt.Hozzon létre egy új erőforráscsoportot (vagy használjon egy meglévőt) az "erőforráscsoport létrehozása" lépés kihagyásával, vagy a következővel kezdődő
New-AzResourceGroup
sor megjegyzésével:
### 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
Annak ellenőrzése, hogy az Azure AD B2C-felhasználók hozzáférhetnek-e az FHIR-erőforrásokhoz
Az érvényesítési folyamat magában foglalja egy betegerőforrás létrehozását az FHIR szolgáltatásban, a betegerőforrás azure AD B2C-felhasználóhoz való csatolását, valamint a Postman konfigurálását egy hozzáférési jogkivonat beszerzéséhez a B2C-felhasználók számára. Az érvényesítési folyamat befejezése után a B2C tesztfelhasználóval lekérheti a betegerőforrást.
Hozzáférési jogkivonat lekérése a Postman futtatásával
Futtassa a Postman alkalmazást helyileg vagy webböngészőben. Az FHIR szolgáltatáshoz való megfelelő hozzáférés beszerzésének lépéseit lásd : Access the FHIR service using Postman.
Az FHIR-erőforrás lekérése szakaszban leírt lépések végrehajtásakor a kérés üres választ ad vissza, mert az FHIR szolgáltatás új, és nem rendelkezik betegerőforrásokkal.
Betegerőforrás létrehozása az FHIR szolgáltatásban
Fontos megjegyezni, hogy a B2C-bérlő felhasználói nem tudnak erőforrásokat olvasni, amíg a felhasználó (például egy beteg vagy orvos) nem kapcsolódik egy FHIR-erőforráshoz. Ezt a lépést egy olyan felhasználónak kell elvégeznie, aki rendelkezik a FhirDataWriter
Microsoft Entra azonosítójában vagy FhirDataContributor
szerepkörével, ahol az FHIR szolgáltatás bérlői található.
- Hozzon létre egy adott azonosítóval rendelkező beteget, ha módosítja a metódust
PUT
, és végrehajt egy kérést{{fhirurl}}/Patient/1
ezzel a törzstel:
{
"resourceType": "Patient",
"id": "1",
"name": [
{
"family": "Patient1",
"given": [
"Test"
]
}
]
}
- Ellenőrizze, hogy a beteg létrejött-e, ha a metódust visszaváltja a metódusra
GET
, és ellenőrzi, hogy az újonnan létrehozott beteget vissza kell-e{{fhirurl}}/Patient
küldeni.
A betegerőforrás csatolása az Azure AD B2C-felhasználóhoz
Hozzon létre explicit hivatkozást a B2C-bérlő tesztfelhasználója és az FHIR szolgáltatás erőforrása között. Hozza létre a hivatkozást a Microsoft Graph bővítményattribútumainak használatával. További információ: Egyéni attribútumok definiálása az Azure Active Directory B2C-ben.
Nyissa meg a B2C-bérlőt. A bal oldali panelen válassza a Alkalmazásregisztrációk.
Válassza az Összes alkalmazás lehetőséget.
Válassza ki a b2c-extensions-app előtaggal rendelkező alkalmazást.
Jegyezze fel az alkalmazás (ügyfél) azonosítóját.
Lépjen vissza a B2C-bérlő kezdőlapjára, a bal oldali panelen válassza a Felhasználók lehetőséget.
Válassza a Tesztelési beteg1 lehetőséget.
Jegyezze fel az objektumazonosító értékét.
Nyissa meg a Microsoft Graph Explorert. Jelentkezzen be a B2C-bérlő globális rendszergazdai szerepköréhez rendelt felhasználóval. (Érdemes létrehozni egy új rendszergazdai felhasználót a B2C-bérlőben a bérlő felhasználóinak kezeléséhez.)
Válassza ki a felhasználó avatarját, majd válassza a Hozzájárulás az engedélyekhez lehetőséget.
Görgessen a felhasználóhoz. Hozzájárulás a User.ReadWrite.All webhelyhez. Ezzel az engedéllyel frissítheti a Test Patient1 felhasználót a
fhirUser
jogcímértékkel.A hozzájárulási folyamat befejezése után frissítse a felhasználót. Szüksége van a b2c-extensions-app alkalmazás (ügyfél) azonosítóra és a felhasználói objektumazonosítóra.
Módosítsa a metódust a következőre
PATCH
: .Módosítsa az URL-címet a következőre: https://graph.microsoft.com/v1.0/users/{USER_OBJECT_ID}.
Hozza létre a törzset
PATCH
. APATCH
törzs egyetlen kulcs-érték pár, ahol a kulcs formátuma,extension_{B2C_EXTENSION_APP_ID_NO_HYPHENS}_fhirUser
az érték pedig a beteghttps://{YOUR_FHIR_SERVICE}.azurehealthcareapis.com/Patient/1"
teljes FHIR erőforrás-azonosítója.
További információ: Bővítményattribútumok kezelése a Microsoft Graphon keresztül.
A kérelem formázása után válassza a Lekérdezés futtatása lehetőséget. Várjon egy sikeres választ, amely megerősíti, hogy a B2C-bérlő felhasználója az FHIR szolgáltatás betegerőforrásához van társítva.
A Postman konfigurálása hozzáférési jogkivonat beszerzésére B2C-felhasználók számára
Szerezze be a hozzáférési jogkivonatot a hitelesítési folyamat teszteléséhez.
Indítsa el a Postman alkalmazást, majd hozzon létre egy új üres gyűjteményt. Ebben a példában a gyűjtemény neve FHIR Patient.
Válassza az Engedélyezés lapot a gyűjtemény áttekintésében.
A Típus legördülő listában válassza az OAuth 2.0 elemet.
Görgessen az Új jogkivonat konfigurálása szakaszhoz, és adja meg a következő értékeket.
Visszahívási URL-cím. Ez az érték a B2C-erőforrásalkalmazás létrehozásakor van konfigurálva.
https://oauth.pstmn.io/v1/callback
Hitelesítési URL-cím. Ez az érték a B2C-bérlő nevével és a felhasználói folyamat nevével hozható létre.
https://{YOUR_B2C_TENANT_NAME}.b2clogin.com/{YOUR_B2C_TENANT_NAME}.onmicrosoft.com/{YOUR_USER_FLOW_NAME}/oauth2/v2.0/authorize
Hozzáférési jogkivonat URL-címe. Ez az érték a B2C-bérlő nevével és a felhasználói folyamat nevével hozható létre.
https://{YOUR_B2C_TENANT_NAME}.b2clogin.com/{YOUR_B2C_TENANT_NAME}.onmicrosoft.com/{YOUR_USER_FLOW_NAME}/oauth2/v2.0/token
Ügyfélazonosító. Ez az érték a B2C-erőforrásalkalmazás alkalmazás-(ügyfél-) azonosítója.
{YOUR_APPLICATION_ID}
Hatókör. Ez az érték a B2C erőforrásalkalmazásban van definiálva az Api-t közzétenő szakaszban. A megadott hatókör az
patient.all.read
. A hatókör-kérelemnek teljesen minősített URL-címnek kell lennie, példáulhttps://testb2c.onmicrosoft.com/fhir/patient.all.read
.
Másolja a teljes hatókört a B2C-erőforrásalkalmazás API-jának elérhetővé tetszett szakaszából.
{YOUR_APPLICATION_ID_URI}/patient.all.read
A betegerőforrás beolvasása a B2C-felhasználóval
Ellenőrizze, hogy az Azure AD B2C-felhasználók hozzáférnek-e az FHIR-erőforrásokhoz.
Ha a Postman engedélyezési konfigurációja a B2C felhasználói folyamat elindítására van beállítva, a hozzáférési jogkivonat beszerzéséhez válassza az Új hozzáférési jogkivonat lekérése lehetőséget.
A tesztelési beteg hitelesítő adataival jelentkezzen be.
Válassza a Jogkivonat használata lehetőséget a gyűjteményben lévő kérések hozzáférési jogkivonatának használatához.
Hozzon létre egy új kérést a betegerőforrások kereséséhez az FHIR szolgáltatásban. Válassza a gyűjtemény neve melletti három pont (...) gombot, majd válassza a Kérelem hozzáadása lehetőséget.
Állítsa be a metódust
GET
, adja meg a teljes FHIR szolgáltatás URL-címét, majd adja hozzá az elérési utat/Patient
.Válassza a Küldés lehetőséget.
Ellenőrizze, hogy a válasz tartalmazza-e az egyetlen betegerőforrást.
Következő lépések
Több identitásszolgáltató konfigurálása
Az identitásszolgáltatói konfiguráció hibaelhárítása
Feljegyzés
Az FHIR® a HL7 bejegyzett védjegye, amelyet a HL7 engedélyével használnak.