Skip to content

Commit 8615362

Browse files
authored
Merge branch 'main' into tefa/signalr-cross-tenant-aad
2 parents 7a86888 + 717efc9 commit 8615362

17 files changed

+140
-224
lines changed

articles/azure-functions/functions-create-your-first-function-visual-studio.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ Your function definition should now look like the following code:
7777

7878
```csharp
7979
[Function("HttpExample")]
80-
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
80+
public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req)
8181
{
82-
return new OkObjectResult("Welcome to Azure Functions!");
82+
return new OkObjectResult("Hello, functions");
8383
}
8484
```
8585

articles/azure-functions/functions-infrastructure-as-code.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This article shows you how to automate the creation of resources and deployment
2020

2121
The template code required depends on the desired hosting options for your function app. This article supports the following hosting options:
2222

23-
| Hosting option | Deployment type | To learn more, see... |
23+
| Hosting option | Deployment type | Sample template |
2424
| ----- | ----- | ----- |
2525
| [Azure Functions Consumption plan](functions-infrastructure-as-code.md?pivots=consumption-plan) | Code-only | [Consumption plan](./consumption-plan.md) |
2626
| [Azure Functions Flex Consumption plan](functions-infrastructure-as-code.md?pivots=consumption-plan) | Code-only | [Flex Consumption plan](./flex-consumption-plan.md) |

