Skip to content

Commit 126aa5a

Browse files
Add information for queue scoped permissions for ASB (#7873)
* Add information for queue scoped permissions * Fix bad link * Fix bad link * Update queue-permissions.md * Update based on feedback * Apply suggestion from @helenktsai Co-authored-by: Helen T <[email protected]> * Update managed-access-rights.include.md * Updates based on feedback * Updates based on feedback * Apply suggestion from @helenktsai Co-authored-by: Helen T <[email protected]> * Apply suggestion from @helenktsai Co-authored-by: Helen T <[email protected]> * Apply suggestion from @helenktsai Co-authored-by: Helen T <[email protected]> --------- Co-authored-by: Helen T <[email protected]>
1 parent 72a96b9 commit 126aa5a

File tree

6 files changed

+47
-18
lines changed

6 files changed

+47
-18
lines changed

menu/menu.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -949,6 +949,8 @@
949949
Articles:
950950
- Url: nservicebus/azure/ways-to-live-without-transactions
951951
Title: Avoiding Transactions
952+
- Url: transports/azure-service-bus/queue-scoped-permissions
953+
Title: Queue-scoped permissions
952954
- Url: transports/azure-service-bus/operational-scripting
953955
Title: Operational scripting
954956
- Title: Azure Storage Queues

transports/azure-service-bus/configuration.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ These settings control how the transport creates entities in the Azure Service B
3030
> [!WARNING]
3131
> Entity creation settings are applied only at the time the corresponding entities are created; they are not updated on subsequent startups.
3232
33-
partial: access-rights
33+
include: managed-access-rights
3434

3535
partial: entity-topology
3636

transports/azure-service-bus/configuration_access-rights_asbs_[,3).partial.md

Lines changed: 0 additions & 9 deletions
This file was deleted.

transports/azure-service-bus/configuration_access-rights_asbs_[3,).partial.md

Lines changed: 0 additions & 8 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
2+
### Access rights
3+
4+
By default, the transport requires elevated privileges to manage namespace entities at runtime. If using a [shared access policy](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-sas), make sure to include `Manage` rights or the [Azure Service Bus Data Owner](https://learn.microsoft.com/en-us/azure/role-based-access-control/built-in-roles#azure-service-bus-data-owner) role if authenticating using [Managed Identities](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-managed-service-identity).
5+
6+
To avoid running with elevated privileges:
7+
8+
- Make sure that [installers are not configured to run](/nservicebus/operations/installers.md)
9+
- Use [operational scripting](/transports/azure-service-bus/operational-scripting.md) to provision entities(queues, topics and subscriptions)
10+
#if-version [,3)
11+
- [Turn off automatic subscriptions](/nservicebus/messaging/publish-subscribe/controlling-what-is-subscribed.md#disabling-auto-subscription)
12+
#end-if
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: Managed Entity Queue-Scoped Permissions for Endpoints
3+
summary: Explains queue-scoped permissions needed by an endpoint running in Azure Service Bus
4+
component: ASBS
5+
reviewed: 2025-10-17
6+
---
7+
8+
It is common practice to limit [Azure Service Bus connection permissions at the queue scope when using Managed Entities](https://learn.microsoft.com/en-us/azure/service-bus-messaging/service-bus-managed-service-identity#resource-scope).
9+
10+
The following shows the minimum permissions needed for various endpoint features using queue-scoped permissions:
11+
12+
- `Azure Service Bus Data Receiver` to the endpoint's queue is required to process messages.
13+
- `Azure Service Bus Data Sender` to the endpoint's queue is required for:
14+
- [Delayed retries](/nservicebus/recoverability/#delayed-retries)
15+
- [Saga Timeouts](/nservicebus/sagas/timeouts.md)
16+
- [Transactional Session](/nservicebus/transactional-session/)
17+
- [`.SendLocal()`](/nservicebus/messaging/send-a-message.md#sending-to-self)
18+
- `Azure Service Bus Data Sender` is required for the [error queue](/nservicebus/recoverability/configure-error-handling.md#configure-the-error-queue-address-using-code).
19+
- `Azure Service Bus Data Sender` is required for every [queue the endpoint sends a command to](/nservicebus/messaging/routing.md#command-routing).
20+
- `Azure Service Bus Data Sender` is required for every [queue the endpoint replies to](/nservicebus/messaging/reply-to-a-message.md).
21+
- `Azure Service Bus Data Sender` is required for every [topic the endpoint publishes an event to](/transports/azure-service-bus/topology.md).
22+
#if-version [,3)
23+
- `Microsoft.ServiceBus/namespaces/topics/subscriptions/write` is required for [every topic](/transports/azure-service-bus/topology.md) the endpoint [handles events](/nservicebus/messaging/publish-subscribe/publish-handle-event.md#handling-an-event) from when using [automatic subscriptions (default)](/nservicebus/messaging/publish-subscribe/controlling-what-is-subscribed.md).
24+
#end-if
25+
- `Azure Service Bus Data Sender` is required for the audit queue when [auditing](/nservicebus/operations/auditing.md#configuring-auditing) is enabled.
26+
- `Azure Service Bus Data Sender` is required for the [transactional session remote processor](/nservicebus/transactional-session/#remote-processor) queue, when configured.
27+
- `Azure Service Bus Data Sender` is required for the metrics queue when ServiceControl [metrics](/monitoring/metrics/install-plugin.md#configuration) are enabled.
28+
- `Azure Service Bus Data Sender` is required for the ServiceControl queue when [heartbeats](/monitoring/heartbeats/install-plugin.md) or [custom checks](/monitoring/custom-checks/install-plugin.md) are being used.
29+
- `Azure Service Bus Data Sender` is required for any queue the endpoint [forwards to](/nservicebus/messaging/forwarding.md).
30+
- `Azure Service Bus Data Receiver` is required for every [satellite queue](/nservicebus/satellites/) created.
31+
32+
include: managed-access-rights

0 commit comments

Comments
 (0)