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
title: Azure Active Directory authentication with Azure confidential ledger
3
-
description: Azure Active Directory authentication with Azure confidential ledger
2
+
title: Microsoft Entra authentication with Azure confidential ledger
3
+
description: Microsoft Entra authentication with Azure confidential ledger
4
4
services: confidential-ledger
5
5
author: msmbaldwin
6
6
ms.service: confidential-ledger
@@ -9,85 +9,93 @@ ms.date: 07/12/2022
9
9
ms.author: mbaldwin
10
10
11
11
---
12
-
# Azure confidential ledger authentication with Azure Active Directory (Azure AD)
12
+
# Azure confidential ledger authentication with Microsoft Entra ID
13
13
14
-
The recommended way to access Azure confidential ledger is by authenticating to the **Azure Active Directory (Azure AD)** service; doing so guarantees that Azure confidential ledger never gets the accessing principal's directory credentials.
14
+
The recommended way to access Azure confidential ledger is by authenticating to the **Microsoft Entra ID** service; doing so guarantees that Azure confidential ledger never gets the accessing principal's directory credentials.
15
15
16
16
To do so, the client performs a two-steps process:
17
17
18
18
1. In the first step, the client:
19
-
1. Communicates with the Azure AD service.
20
-
1. Authenticates to the Azure AD service.
19
+
1. Communicates with the Microsoft Entra service.
20
+
1. Authenticates to the Microsoft Entra service.
21
21
1. Requests an access token issued specifically for Azure confidential ledger.
22
22
1. In the second step, the client issues requests to Azure confidential ledger, providing the access token acquired in the first step as a proof of identity to Azure confidential ledger.
23
23
24
-
Azure confidential ledger then executes the request on behalf of the security principal for which Azure AD issued the access token. All authorization checks are performed using this identity.
24
+
Azure confidential ledger then executes the request on behalf of the security principal for which Microsoft Entra ID issued the access token. All authorization checks are performed using this identity.
25
25
26
26
In most cases, the recommendation is to use one of Azure confidential ledger SDKs to access the service programmatically, as they remove much of the hassle of implementing the
27
27
flow above (and much more). See, for example, the [Python client library](https://pypi.org/project/azure-confidentialledger/) and [.NET client library](/dotnet/api/azure.security.confidentialledger).
28
28
29
29
The main authenticating scenarios are:
30
30
31
-
-**A client application authenticating a signed-in user**: In this scenario, an interactive (client) application triggers an Azure AD prompt to the user for credentials (such as username and password). See [user authentication](#user-authentication).
31
+
-**A client application authenticating a signed-in user**: In this scenario, an interactive (client) application triggers a Microsoft Entra prompt to the user for credentials (such as username and password). See [user authentication](#user-authentication).
32
32
33
-
-**A "headless" application**: In this scenario, an application is running with no user present to provide credentials. Instead the application authenticates as "itself" to Azure AD using some credentials it has been configured with. See [application authentication](#application-authentication).
33
+
-**A "headless" application**: In this scenario, an application is running with no user present to provide credentials. Instead the application authenticates as "itself" to Microsoft Entra ID using some credentials it has been configured with. See [application authentication](#application-authentication).
34
34
35
-
-**On-behalf-of authentication**. In this scenario, sometimes called the "web service" or "web app" scenario, the application gets an Azure AD access token from another application, and then "converts" it to another Azure AD access token that can be used with Azure confidential ledger. In other words, the application acts as a mediator between the user or application that provided credentials and the Azure confidential ledger service. See [on-behalf-of authentication](#on-behalf-of-authentication).
35
+
-**On-behalf-of authentication**. In this scenario, sometimes called the "web service" or "web app" scenario, the application gets a Microsoft Entra access token from another application, and then "converts" it to another Microsoft Entra access token that can be used with Azure confidential ledger. In other words, the application acts as a mediator between the user or application that provided credentials and the Azure confidential ledger service. See [on-behalf-of authentication](#on-behalf-of-authentication).
36
36
37
-
## Azure AD parameters
37
+
<aname='azure-ad-parameters'></a>
38
38
39
-
### Azure AD resource for Azure confidential ledger
39
+
##Microsoft Entra parameters
40
40
41
-
When acquiring an access token from Azure AD, the client must indicate which *Azure AD resource* the token should be issued to. The Azure AD resource of an Azure confidential ledger endpoint is the URI of the endpoint, barring the port information and the path.
### Microsoft Entra resource for Azure confidential ledger
44
+
45
+
When acquiring an access token from Microsoft Entra ID, the client must indicate which *Microsoft Entra resource* the token should be issued to. The Microsoft Entra resource of an Azure confidential ledger endpoint is the URI of the endpoint, barring the port information and the path.
42
46
43
47
For example, if you had an Azure confidential ledger called "myACL", the URI would be:
44
48
45
49
```txt
46
50
https://myACL.confidential-ledger.azure.com
47
51
```
48
52
49
-
### Azure AD tenant ID
53
+
<aname='azure-ad-tenant-id'></a>
50
54
51
-
Azure AD is a multi-tenant service, and every organization can create an object called **directory** in Azure AD. The directory object holds security-related objects such as user accounts, applications, and groups. Azure AD often refers to the directory as a **tenant**. Azure AD tenants are identified by a GUID (**tenant ID**). In many cases, Azure AD tenants can also be identified by the domain name of the organization.
55
+
### Microsoft Entra tenant ID
56
+
57
+
Microsoft Entra ID is a multi-tenant service, and every organization can create an object called **directory** in Microsoft Entra ID. The directory object holds security-related objects such as user accounts, applications, and groups. Microsoft Entra ID often refers to the directory as a **tenant**. Microsoft Entra tenants are identified by a GUID (**tenant ID**). In many cases, Microsoft Entra tenants can also be identified by the domain name of the organization.
52
58
53
59
For example, an organization called "Contoso" might have the tenant ID `4da81d62-e0a8-4899-adad-4349ca6bfe24` and the domain name `contoso.com`.
54
60
55
-
### Azure AD authority endpoint
61
+
<aname='azure-ad-authority-endpoint'></a>
62
+
63
+
### Microsoft Entra authority endpoint
56
64
57
-
Azure AD has many endpoints for authentication:
65
+
Microsoft Entra ID has many endpoints for authentication:
58
66
59
-
- When the tenant hosting the principal being authenticated is known (in other words, when one knows which Azure AD directory the user or application are in), the Azure AD endpoint is `https://login.microsoftonline.com/{tenantId}`. Here, `{tenantId}` is either the organization's tenant ID in Azure AD, or its domain name (for example, `contoso.com`).
67
+
- When the tenant hosting the principal being authenticated is known (in other words, when one knows which Microsoft Entra directory the user or application are in), the Microsoft Entra endpoint is `https://login.microsoftonline.com/{tenantId}`. Here, `{tenantId}` is either the organization's tenant ID in Microsoft Entra ID, or its domain name (for example, `contoso.com`).
60
68
- When the tenant hosting the principal being authenticated isn't known, the "common" endpoint can be used by replacing the `{tenantId}` above with the value `common`.
61
69
62
-
The Azure AD service endpoint used for authentication is also called *Azure AD authority URL* or simply **Azure AD authority**.
70
+
The Microsoft Entra service endpoint used for authentication is also called *Microsoft Entra authority URL* or simply **Microsoft Entra authority**.
63
71
64
72
> [!NOTE]
65
-
> The Azure AD service endpoint changes in national clouds. When working with an Azure confidential ledger service deployed in a national cloud, please set the corresponding national cloud Azure AD service endpoint. To change the endpoint, set an environment variable `AadAuthorityUri` to the required URI.
73
+
> The Microsoft Entra service endpoint changes in national clouds. When working with an Azure confidential ledger service deployed in a national cloud, please set the corresponding national cloud Microsoft Entra service endpoint. To change the endpoint, set an environment variable `AadAuthorityUri` to the required URI.
66
74
67
75
## User authentication
68
76
69
-
The easiest way to access Azure confidential ledger with user authentication is to use the Azure confidential ledger SDK and set the `Federated Authentication` property of the Azure confidential ledger connection string to `true`. The first time the SDK is used to send a request to the service the user will be presented with a sign-in form to enter the Azure AD credentials. Following a successful authentication the request will be sent to Azure confidential ledger.
77
+
The easiest way to access Azure confidential ledger with user authentication is to use the Azure confidential ledger SDK and set the `Federated Authentication` property of the Azure confidential ledger connection string to `true`. The first time the SDK is used to send a request to the service the user will be presented with a sign-in form to enter the Microsoft Entra credentials. Following a successful authentication the request will be sent to Azure confidential ledger.
70
78
71
-
Applications that don't use the Azure confidential ledger SDK can still use the [Microsoft Authentication Library (MSAL)](../active-directory/develop/msal-overview.md) instead of implementing the Azure AD service security protocol client. See [Enable your Web Apps to sign-in users and call APIs with the Microsoft identity platform for developers](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2).
79
+
Applications that don't use the Azure confidential ledger SDK can still use the [Microsoft Authentication Library (MSAL)](../active-directory/develop/msal-overview.md) instead of implementing the Microsoft Entra service security protocol client. See [Enable your Web Apps to sign-in users and call APIs with the Microsoft identity platform for developers](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2).
72
80
73
81
If your application is intended to serve as front-end and authenticate users for an Azure confidential ledger cluster, the application must be granted delegated permissions on Azure confidential ledger.
74
82
75
83
## Application authentication
76
84
77
-
Applications that use Azure confidential ledger authenticate by using a token from Azure Active Directory. The owner of the application must first register it in Azure Active Directory. Registration also creates a second application object that identifies the app across all tenants.
85
+
Applications that use Azure confidential ledger authenticate by using a token from Microsoft Entra ID. The owner of the application must first register it in Microsoft Entra ID. Registration also creates a second application object that identifies the app across all tenants.
78
86
79
-
For detailed steps on registering an Azure confidential ledger application with Azure Active Directory, review these articles:
87
+
For detailed steps on registering an Azure confidential ledger application with Microsoft Entra ID, review these articles:
80
88
81
-
-[How to register an Azure confidential ledger application with Azure AD](register-application.md)
82
-
-[Use portal to create an Azure AD application and service principal that can access resources](../active-directory/develop/howto-create-service-principal-portal.md)
89
+
-[How to register an Azure confidential ledger application with Microsoft Entra ID](register-application.md)
90
+
-[Use portal to create a Microsoft Entra application and service principal that can access resources](../active-directory/develop/howto-create-service-principal-portal.md)
83
91
-[Create an Azure service principal with the Azure CLI](/cli/azure/create-an-azure-service-principal-azure-cli).
84
92
85
93
At the end of registration, the application owner gets the following values:
86
94
87
-
- An **Application ID** (also known as the Azure Active Directory Client ID or appID)
95
+
- An **Application ID** (also known as the Microsoft Entra Client ID or appID)
88
96
- An **authentication key** (also known as the shared secret).
89
97
90
-
The application must present both these values to Azure Active Directory to get a token.
98
+
The application must present both these values to Microsoft Entra ID to get a token.
91
99
92
100
The Azure confidential ledger SDKs use Azure Identity client library, which allows seamless authentication to Azure confidential ledger across environments with same code.
93
101
@@ -97,15 +105,15 @@ The Azure confidential ledger SDKs use Azure Identity client library, which allo
97
105
98
106
## On-behalf-of authentication
99
107
100
-
In this scenario, an application was sent an Azure AD access token for some arbitrary resource managed by the application, and it uses that token to acquire a new Azure AD access token for the Azure confidential ledger resource so that the application could access the confidential ledger on behalf of the principal indicated by the original Azure AD access token.
108
+
In this scenario, an application was sent a Microsoft Entra access token for some arbitrary resource managed by the application, and it uses that token to acquire a new Microsoft Entra access token for the Azure confidential ledger resource so that the application could access the confidential ledger on behalf of the principal indicated by the original Microsoft Entra access token.
101
109
102
-
This flow is called the[OAuth2 token exchange flow](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-04). It generally requires multiple configuration steps with Azure AD, and in some cases(depending on the Azure AD tenant configuration) might require special consent from the administrator of the Azure AD tenant.
110
+
This flow is called the[OAuth2 token exchange flow](https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-04). It generally requires multiple configuration steps with Microsoft Entra ID, and in some cases(depending on the Microsoft Entra tenant configuration) might require special consent from the administrator of the Microsoft Entra tenant.
103
111
104
112
## Next steps
105
113
106
-
-[How to register an Azure confidential ledger application with Azure AD](register-application.md)
114
+
-[How to register an Azure confidential ledger application with Microsoft Entra ID](register-application.md)
107
115
-[Overview of Microsoft Azure confidential ledger](overview.md)
108
-
-[Integrating applications with Azure Active Directory](../active-directory/develop/quickstart-register-app.md)
109
-
-[Use portal to create an Azure AD application and service principal that can access resources](../active-directory/develop/howto-create-service-principal-portal.md)
116
+
-[Integrating applications with Microsoft Entra ID](../active-directory/develop/quickstart-register-app.md)
117
+
-[Use portal to create a Microsoft Entra application and service principal that can access resources](../active-directory/develop/howto-create-service-principal-portal.md)
110
118
-[Create an Azure service principal with the Azure CLI](/cli/azure/create-an-azure-service-principal-azure-cli).
# Manage Azure AD token-based users in Azure confidential ledger
12
+
# Manage Microsoft Entra token-based users in Azure confidential ledger
13
13
14
-
Azure AD-based users are identified by their Azure AD object ID.
14
+
Microsoft Entra ID-based users are identified by their Microsoft Entra object ID.
15
15
16
16
Users with Administrator privileges can manage users of the confidential ledger. Available roles are Reader (read-only), Contributor (read and write), and Administrator (read, write, and manage users).
17
17
@@ -352,5 +352,5 @@ main().catch((err) => {
352
352
353
353
## Next steps
354
354
355
-
-[Register an ACL app with Azure AD](register-application.md)
355
+
-[Register an ACL app with Microsoft Entra ID](register-application.md)
Copy file name to clipboardExpand all lines: articles/confidential-ledger/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,7 +32,7 @@ The confidential ledger is exposed through REST APIs which can be integrated int
32
32
33
33
## Ledger security
34
34
35
-
The ledger APIs support certificate-based authentication process with owner roles as well as Azure Active Directory (AAD) based authentication and also role-based access (for example, owner, reader, and contributor).
35
+
The ledger APIs support certificate-based authentication process with owner roles as well as Microsoft Entra ID based authentication and also role-based access (for example, owner, reader, and contributor).
36
36
37
37
The data to the ledger is sent through TLS 1.3 connection and the TLS 1.3 connection terminates inside the hardware backed security enclaves (Intel® SGX enclaves). This ensures that no one can intercept the connection between a customer's client and the confidential ledger server nodes.
Copy file name to clipboardExpand all lines: articles/confidential-ledger/quickstart-cli.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -25,7 +25,7 @@ For more information on Azure confidential ledger, and for examples of what can
25
25
26
26
## Get your principal ID
27
27
28
-
To create a confidential ledger, you'll need your Azure Active Directory principal ID (also called your object ID). To obtain your principal ID, use the Azure CLI [az ad signed-in-user](/cli/azure/ad/signed-in-user) command, and filter the results by `objectId`:
28
+
To create a confidential ledger, you'll need your Microsoft Entra principal ID (also called your object ID). To obtain your principal ID, use the Azure CLI [az ad signed-in-user](/cli/azure/ad/signed-in-user) command, and filter the results by `objectId`:
Copy file name to clipboardExpand all lines: articles/confidential-ledger/quickstart-portal.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,9 +36,9 @@ Sign in to the [Azure portal](https://portal.azure.com).
36
36
37
37
1. Select the **Security** tab.
38
38
39
-
1. You must now add an Azure AD-based or certificate-based user to your confidential ledger with a role of "Administrator." In this quickstart, we'll add an Azure AD-based user. Select **+ Add AAD-Based User**.
39
+
1. You must now add a Microsoft Entra ID-based or certificate-based user to your confidential ledger with a role of "Administrator." In this quickstart, we'll add a Microsoft Entra ID-based user. Select **+ Add Microsoft Entra ID-Based User**.
40
40
41
-
1. You must add an Azure AD-based or Certificate-based user. Search the right-hand pane for your email address. Select your row, and then choose **Select** at the bottom of the pane. Your user profile may already be in the Azure AD-based user section, in which case you cannot add yourself again.
41
+
1. You must add a Microsoft Entra ID-based or Certificate-based user. Search the right-hand pane for your email address. Select your row, and then choose **Select** at the bottom of the pane. Your user profile may already be in the Microsoft Entra ID-based user section, in which case you cannot add yourself again.
42
42
43
43
1. In the **Ledger Role** drop-down field, select **Administrator**.
0 commit comments