articles/azure-functions/supported-languages.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ For more information on operating system and language support, see [Operating sy
3737

3838
When in-portal editing isn't available, you must instead [develop your functions locally](functions-develop-local.md#local-development-environments).
3939

40+
To learn more about how to maintain full-support coverage while running your functions in Azure, see our [language-support-policy](language-support-policy.md) article.
4041

4142
### Language major version support
4243

articles/azure-signalr/signalr-howto-authorize-application.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Authorize requests to Azure SignalR Service resources with Microsoft Entra applications
3-
description: This article provides information about authorizing requests to Azure SignalR Service resources by using Microsoft Entra applications.
3+
description: This article provides information about authorizing requests to Azure SignalR Service resources with Microsoft Entra applications.
44
author: terencefan
55
ms.author: tefa
66
ms.date: 03/12/2023
@@ -14,7 +14,7 @@ ms.custom: subject-rbac-steps
1414

1515
Azure SignalR Service supports Microsoft Entra ID for authorizing requests with [Microsoft Entra applications](/entra/identity-platform/app-objects-and-service-principals).
1616

17-
This article shows how to configure your Azure SignalR Service resource and codes to authorize requests to the resource from a Microsoft Entra application.
17+
This article explains how to set up your resource and code to authenticate requests to the resource using a Microsoft Entra application.
1818

1919
## Register an application in Microsoft Entra ID
2020

@@ -32,7 +32,6 @@ After registering an app, you can add **certificates, client secrets (a string),
3232
- [Add a client secret](/entra/identity-platform/quickstart-register-app?tabs=client-secret#add-credentials)
3333
- [Add a federated credential](/entra/identity-platform/quickstart-register-app?tabs=federated-credential#add-credentials)
3434

35-
3635
## Add role assignments in the Azure portal
3736

3837
[!INCLUDE [add role assignments](includes/signalr-add-role-assignments.md)]

articles/azure-signalr/signalr-howto-authorize-managed-identity.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Authorize requests to Azure SignalR Service resources with Microsoft Entra managed identities
3-
description: This article provides information about authorizing requests to Azure SignalR Service resources by using Microsoft Entra managed identities.
3+
description: This article provides information about authorizing requests to Azure SignalR resources with Managed identities for Azure resources.
44
author: terencefan
55
ms.author: tefa
66
ms.date: 03/12/2023
@@ -10,18 +10,19 @@ ms.devlang: csharp
1010
ms.custom: subject-rbac-steps
1111
---
1212

13-
# Authorize requests to Azure SignalR Service resources with Managed identities for Azure resources
13+
# Authorize requests to Azure SignalR resources with Managed identities for Azure resources
1414

1515
Azure SignalR Service supports Microsoft Entra ID for authorizing requests from [Managed identities for Azure resources](/entra/identity/managed-identities-azure-resources/overview).
1616

17-
This article shows how to configure your Azure SignalR Service resource and code to authorize requests to the resource from a managed identity.
17+
This article explains how to set up your resource and code to authorize requests to the resource using a managed identity.
1818

1919
## Configure managed identities
2020

2121
The first step is to configure managed identities on your app or virtual machine.
2222

2323
- [Configure managed identities for App Service and Azure Functions](/azure/app-service/overview-managed-identity)
24-
- [Configure managed identities for Azure resources on a virtual machine (VM)](/entra/identity/managed-identities-azure-resources/tutorial-windows-vm-access)
24+
- [Configure managed identities on Azure virtual machines (VMs)](/entra/identity/managed-identities-azure-resources/how-to-configure-managed-identities)
25+
- [Configure managed identities for Azure resources on a virtual machine scale set](/entra/identity/managed-identities-azure-resources/how-to-configure-managed-identities-scale-sets)
2526

2627
## Add role assignments in the Azure portal
2728

articles/azure-web-pubsub/concept-azure-ad-authorization.md

Lines changed: 17 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ _[1] security principal: a user/resource group, an application, or a service pri
2424

2525
Authentication is necessary to access a Web PubSub resource when using Microsoft Entra ID. This authentication involves two steps:
2626

27-
1. First, Azure authenticates the security principal and issues an OAuth 2.0 token.
27+
1. First, Azure authenticate the security principal and issues an OAuth 2.0 token.
2828
2. Second, the token is added to the request to the Web PubSub resource. The Web PubSub service uses the token to check if the service principal has the access to the resource.
2929

3030
### Client-side authentication while using Microsoft Entra ID
@@ -33,7 +33,7 @@ The negotiation server/Function App shares an access key with the Web PubSub res
3333

3434
However, access key is often disabled when using Microsoft Entra ID to improve security.
3535

36-
To address this issue, we have developed a REST API that generates a client token. This token can be used to connect to the Azure Web PubSub service.
36+
To address this issue, we developed a REST API that generates a client token. This token can be used to connect to the Azure Web PubSub service.
3737

3838
To use this API, the negotiation server must first obtain an **Microsoft Entra Token** from Azure to authenticate itself. The server can then call the Web PubSub Auth API with the **Microsoft Entra Token** to retrieve a **Client Token**. The **Client Token** is then returned to the client, who can use it to connect to the Azure Web PubSub service.
3939

@@ -45,7 +45,8 @@ Microsoft Entra authorizes access rights to secured resources through [Azure rol
4545

4646
### Resource scope
4747

48-
Before assigning an Azure RBAC role to a security principal, it's important to identify the appropriate level of access that the principal should have. It's recommended to grant the role with the narrowest possible scope. Resources located underneath inherit Azure RBAC roles with broader scopes.
48+
Before assigning an Azure RBAC role to a security principal, it's important to identify the appropriate level of access that the principal should have.
49+
It is recommended to grant the role to the most limited scope. Resources within it will inherit Azure RBAC roles assigned to the scope.
4950

5051
You can scope access to Azure Web PubSub resources at the following levels, beginning with the narrowest scope:
5152

@@ -67,36 +68,27 @@ You can scope access to Azure Web PubSub resources at the following levels, begi
6768

6869
## Azure built-in roles for Web PubSub resources
6970

70-
- `Web PubSub Service Owner`
71+
| Role | Description | Use case |
72+
| ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
73+
| [Web PubSub Service Owner](/azure/role-based-access-control/built-in-roles#web-pubsub-service-owner) | Full access to data-plane APIs, including read/write REST APIs and Auth APIs. | Most commonly used for building an upstream server that handles negotiation requests and client events. |
74+
| [Web PubSub Service Reader](/azure/role-based-access-control/built-in-roles#web-pubsub-service-reader) | Readonly access to data-plane APIs. | Use it when write a monitoring tool that calls readonly REST APIs.
7175

72-
Full access to data-plane permissions, including read/write REST APIs and Auth APIs.
7376

74-
This role is the most common used for building an upstream server.
77+
Learn how to create a custom role if the built-in roles do not meet your requirements.
7578

76-
- `Web PubSub Service Reader`
77-
78-
Use to grant read-only REST APIs permissions to Web PubSub resources.
79-
80-
It's used when you'd like to write a monitoring tool that calling **ONLY** Web PubSub data-plane **READONLY** REST APIs.
79+
[Azure custom roles: Steps to create a custom role](../role-based-access-control/custom-roles.md#steps-to-create-a-custom-role)
8180

8281
## Next steps
8382

84-
To learn how to create an Azure application and use Microsoft Entra authorization, see
85-
86-
- [Authorize request to Web PubSub resources with Microsoft Entra ID from applications](howto-authorize-from-application.md)
87-
88-
To learn how to configure a managed identity and use Microsoft Entra auth, see
89-
90-
- [Authorize request to Web PubSub resources with Microsoft Entra ID from managed identities](howto-authorize-from-managed-identity.md)
91-
92-
To learn more about roles and role assignments, see
83+
To learn how to use Microsoft Entra authentication with role-based access control, see
9384

94-
- [What is Azure role-based access control](../role-based-access-control/overview.md)
85+
- [Authorize requests to Azure Web PubSub resources with Microsoft Entra applications](howto-authorize-from-application.md)
86+
- [Authorize requests to Azure Web PubSub resources with Managed identities for Azure resources](howto-authorize-from-managed-identity.md)
9587

96-
To learn how to create custom roles, see
88+
To learn more about roles-based access control, see
9789

98-
- [Steps to create a custom role](../role-based-access-control/custom-roles.md#steps-to-create-a-custom-role)
90+
- [What is Azure role-based access control](../role-based-access-control/overview.md)
9991

100-
To learn how to use only Microsoft Entra authorization, see
92+
To learn how to disable the connection string and use only Microsoft Entra authentication, see
10193

102-
- [Disable local authentication](./howto-disable-local-auth.md)
94+
- [How to disable local authentication](./howto-disable-local-auth.md)

articles/azure-web-pubsub/howto-authorize-from-application.md

Lines changed: 17 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -1,119 +1,43 @@
11
---
22
title: Authorize an application request by using Microsoft Entra ID
3-
description: Learn how to authorize an application request to Web PubSub resources by using Microsoft Entra ID.
3+
description: This article provides information about authorizing requests to Azure Web PubSub resources with Microsoft Entra applications.
44
author: terencefan
55
ms.author: tefa
6-
ms.date: 10/12/2024
6+
ms.date: 03/11/2025
77
ms.service: azure-web-pubsub
88
ms.topic: conceptual
99
---
1010

11-
# Authorize an application request by using Microsoft Entra ID
11+
# Authorize requests to Azure Web PubSub resources with Microsoft Entra applications
1212

13-
Azure Web PubSub supports Microsoft Entra ID for authorizing requests from [applications](../active-directory/develop/app-objects-and-service-principals.md).
13+
Azure Web PubSub Service supports Microsoft Entra ID for authorizing requests with [Microsoft Entra applications](/entra/identity-platform/app-objects-and-service-principals).
1414

15-
This article shows you how to configure your Web PubSub resource and code to authorize a request to a Web PubSub resource from an Azure application.
1615

17-
## Register an application
16+
This article explains how to set up your resource and code to authenticate requests to the resource using a Microsoft Entra application.
1817

19-
The first step is to register an Azure application.
18+
## Register an application in Microsoft Entra ID
2019

21-
1. In the [Azure portal](https://portal.azure.com/), search for and then select **Microsoft Entra ID**.
22-
1. On the left menu under **Manage**, select **App registrations**.
23-
1. Select **New registration**.
24-
1. For **Name**, enter a name to use for your application.
25-
1. Select **Register** to confirm the application registration.
20+
The first step is to [Register an application in Microsoft Entra ID](/entra/identity-platform/quickstart-register-app):
2621

27-
:::image type="content" source="media/howto-authorize-from-application/register-an-application.png" alt-text="Screenshot that shows registering an application.":::
22+
After you register your application, you can find the **Application (client) ID** and **Directory (tenant) ID** values on the application's overview page. These GUIDs can be useful in the following steps.
2823

29-
When your application is registered, go to the application overview to view the values for **Application (client) ID** and **Directory (tenant) ID**. You use these values in the following sections.
30-
31-
:::image type="content" source="media/howto-authorize-from-application/application-overview.png" alt-text="Screenshot that shows an application.":::
32-
33-
For more information about registering an application, see the quickstart [Register an application by using the Microsoft identity platform](../active-directory/develop/quickstart-register-app.md).
24+
![Screenshot of overview information for a registered application.](./media/howto-authorize-from-application/application-overview.png)
3425

3526
## Add credentials
3627

37-
You can add both certificates and client secrets (a string) as credentials to your confidential client app registration.
38-
39-
For more information about adding credentials, see [Add credentials](../active-directory/develop/quickstart-register-app.md#add-credentials).
40-
41-
### Add a client secret
42-
43-
The application requires a client secret for a client to prove its identity when it requests a token.
44-
45-
To create a client secret:
46-
47-
1. On the left menu under **Manage**, select **Certificates & secrets**.
48-
1. On the **Client secrets** tab, select **New client secret**.
49-
50-
:::image type="content" source="media/howto-authorize-from-application/new-client-secret.png" alt-text="Screenshot that shows creating a client secret.":::
51-
52-
1. Enter a description for the client secret, and then choose an **Expires** time for the secret.
53-
1. Copy the value of the client secret and paste it in a secure location for later use.
54-
55-
> [!NOTE]
56-
> The secret is visible only when you create the secret. You can't view the client secret in the portal later.
57-
58-
### Add a certificate
59-
60-
You can upload a certificate instead of creating a client secret.
61-
62-
:::image type="content" source="media/howto-authorize-from-application/upload-certificate.png" alt-text="Screenshot that shows uploading a certificate.":::
63-
64-
## Add a role assignment in the Azure portal
65-
66-
This section demonstrates how to assign a Web PubSub Service Owner role to a service principal (application) for a Web PubSub resource.
67-
68-
> [!NOTE]
69-
> You can assign a role to any scope, including management group, subscription, resource group, and single resource. For more information about scope, see [Understand scope for Azure role-based access control](../role-based-access-control/scope-overview.md).
70-
71-
1. In the [Azure portal](https://portal.azure.com/), go to your Web PubSub resource.
72-
73-
1. On the left menu, select **Access control (IAM)** to display access control settings for the resource.
74-
75-
1. Select the **Role assignments** tab and view the role assignments at this scope.
76-
77-
The following figure shows an example of the **Access control (IAM)** pane for a Web PubSub resource:
78-
79-
:::image type="content" source="media/howto-authorize-from-application/access-control.png" alt-text="Screenshot that shows an example of the Access control (IAM) pane.":::
80-
81-
1. Select **Add** > **Add role assignment**.
82-
83-
1. Select the **Roles** tab, and then select **Web PubSub Service Owner**.
84-
85-
1. Select **Next**.
86-
87-
:::image type="content" source="media/howto-authorize-from-application/add-role-assignment.png" alt-text="Screenshot that shows adding a role assignment.":::
88-
89-
1. Select the **Members** tab. Under **Assign access to**, select **User, group, or service principal**.
90-
91-
1. Choose **Select members**.
92-
93-
1. Search for and select the application to assign the role to.
94-
95-
1. Choose **Select** to confirm the selection.
96-
97-
1. Select **Next**.
98-
99-
:::image type="content" source="media/howto-authorize-from-application/assign-role-to-service-principals.png" alt-text="Screenshot that shows assigning a role to service principals.":::
100-
101-
1. Select **Review + assign** to confirm the change.
28+
After registering an app, you can add **certificates, client secrets (a string), or federated identity credentials** as credentials to your confidential client app registration. Credentials allow your application to authenticate as itself, requiring no interaction from a user at runtime, and are used by confidential client applications that access a web API.
10229

103-
> [!IMPORTANT]
104-
> Azure role assignments might take up to 30 minutes to propagate.
30+
- [Add a certificate](/entra/identity-platform/quickstart-register-app?tabs=certificate#add-credentials)
31+
- [Add a client secret](/entra/identity-platform/quickstart-register-app?tabs=client-secret#add-credentials)
32+
- [Add a federated credential](/entra/identity-platform/quickstart-register-app?tabs=federated-credential#add-credentials)
10533

106-
To learn more about how to assign and manage Azure role assignments, see these articles:
34+
## Add role assignments in the Azure portal
10735

108-
- [Assign Azure roles by using the Azure portal](../role-based-access-control/role-assignments-portal.yml)
109-
- [Assign Azure roles by using REST API](../role-based-access-control/role-assignments-rest.md)
110-
- [Assign Azure roles by using Azure PowerShell](../role-based-access-control/role-assignments-powershell.md)
111-
- [Assign Azure roles by using the Azure CLI](../role-based-access-control/role-assignments-cli.md)
112-
- [Assign Azure roles by using an Azure Resource Manager template](../role-based-access-control/role-assignments-template.md)
36+
[!INCLUDE [add role assignments](includes/web-pubsub-add-role-assignments.md)]
11337

114-
## Code samples that use Microsoft Entra authorization
38+
## Code samples with Microsoft Entra authorization
11539

116-
Get samples that use Microsoft Entra authorization in our four officially supported programming languages:
40+
Check out our samples that show how to use Microsoft Entra authorization in programming languages we officially support.
11741

11842
- [C#](./howto-create-serviceclient-with-net-and-azure-identity.md)
11943
- [Python](./howto-create-serviceclient-with-python-and-azure-identity.md)

0 commit comments

Comments
 (0)