Megosztás a következőn keresztül:


Az Azure Active Directory identitáskonfigurációja az Azure API for FHIR-hez

Ha egészségügyi adatokkal dolgozik, fontos gondoskodni arról, hogy az adatok biztonságosak legyenek, és jogosulatlan felhasználók vagy alkalmazások ne férhessenek hozzá. Az FHIR-kiszolgálók az OAuth 2.0-t használják az adatbiztonság biztosítására. Az Azure API for FHIR védelme az Azure Active Directoryval történik, amely példa egy OAuth 2.0-identitásszolgáltatóra. Ez a cikk áttekintést nyújt az FHIR-kiszolgáló engedélyezéséről, valamint az FHIR-kiszolgáló eléréséhez szükséges jogkivonat beszerzésének lépéseiről. Bár ezek a lépések minden FHIR-kiszolgálóra és identitásszolgáltatóra vonatkoznak, ebben a cikkben végigvezetjük az Azure API for FHIR-t FHIR-kiszolgálóként és az Azure Active Directoryt (Azure AD) identitásszolgáltatóként.

A hozzáférés-vezérlés áttekintése

Ahhoz, hogy egy ügyfélalkalmazás hozzáférjen az Azure API for FHIR-hez, be kell mutatnia egy hozzáférési jogkivonatot. A hozzáférési jogkivonat a tulajdonságok (jogcímek) aláírt , Base64 kódolású gyűjteménye, amely információkat közöl az ügyfél identitásáról, szerepköreiről és jogosultságairól.

A jogkivonatok beszerzésének számos módja van, de az FHIR-hez készült Azure API-t nem érdekli a jogkivonat beszerzése, amíg a megfelelő jogcímekkel rendelkező, megfelelően aláírt jogkivonatról van szó.

Például amikor engedélyezési kódfolyamatot használ, egy FHIR-kiszolgáló elérése az alábbi négy lépésen megy keresztül:

FHIR-engedélyezés

  1. Az ügyfél kérést küld a /authorize Azure AD végpontjának. Azure AD átirányítja az ügyfelet egy bejelentkezési oldalra, ahol a felhasználó a megfelelő hitelesítő adatokkal (például felhasználónév és jelszó vagy kétfaktoros hitelesítés) hitelesíti magát. Tekintse meg az engedélyezési kód beszerzésének részleteit. A sikeres hitelesítés után a rendszer egy engedélyezési kódot ad vissza az ügyfélnek. Azure AD csak az ügyfélalkalmazás-regisztrációban konfigurált regisztrált válasz URL-címre engedélyezi ezt az engedélyezési kódot.
  2. Az ügyfélalkalmazás kicseréli a hozzáférési jogkivonat engedélyezési kódját a /token Azure AD végpontján. Jogkivonat kérésekor előfordulhat, hogy az ügyfélalkalmazásnak meg kell adnia egy titkos ügyfélkulcsot (az alkalmazások jelszavát). Lásd a hozzáférési jogkivonat beszerzésének részleteit.
  3. Az ügyfél kérést intéz az Azure API for FHIR-hez, például GET /Patientaz összes beteg kereséséhez. Amikor az ügyfél végrehajtja a kérést, a hozzáférési jogkivonatot egy HTTP-kérés fejlécében tartalmazza, ahol például Authorization: Bearer eyJ0e...eyJ0e... a Base64 kódolású hozzáférési jogkivonatot jelöli.
  4. Az Azure API for FHIR ellenőrzi, hogy a jogkivonat megfelelő jogcímeket tartalmaz-e (tulajdonságok a jogkivonatban). Ha minden kivételt tartalmaz, akkor az elvégzi a kérést, és visszaad egy FHIR-csomagot az eredményekkel együtt az ügyfélnek.

Fontos megjegyezni, hogy az Azure API for FHIR nem vesz részt a felhasználói hitelesítő adatok érvényesítésében, és nem adja ki a jogkivonatot. A hitelesítést és a jogkivonatok létrehozását Azure AD végzi. Az Azure API for FHIR egyszerűen ellenőrzi, hogy a jogkivonat megfelelően van-e aláírva (hiteles), és hogy rendelkezik-e megfelelő jogcímekkel.

Hozzáférési jogkivonat struktúrája

A Fast Healthcare Interoperability Resources (FHIR®) alkalmazások fejlesztése gyakran magában foglalja a hozzáférési problémák hibakeresését. Ha egy ügyfél nem fér hozzá az Azure API for FHIR-hez, érdemes megismerni a hozzáférési jogkivonat struktúráját, és hogy hogyan dekódolható a jogkivonat tartalmának (jogcímeinek) vizsgálatához.

Az FHIR-kiszolgálók általában egy JSON-webtokenre (JWT, néha "jot") számítanak. Három részből áll:

1. rész: Egy fejléc, amely a következőképpen nézhet ki:

    {
      "alg": "HS256",
      "typ": "JWT"
    }

2. rész: A hasznos adatok (a jogcímek), például:

    {
     "oid": "123",
     "iss": "https://issuerurl",
     "iat": 1422779638,
     "roles": [
        "admin"
      ]
    }

3. rész: Egy aláírás, amelyet a fejléc Base64 kódolású tartalmának és hasznos adatainak összefűzésével és a fejlécben megadott algoritmus (alg) alapján számítunk ki. A kiszolgáló képes lesz nyilvános kulcsokat beszerezni az identitásszolgáltatótól, és ellenőrizni, hogy a jogkivonatot egy adott identitásszolgáltató adta-e ki, és nem módosították-e.

A teljes jogkivonat a három szegmens Base64 kódolású (valójában Base64 URL-kódolású) verzióiból áll. A három szegmens összefűzve és egy . ponttal (ponttal) elválasztva van.

Példa egy jogkivonatra a következő módon:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJvaWQiOiIxMjMiLCAiaXNzIjoiaHR0cHM6Ly9pc3N1ZXJ1cmwiLCJpYXQiOjE0MjI3Nzk2MzgsInJvbGVzIjpbImFkbWluIl19.gzSraSYS8EXBxLN_oWnFSRgCzcmJmMjLiuyu5CSpyHI

A jogkivonat dekódolható és megvizsgálható olyan eszközökkel, mint a https://jwt.ms. A jogkivonat dekódolásának eredménye:

{
  "alg": "HS256",
  "typ": "JWT"
}.{
  "oid": "123",
  "iss": "https://issuerurl",
  "iat": 1422779638,
  "roles": [
    "admin"
  ]
}.[Signature]

Hozzáférési jogkivonat beszerzése

Ahogy már említettük, a jogkivonatok többféleképpen is beszerezhetők Azure AD. Ezeket részletesen a Azure AD fejlesztői dokumentációban ismertetjük.

Használja az alábbi hitelesítési protokollok egyikét:

A jogkivonatok beszerzésének más változatai is vannak (például a folyamat miatt). Részletekért tekintse meg a Azure AD dokumentációját. Ha az Azure API for FHIR-t használja, néhány parancsikon használható hozzáférési jogkivonat beszerzésére (például hibakeresés céljából) az Azure CLI használatával.

Következő lépések

Ebben a dokumentumban megismert néhány alapvető fogalmat, amelyek az Azure API for FHIR-hez való hozzáférés Azure AD használatával történő biztonságossá tételével kapcsolatosak. További információ az Azure API for FHIR szolgáltatás üzembe helyezéséről:

Az FHIR® a HL7 bejegyzett védjegye, és a HL7 engedélyével használják.