在Azure Service Bus订阅上配置共享访问签名

时间:2019-04-30 07:43:17

标签: azure azureservicebus azure-servicebus-queues azure-servicebus-topics

从Microsoft文档中,我看到SAS的作用域只能是Azure Service Bus命名空间,队列,主题,而不能是订阅。我有一个用例,其中我希望一个订阅的使用者不能访问其他订阅。如果Azure服务总线当前不支持它,该如何实现?

2 个答案:

答案 0 :(得分:0)

我相信这是可能的,documentation中也提到了这一点。

generating the signature时,您只需要像这样使用资源URI进行订阅

https://<yournamespace>.servicebus.windows.net/myTopic/Subscriptions/mySubscription

您可以在文档中检查其他rights required for service bus operations的范围。

这里是.NET Framework Sample供参考。 (谢谢@Roberto!)

答案 1 :(得分:0)

如果您可以选择使用托管标识,则 Azure RBAC 确实支持细粒度访问。请查看 here 中的文档。示例:

az role assignment create \
    --role $service_bus_role \
    --assignee $assignee_id \
    --scope /subscriptions/$subscription_id/resourceGroups/$resource_group/providers/Microsoft.ServiceBus/namespaces/$service_bus_namespace/topics/$service_bus_topic/subscriptions/$service_bus_subscription