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/azure-signalr/howto-network-access-control.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
@@ -36,14 +36,14 @@ You can manage network access control for Azure SignalR Service through the Azur
36
36
37
37
1. Go to the Azure SignalR Service you want to secure.
38
38
39
-
1.Click on the settings menu called **Network access control**.
39
+
1.Select on the settings menu called **Network access control**.
40
40
41
41

42
42
43
43
1. To edit default action, toggle the **Allow/Deny** button.
44
44
45
45
> [!TIP]
46
-
> Default action is the action we take when there is no ACL rule matches. For example, if the default action is **Deny**, then request types that are not explicitly approved below will be denied.
46
+
> The default action is the action the service takes when there is no ACL rule matches. For example, if the default action is **Deny**, then the request types that are not explicitly approved will be denied.
47
47
48
48
1. To edit public network rule, select allowed types of requests under **Public network**.
49
49
@@ -53,7 +53,7 @@ You can manage network access control for Azure SignalR Service through the Azur
53
53
54
54

Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-concept-internals.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
@@ -28,7 +28,7 @@ A self-hosted ASP.NET Core SignalR application server listens to and connects cl
28
28
With SignalR Service, the application server no longer accepts persistent client connections, instead:
29
29
30
30
1. A `negotiate` endpoint is exposed by Azure SignalR Service SDK for each hub.
31
-
1. The endpoint will respond to client's negotiation requests and redirect clients to SignalR Service.
31
+
1. The endpoint responds to client's negotiation requests and redirect clients to SignalR Service.
32
32
1. The clients connect to SignalR Service.
33
33
34
34
For more information, see [Client connections](#client-connections).
@@ -82,14 +82,14 @@ To learn more about ASP.NET Core SignalR's, see [Transport Protocols](https://gi
82
82
83
83
## Data transmission between client and server
84
84
85
-
When a client is connected to the SignalR Service, the service runtime will find a server connection to serve this client.
85
+
When a client is connected to the SignalR Service, the service runtime finds a server connection to serve this client.
86
86
87
87
- This step happens only once, and is a one-to-one mapping between the client and server connection.
88
88
- The mapping is maintained in SignalR Service until the client or server disconnects.
89
89
90
90
At this point, the application server receives an event with information from the new client. A logical connection to the client is created in the application server. The data channel is established from client to application server, via SignalR Service.
91
91
92
-
SignalR Service transmits data from the client to the pairing application server. Data from the application server will be sent to the mapped clients.
92
+
SignalR Service transmits data from the client to the pairing application server. Data from the application server is sent to the mapped clients.
93
93
94
94
SignalR Service doesn't save or store customer data, all customer data received is transmitted to target server or clients in real-time.
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-howto-authorize-managed-identity.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
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Authorize request to SignalR resources with Azure AD from managed identities
2
+
title: Authorize managed identity requests to a SignalR resource
3
3
description: This article provides information about authorizing request to SignalR resources with Azure AD from managed identities
4
4
author: vicancy
5
5
ms.author: lianwei
@@ -10,7 +10,7 @@ ms.devlang: csharp
10
10
ms.custom: subject-rbac-steps
11
11
---
12
12
13
-
# Authorize request to SignalR resources with Azure AD from managed identities
13
+
# Authorize managed identity requests to a SignalR resource
14
14
15
15
Azure SignalR Service supports Azure Active Directory (Azure AD) authorizing requests from Azure resources using [Managed identities for Azure resources
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-howto-key-rotation.md
+6-11Lines changed: 6 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,19 +1,18 @@
1
1
---
2
-
title: How to rotate access key for Azure SignalR Service
2
+
title: Rotate access keys for Azure SignalR Service
3
3
description: An overview on why the customer needs to routinely rotate the access keys and how to do it with the Azure portal GUI and the Azure CLI.
4
4
author: vicancy
5
5
ms.service: signalr
6
6
ms.topic: how-to
7
7
ms.date: 07/18/2022
8
8
ms.author: lianwei
9
9
---
10
-
# How to rotate access key for Azure SignalR Service
10
+
# Rotate access keys for Azure SignalR Service
11
11
12
-
Each Azure SignalR Service instance has a pair of access keys called Primary and Secondary keys. They're used to authenticate SignalR clients when requests are made to the service. The keys are associated with the instance endpoint URL. Keep your keys secure, and rotate them regularly. You're provided with two access keys so that you can maintain connections by using one key while regenerating the other.
12
+
For security reasons and compliance requirements, it is important to routinely rotate your access keys. This article describes how to rotate access keys for Azure SignalR Service.
13
13
14
-
## Why rotate access keys?
14
+
Each Azure SignalR Service instance has a primary and a secondary key. They're used to authenticate SignalR clients when requests are made to the service. The keys are associated with the instance endpoint URL. Keep your keys secure, and rotate them regularly. You're provided with two access keys so that you can maintain connections by using one key while regenerating the other.
15
15
16
-
For security reasons and compliance requirements, routinely rotate your access keys.
17
16
18
17
## Regenerate access keys
19
18
@@ -41,16 +40,12 @@ You also can regenerate keys by using the [Azure CLI](/cli/azure/signalr/key#az-
41
40
42
41
## Forced access key regeneration
43
42
44
-
Azure SignalR Service might enforce a mandatory access key regeneration under certain situations. The service notifies customers via email and portal notification. If you receive this communication or encounter service failure due to an access key, rotate the keys by following the instructions in this guide.
43
+
The Azure SignalR Service can enforce a mandatory access key regeneration under certain situations. The service notifies customers of mandatory key regeneration via email and portal notification. If you receive this communication or encounter service failure due to an access key, rotate the keys by following the instructions in this guide.
45
44
46
45
## Next steps
47
46
48
-
Rotate your access keys regularly as a good security practice.
49
-
50
-
In this guide, you learned how to regenerate access keys. Continue to the next tutorials about authentication with OAuth or with Azure Functions.
51
-
52
47
> [!div class="nextstepaction"]
53
-
> [Integrate with ASP.NET core identity](./signalr-concept-authenticate-oauth.md)
48
+
> [Azure SignalR Service authentication](./signalr-concept-authenticate-oauth.md)
54
49
55
50
> [!div class="nextstepaction"]
56
51
> [Build a serverless real-time app with authentication](./signalr-tutorial-authenticate-azure-functions.md)
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-howto-scale-multi-instances.md
+32-32Lines changed: 32 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,12 +9,13 @@ ms.custom: devx-track-csharp
9
9
ms.date: 07/18/2022
10
10
ms.author: lianwei
11
11
---
12
-
# How to scale SignalR Service with multiple instances?
12
+
# Scale SignalR Service with multiple instances
13
+
13
14
SignalR Service SDK supports multiple endpoints for SignalR Service instances. You can use this feature to scale the concurrent connections, or use it for cross-region messaging.
14
15
15
16
## For ASP.NET Core
16
17
17
-
### How to add multiple endpoints from config?
18
+
### Add multiple endpoints from config
18
19
19
20
Config with key `Azure:SignalR:ConnectionString` or `Azure:SignalR:ConnectionString:` for SignalR Service connection string.
20
21
@@ -28,9 +29,9 @@ dotnet user-secrets set Azure:SignalR:ConnectionString:east-region-b:primary <Co
28
29
dotnet user-secrets set Azure:SignalR:ConnectionString:backup:secondary <ConnectionString3>
29
30
```
30
31
31
-
### How to add multiple endpoints from code?
32
+
### Add multiple endpoints from code
32
33
33
-
A `ServicEndpoint` class is introduced to describe the properties of an Azure SignalR Service endpoint.
34
+
A `ServicEndpoint` class describes the properties of an Azure SignalR Service endpoint.
34
35
You can configure multiple instance endpoints when using Azure SignalR Service SDK through:
35
36
```cs
36
37
services.AddSignalR()
@@ -49,23 +50,25 @@ services.AddSignalR()
49
50
});
50
51
```
51
52
52
-
### How to customize endpoint router?
53
+
### Customize endpoint router
53
54
54
55
By default, the SDK uses the [DefaultEndpointRouter](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR/EndpointRouters/DefaultEndpointRouter.cs) to pick up endpoints.
55
56
56
57
#### Default behavior
57
-
1. Client request routing
58
+
59
+
1. Client request routing:
58
60
59
61
When client `/negotiate` with the app server. By default, SDK **randomly selects** one endpoint from the set of available service endpoints.
60
62
61
-
2. Server message routing
63
+
2. Server message routing:
62
64
63
-
When sending a message to a specific *connection* and the target connection is routed to current server, the message goes directly to that connected endpoint. Otherwise, the messages are broadcasted to every Azure SignalR endpoint.
65
+
When sending a message to a specific *connection* and the target connection is routed to the current server, the message goes directly to that connected endpoint. Otherwise, the messages are broadcasted to every Azure SignalR endpoint.
64
66
65
67
#### Customize routing algorithm
68
+
66
69
You can create your own router when you have special knowledge to identify which endpoints the messages should go to.
67
70
68
-
A custom router is defined below as an example when groups starting with `east-` always go to the endpoint named `east`:
71
+
The following example defines a custom router that routes messages with a group starting with `east-` to the endpoint named `east`:
Config with key `Azure:SignalR:ConnectionString` or `Azure:SignalR:ConnectionString:` for SignalR Service connection string.
131
133
@@ -146,9 +148,9 @@ You can add multiple instance connection strings to `web.config`:
146
148
</configuration>
147
149
```
148
150
149
-
### How to add multiple endpoints from code?
151
+
### Add multiple endpoints from code
150
152
151
-
A `ServicEndpoint` class is introduced to describe the properties of an Azure SignalR Service endpoint.
153
+
A `ServicEndpoint` class describes the properties of an Azure SignalR Service endpoint.
152
154
You can configure multiple instance endpoints when using Azure SignalR Service SDK through:
153
155
154
156
```cs
@@ -167,11 +169,11 @@ app.MapAzureSignalR(
167
169
});
168
170
```
169
171
170
-
### How to customize router?
172
+
### Customize a router
171
173
172
174
The only difference between ASP.NET SignalR and ASP.NET Core SignalR is the http context type for `GetNegotiateEndpoint`. For ASP.NET SignalR, it is of [IOwinContext](https://github.com/Azure/azure-signalr/blob/dev/src/Microsoft.Azure.SignalR.AspNet/EndpointRouters/DefaultEndpointRouter.cs#L19) type.
173
175
174
-
Below is the custom negotiate example for ASP.NET SignalR:
176
+
The following code is a custom negotiate example for ASP.NET SignalR:
To enable advanced router, SignalR server SDK provides multiple metrics to help server do smart decision. The properties are under `ServiceEndpoint.EndpointMetrics`.
216
+
To enable an advanced router, SignalR server SDK provides multiple metrics to help server make smart decisions. The properties are under `ServiceEndpoint.EndpointMetrics`.
215
217
216
218
| Metric Name | Description |
217
-
| -- | -- |
218
-
|`ClientConnectionCount`| Total concurrent connected client connection count on all hubs for the service endpoint |
219
-
|`ServerConnectionCount`| Total concurrent connected server connection count on all hubs for the service endpoint |
219
+
|--|--|
220
+
|`ClientConnectionCount`| Total count concurrent client connections on all hubs for the service endpoint |
221
+
|`ServerConnectionCount`| Total count of concurrent server connections on all hubs for the service endpoint |
220
222
|`ConnectionCapacity`| Total connection quota for the service endpoint, including client and server connections |
221
223
222
-
Below is an example to customize router according to `ClientConnectionCount`.
224
+
The following code is an example of customizing a router according to `ClientConnectionCount`.
@@ -247,29 +249,27 @@ From SDK version 1.5.0, we're enabling dynamic scale ServiceEndpoints for ASP.NE
247
249
248
250
The `ServiceEndpoint` object has an `EndpointType` property with value `primary` or `secondary`.
249
251
250
-
`primary` endpoints are preferred endpoints to receive client traffic, and are considered to have more reliable network connections;`secondary` endpoints are considered to have less reliable network connections and are used only for taking server to client traffic, for example, broadcasting messages, not for taking client to server traffic.
252
+
`primary` endpoints are preferred endpoints to receive client traffic because they've have more reliable network connections.`secondary` endpoints have less reliable network connections and are used only for server to client traffic. For example, secondary endpoints are used for broadcasting messages instead of client to server traffic.
251
253
252
-
In cross-region cases, network can be unstable. For one app server located in *East US*, the SignalR Service endpoint located in the same *East US* region can be configured as `primary` and endpoints in other regions marked as `secondary`. In this configuration, service endpoints in other regions can **receive** messages from this *East US* app server, but there will be no **cross-region** clients routed to this app server. The architecture is shown in the diagram below:
254
+
In cross-region cases, the network can be unstable. For an app server located in *East US*, the SignalR Service endpoint located in the same *East US* region is `primary` and endpoints in other regions marked as `secondary`. In this configuration, service endpoints in other regions can **receive** messages from this *East US* app server, but no **cross-region** clients are routed to this app server. The following diagram shows the architecture:
When a client tries `/negotiate` with the app server, with the default router, SDK **randomly selects** one endpoint from the set of available `primary` endpoints. When the primary endpoint isn't available, SDK then **randomly selects** from all available `secondary` endpoints. The endpoint is marked as **available** when the connection between server and the service endpoint is alive.
258
+
When a client tries `/negotiate` with the app server with a default router, the SDK **randomly selects** one endpoint from the set of available `primary` endpoints. When the primary endpoint isn't available, the SDK then **randomly selects** from all available `secondary` endpoints. The endpoint is marked as **available** when the connection between server and the service endpoint is alive.
257
259
258
-
In cross-region scenario, when a client tries `/negotiate` with the app server hosted in *East US*, by default it always returns the `primary` endpoint located in the same region. When all *East US* endpoints aren't available, the client is redirected to endpoints in other regions. Fail over section below describes the scenario in detail.
260
+
In cross-region scenario, when a client tries `/negotiate` with the app server hosted in *East US*, by default it always returns the `primary` endpoint located in the same region. When all *East US* endpoints aren't available, the router redirects the client to endpoints in other regions. The following [failover](#failover) section describes the scenario in detail.
When all`primary`endpoints aren't available, client's `/negotiate` picks from the available `secondary` endpoints. This fail-over mechanism requires that each endpoint should serve as`primary` endpoint to at least one app server.
266
+
When no`primary`endpoint is available, the client's `/negotiate` picks from the available `secondary` endpoints. This failover mechanism requires that each endpoint serves as a`primary` endpoint to at least one app server.
Copy file name to clipboardExpand all lines: articles/azure-signalr/signalr-reference-data-plane-rest-api.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
@@ -93,7 +93,7 @@ The difference is, in this scenario the JWT Token is generated by Azure Active D
93
93
94
94
You could also use **Role Based Access Control (RBAC)** to authorize the request from your client/server to SignalR Service.
95
95
96
-
[Learn how to configure Role-based access control roles for your resource](/azure/azure-signalr/authorize-access-azure-active-directory)
96
+
For more information, see [Authorize access with Azure Active Directory for Azure SignalR Service](./signalr-concept-authorize-azure-active-directory.md)
0 commit comments