You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/healthcare-apis/access-healthcare-apis.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
2
title: Access Azure Health Data Services
3
-
description: Learn to access the FHIR, DICOM, and MedTech services in Azure Health Data Services by using Postman, cURL, REST Client, and programming languages like Python and C# for efficient data management.
3
+
description: Learn how to access the FHIR, DICOM, and MedTech services in Azure Health Data Services by using Postman, cURL, REST Client, and programming languages like Python and C# for efficient data management.
4
4
services: healthcare-apis
5
-
author: cmsjasteppe
5
+
author: msjasteppe
6
6
ms.service: healthcare-apis
7
7
ms.subservice: fhir
8
8
ms.topic: conceptual
@@ -12,7 +12,7 @@ ms.author: jasteppe
12
12
13
13
# Access Azure Health Data Services
14
14
15
-
After you deploy a FHIR® service, DICOM® service, or MedTech service, you can then access it in your applications by using tools like Postman, cURL, REST Client in Visual Studio Code, or with programming languages such as Python and C#.
15
+
After you deploy a FHIR® service, DICOM® service, or MedTech service, you can then access it in your applications by using tools like Postman, cURL, REST Client in Visual Studio Code, or with programming languages such as Python or C#.
Copy file name to clipboardExpand all lines: articles/healthcare-apis/authentication-authorization.md
+27-30Lines changed: 27 additions & 30 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
-
title: Authentication and authorization
3
-
description: This article provides an overview of the authentication and authorization of Azure Health Data Services.
2
+
title: Authentication and authorization in Azure Health Data Services
3
+
description: Learn how to manage access to Azure Health Data Services by using Microsoft Entra ID, assign application roles, and secure your data with OAuth 2.0 protocols and managed identities.
4
4
services: healthcare-apis
5
-
author: chachachachami
5
+
author: EXPEkesheth
6
6
ms.service: healthcare-apis
7
7
ms.topic: overview
8
-
ms.date: 06/06/2022
9
-
ms.author: chrupa
8
+
ms.date: 04/30/2024
9
+
ms.author: kesheth
10
10
---
11
11
12
12
# Authentication and authorization for Azure Health Data Services
@@ -15,39 +15,37 @@ ms.author: chrupa
15
15
16
16
Azure Health Data Services is a collection of secured managed services using [Microsoft Entra ID](../active-directory/index.yml), a global identity provider that supports [OAuth 2.0](https://oauth.net/2/).
17
17
18
-
For Azure Health Data Services to access Azure resources, such as storage accounts and event hubs, you must **enable the system managed identity**, and **grant proper permissions** to the managed identity. For more information, see [Azure managed identities](../active-directory/managed-identities-azure-resources/overview.md).
19
-
20
-
Azure Health Data Services doesn't support other identity providers. However, you can use their own identity provider to secure applications, and enable them to interact with the Health Data Services by managing client applications and user data access controls.
18
+
For Azure Health Data Services to access Azure resources, such as storage accounts and event hubs, you need to enable the system managed identity and grant proper permissions to the managed identity. For more information, see [Azure managed identities](../active-directory/managed-identities-azure-resources/overview.md).
21
19
22
20
The client applications are registered in the Microsoft Entra ID and can be used to access the Azure Health Data Services. User data access controls are done in the applications or services that implement business logic.
23
21
24
22
### Application roles
25
23
26
-
Authenticated users and client applications of the Azure Health Data Services must be granted with proper application roles.
24
+
Authenticated users and client applications of the Azure Health Data Services must be assigned to the proper application role.
27
25
28
-
FHIR service of Azure Health Data Services provides the following roles:
26
+
The FHIR® service in Azure Health Data Services provides these roles:
29
27
30
-
***FHIR Data Reader**: Can read (and search) FHIR data.
31
-
***FHIR Data Writer**: Can read, write, and soft delete FHIR data.
32
-
***FHIR Data Exporter**: Can read and export ($export operator) data.
33
-
***FHIR Data Importer**: Can read and import ($import operator) data.
34
-
***FHIR Data Contributor**: Can perform all data plane operations.
35
-
***FHIR Data Converter**: Can use the converter to perform data conversion.
36
-
***FHIR SMART User**: Role allows user to read and write FHIR data according to the[SMART IG V1.0.0 specifications](http://hl7.org/fhir/smart-app-launch/1.0.0/).
28
+
***FHIR Data Reader**: Read and search FHIR data.
29
+
***FHIR Data Writer**: Read, write, and soft delete FHIR data.
30
+
***FHIR Data Exporter**: Read and export ($export operator) data.
31
+
***FHIR Data Importer**: Read and import ($import operator) data.
32
+
***FHIR Data Contributor**: Perform all data plane operations.
33
+
***FHIR Data Converter**: Use the converter to perform data conversion.
34
+
***FHIR SMART User**: Allows user to read and write FHIR data according to [SMART IG V1.0.0 specifications](http://hl7.org/fhir/smart-app-launch/1.0.0/).
37
35
38
-
DICOM service of Azure Health Data Services provides the following roles:
36
+
The DICOM® service in Azure Health Data Services provides the following roles:
39
37
40
-
***DICOM Data Owner**: Can read, write, and delete DICOM data.
41
-
***DICOM Data Read**: Can read DICOM data.
38
+
***DICOM Data Owner**: Read, write, and delete DICOM data.
39
+
***DICOM Data Read**: Read DICOM data.
42
40
43
-
The MedTech service doesn't require application roles, but it does rely on the "Azure Event Hubs Data Receiver" to retrieve data stored in the event hub of the customer's subscription.
41
+
The MedTech service doesn't require application roles, but it does rely on **Azure Event Hubs Data Receiver** to retrieve data stored in the event hub of your organization's subscription.
44
42
45
43
## Authorization
46
44
47
-
After being granted with proper application roles, the authenticated users and client applications can access Azure Health Data Services by obtaining a **valid access token** issued by Microsoft Entra ID, and perform specific operations defined by the application roles.
45
+
After being granted with proper application roles, the authenticated users and client applications can access Azure Health Data Services by obtaining a valid access token issued by Microsoft Entra ID, and perform specific operations defined by the application roles.
48
46
49
-
* For FHIR service, the access token is specific to the service or resource.
50
-
* For DICOM service, the access token is granted to the `dicom.healthcareapis.azure.com` resource, not a specific service.
47
+
* For the FHIR service, the access token is specific to the service or resource.
48
+
* For the DICOM service, the access token is granted to the `dicom.healthcareapis.azure.com` resource, not a specific service.
51
49
* For MedTech service, the access token isn’t required because it isn’t exposed to the users or client applications.
52
50
53
51
### Steps for authorization
@@ -60,11 +58,11 @@ Here's how an access token for Azure Health Data Services is obtained using **au
60
58
61
59
2.**The client application exchanges the authorization code for an access token at the Microsoft Entra token endpoint.** When the client application requests a token, the application might have to provide a client secret (which you can add during application registration).
62
60
63
-
3.**The client makes a request to the Azure Health Data Services**, for example, a `GET` request to search all patients in the FHIR service. The request **includes the access token in an `HTTP` request header**, for example, **`Authorization: Bearer xxx`**.
61
+
3.**The client makes a request to the Azure Health Data Services**, for example, a `GET` request to search all patients in the FHIR service. The request includes the access token in an `HTTP` request header, for example, `Authorization: Bearer xxx`.
64
62
65
63
4.**Azure Health Data Services validates that the token contains appropriate claims (properties in the token).** If it’s valid, it completes the request and returns data to the client.
66
64
67
-
In the **client credentials flow**, permissions are granted directly to the application itself. When the application presents a token to a resource, the resource enforces that the application itself has authorization to perform an action since there’s no user involved in the authentication. Therefore, it’s different from the **authorization code flow** in the following ways:
65
+
In the **client credentials flow**, permissions are granted directly to the application itself. When the application presents a token to a resource, the resource enforces that the application itself has authorization to perform an action since there’s no user involved in the authentication. Therefore, it’s different from the authorization code flow in these ways:
68
66
69
67
- The user or the client doesn’t need to sign in interactively.
70
68
- The authorization code isn’t required.
@@ -82,9 +80,6 @@ Azure Health Data Services typically expects a [JSON Web Token](https://en.wikip
82
80
83
81
:::image type="content" source="media/azure-access-token.png" alt-text="Screenshot showing web token signature":::
84
82
85
-
86
-
[JASON web token signature.](media/azure-access-token.png)](media/azure-access-token.png#lightbox)
87
-
88
83
Use online tools such as [https://jwt.ms](https://jwt.ms/) to view the token content. For example, you can view the claims details.
89
84
90
85
|**Claim type**|**Value**|**Notes**|
@@ -119,6 +114,8 @@ When you create a new service of Azure Health Data Services, your data is encryp
119
114
120
115
## Next steps
121
116
122
-
[Deploy Azure Health Data Services workspace using the Azure portal](healthcare-apis-quickstart.md)
117
+
[Deploy Azure Health Data Services workspace by using the Azure portal](healthcare-apis-quickstart.md)
118
+
119
+
[Use Azure Active Directory B2C to grant access to the FHIR service](fhir/azure-ad-b2c-setup.md)
123
120
124
121
[!INCLUDE [FHIR and DICOM trademark statement](./includes/healthcare-apis-fhir-dicom-trademark.md)]
0 commit comments