Az Azure API for FHIR hozzáférési jogkivonatainak érvényesítése
Az, hogy az Azure API for FHIR hogyan ellenőrzi a hozzáférési jogkivonatot, az implementációtól és a konfigurációtól függ. Ebben a cikkben végigvezetjük az érvényesítési lépéseket, amelyek hasznosak lehetnek a hozzáférési problémák elhárításához.
Az érvényesítési jogkivonatnak nincsenek problémái az identitásszolgáltatóval
A jogkivonat érvényesítésének első lépése annak ellenőrzése, hogy a jogkivonatot a megfelelő identitásszolgáltató adta-e ki, és hogy nem módosították-e. Az FHIR-kiszolgáló úgy lesz konfigurálva, hogy a szolgáltató Authority
néven ismert identitásszolgáltatót használja. Az FHIR-kiszolgáló lekéri az identitásszolgáltató adatait a /.well-known/openid-configuration
végpontról. Az Azure Active Directory (Azure AD) használatakor a teljes URL-cím a következő:
GET https://login.microsoftonline.com/<TENANT-ID>/.well-known/openid-configuration
where <TENANT-ID>
is the specific Azure AD tenant (bérlőazonosító vagy tartománynév).
Azure AD egy ehhez hasonló dokumentumot ad vissza az FHIR-kiszolgálónak.
{
"authorization_endpoint": "https://login.microsoftonline.com/<TENANT-ID>/oauth2/authorize",
"token_endpoint": "https://login.microsoftonline.com/<TENANT-ID>/oauth2/token",
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"private_key_jwt",
"client_secret_basic"
],
"jwks_uri": "https://login.microsoftonline.com/common/discovery/keys",
"response_modes_supported": [
"query",
"fragment",
"form_post"
],
"subject_types_supported": [
"pairwise"
],
"id_token_signing_alg_values_supported": [
"RS256"
],
"http_logout_supported": true,
"frontchannel_logout_supported": true,
"end_session_endpoint": "https://login.microsoftonline.com/<TENANT-ID>/oauth2/logout",
"response_types_supported": [
"code",
"id_token",
"code id_token",
"token id_token",
"token"
],
"scopes_supported": [
"openid"
],
"issuer": "https://sts.windows.net/<TENANT-ID>/",
"claims_supported": [
"sub",
"iss",
"cloud_instance_name",
"cloud_instance_host_name",
"cloud_graph_host_name",
"msgraph_host",
"aud",
"exp",
"iat",
"auth_time",
"acr",
"amr",
"nonce",
"email",
"given_name",
"family_name",
"nickname"
],
"microsoft_multi_refresh_token": true,
"check_session_iframe": "https://login.microsoftonline.com/<TENANT-ID>/oauth2/checksession",
"userinfo_endpoint": "https://login.microsoftonline.com/<TENANT-ID>/openid/userinfo",
"tenant_region_scope": "WW",
"cloud_instance_name": "microsoftonline.com",
"cloud_graph_host_name": "graph.windows.net",
"msgraph_host": "graph.microsoft.com",
"rbac_url": "https://pas.windows.net"
}
Az FHIR-kiszolgáló fontos tulajdonságai a következők jwks_uri
: , amelyek közlik a kiszolgálóval, hogy hol kell lekérni a jogkivonat aláírásának érvényesítéséhez szükséges titkosítási kulcsokat, és issuer
amely közli a kiszolgálóval, hogy mi lesz a kiszolgáló által kibocsátott jogkivonatok kiállítói jogcímében (iss
). Az FHIR-kiszolgáló ezzel ellenőrizheti, hogy hiteles jogkivonatot kap-e.
A jogkivonat jogcímeinek ellenőrzése
Miután a kiszolgáló ellenőrizte a jogkivonat hitelességét, az FHIR-kiszolgáló ezután ellenőrzi, hogy az ügyfél rendelkezik-e a jogkivonat eléréséhez szükséges jogcímekkel.
Ha az Azure API for FHIR-t használja, a kiszolgáló ellenőrzi a következőket:
- A jogkivonatnak joga
Audience
van (aud
jogcím). - Az a felhasználó vagy rendszerbiztonsági tag, aki számára a jogkivonat ki lett adva, hozzáférhet az FHIR-kiszolgáló adatsíkhoz. A
oid
jogkivonat jogcíme tartalmaz egy identitásobjektum-azonosítót, amely egyedileg azonosítja a felhasználót vagy az egyszerű felhasználót.
Javasoljuk, hogy az FHIR szolgáltatást úgy konfigurálja, hogy az Azure RBAC-t használja az adatsík szerepkör-hozzárendeléseinek kezeléséhez. A helyi RBAC-t azonban akkor is konfigurálhatja, ha az FHIR-szolgáltatás külső vagy másodlagos Azure AD bérlőt használ.
Ha az OSS Microsoft FHIR-kiszolgálót használja az Azure-hoz, a kiszolgáló ellenőrzi a következőket:
- A jogkivonatnak joga
Audience
van (aud
jogcím). - A jogkivonatnak van egy szerepköre a
roles
jogcímben, amely hozzáféréssel rendelkezik az FHIR-kiszolgálóhoz.
Tekintse meg a szerepkörök FHIR-kiszolgálón való meghatározásának részleteit.
Az FHIR-kiszolgálók azt is ellenőrizhetik, hogy a hozzáférési jogkivonat hatókörökkel rendelkezik-e (tokenjogcímben scp
) az FHIR API azon részének eléréséhez, amelyhez az ügyfél próbál hozzáférni. Az Azure API for FHIR és az Azure FHIR-kiszolgálója jelenleg nem érvényesíti a tokenhatóköröket.
Következő lépések
Most, hogy már tudja, hogyan haladhat végig a jogkivonatok érvényesítésén, elvégezheti az oktatóanyagot egy JavaScript-alkalmazás létrehozásához és a Fast Healthcare Interoperability Resources (FHIR®) adatainak olvasásához.
Az FHIR® a HL7 bejegyzett védjegye, és a HL7 engedélyével használják.