You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用ARM模板在Azure Service Bus队列级别创建自定义共享访问策略

Azure Service Bus队列级自定义共享访问策略创建方法

你可以在现有ARM模板的队列资源中嵌套子资源实现队列级SAS策略部署,适配你当前使用的迭代创建逻辑,具体操作如下:

步骤1:新增策略配置参数

在模板的parameters节点中添加队列SAS策略的配置参数,示例如下:

"queueSasPolicies": {
  "type": "array",
  "defaultValue": [
    {
      "policyName": "仅发送策略",
      "rights": ["Send"]
    },
    {
      "policyName": "仅接收策略",
      "rights": ["Listen"]
    },
    {
      "policyName": "全权限策略",
      "rights": ["Send", "Listen", "Manage"]
    }
  ],
  "metadata": {
    "description": "队列级共享访问策略配置列表"
  }
}

步骤2:修改现有队列资源模板

在你原有队列资源的基础上,新增子资源节点resources用于嵌套SAS策略定义,完整的队列资源示例如下:

{
  "apiVersion": "2017-04-01",
  "name": "[concat(parameters('serviceBusNamespaceName'),'/', parameters('queueNames')[copyIndex()])]",
  "type": "Microsoft.ServiceBus/namespaces/queues",
  "copy": {
    "name": "queuesCopy",
    "count": "[length(parameters('queueNames'))]"
  },
  "dependsOn": [
    "[resourceId('Microsoft.ServiceBus/namespaces/', parameters('serviceBusNamespaceName'))]"
  ],
  "properties": {
    "lockDuration": "PT30S",
    "maxSizeInMegabytes": 1024,
    "requiresDuplicateDetection": false,
    "requiresSession": false,
    "defaultMessageTimeToLive": "P14D",
    "deadLetteringOnMessageExpiration": false,
    "duplicateDetectionHistoryTimeWindow": "PT10M",
    "maxDeliveryCount": 10,
    "autoDeleteOnIdle": "P10675199DT2H48M5.4775807S",
    "enablePartitioning": false,
    "enableExpress": false
  },
  // 以下为新增的队列级SAS策略子资源
  "resources": [
    {
      "type": "authorizationRules",
      "name": "[parameters('queueSasPolicies')[copyIndex('sasPolicyCopy')].policyName]",
      "apiVersion": "2017-04-01",
      "copy": {
        "name": "sasPolicyCopy",
        "count": "[length(parameters('queueSasPolicies'))]"
      },
      "dependsOn": [
        "[parameters('queueNames')[copyIndex()]]"
      ],
      "properties": {
        "rights": "[parameters('queueSasPolicies')[copyIndex('sasPolicyCopy')].rights]"
      }
    }
  ]
}

注意事项

  • 权限rights仅支持三个可选值:Send(发送)、Listen(监听/接收)、Manage(管理),可组合使用,Manage权限默认包含Send和Listen权限
  • 队列级SAS策略的权限仅作用于当前队列,不会继承命名空间级策略的权限,也不会对其他队列、主题资源生效
  • 部署完成后可在Azure门户对应队列的「共享访问策略」页查看已创建的策略,直接获取连接字符串、主/次密钥
  • 若不同队列需要配置不同的策略,可调整参数结构,为每个队列单独配置策略列表即可

内容的提问来源于stack exchange,提问作者Pradeep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 14:09:00