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

如何为同事授予Azure WebJobs日志只读权限且避免过度授权?

实现Azure WebJobs日志只读访问的最小权限方案

核心问题分析

默认Reader角色无法访问App Service的SCM(Kudu)站点(即https://<app_name>.scm.azurewebsites.net),该站点需要额外权限授权;而Website Contributor、Contributor等内置角色权限范围过大,不符合最小权限原则。

最优解决方案:自定义RBAC角色

创建仅包含访问SCM站点和读取日志所需权限的自定义角色,具体步骤如下:

1. 确定必要权限

自定义角色需包含以下权限(可限定在目标Web App或资源组范围):

  • Microsoft.Web/sites/read:读取Web App基础信息
  • Microsoft.Web/sites/logs/read:读取Web App各类日志(含WebJobs日志)
  • Microsoft.Web/sites/extensions/read:授权访问Web App扩展资源(SCM站点属于此类)
  • Microsoft.Web/sites/scm/access:核心权限,允许访问SCM站点

2. 创建自定义角色

方式一:Azure Portal创建

  • 进入Azure门户,搜索角色定义,点击添加自定义角色
  • 在权限步骤,搜索并添加上述4项权限
  • 在分配可访问性步骤,选择Azure资源
  • 完成角色命名(例如WebJobs Log Reader)并创建

方式二:Azure CLI创建

先创建JSON角色定义文件(如webjobs-log-reader.json):

{
  "Name": "WebJobs Log Reader",
  "IsCustom": true,
  "Description": "Grants read-only access to WebJobs logs via SCM site",
  "Actions": [
    "Microsoft.Web/sites/read",
    "Microsoft.Web/sites/logs/read",
    "Microsoft.Web/sites/extensions/read",
    "Microsoft.Web/sites/scm/access"
  ],
  "NotActions": [],
  "AssignableScopes": [
    "/subscriptions/<your-subscription-id>"
  ]
}

执行CLI命令创建角色:

az role definition create --role-definition webjobs-log-reader.json

3. 分配自定义角色

将WebJobs Log Reader角色分配给目标用户/组,分配范围选择包含目标Web App的资源组或单个Web App即可。

验证权限

分配完成后,用户点击WebJobs的日志列按钮可正常访问SCM站点查看日志,且无法修改任何Web App配置,完全符合只读要求。该方案适用于Basic、Standard、Premium v2/v3等所有App Service Plan类型。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:55:12