Azure客户权限配置诉求:仅开放指标与自定义日志访问权限
刚好之前帮客户配置过一模一样的权限场景,给你梳理下最稳妥的实现方式,核心就是用Azure RBAC的最小权限原则,既满足客户查看需求,又彻底屏蔽其他操作:
第一步:明确权限范围和所需权限
首先得对齐两个核心访问需求对应的Azure权限:
- 服务器指标:需要读取目标服务器(比如VM)的监控指标数据
- 自定义日志:需要读取存储这些日志的Log Analytics工作区(或对应存储载体)中的自定义表数据
第二步:优先用内置角色(最快最安全)
Azure的内置角色已经封装好了现成的只读权限组合,直接用就够,不用从零搭建自定义角色:
- Monitoring Reader:这个角色仅开放监控数据的读取权限,客户能查看服务器的CPU、内存、磁盘等指标,以及监控仪表盘,但完全无法修改任何资源配置
- Log Analytics Reader:专门用于读取Log Analytics工作区里的所有日志数据,包括你上传的自定义日志表,同样只有只读权限,不能修改日志工作区的配置
具体分配步骤:
- 登录Azure门户,定位到你要授权的最小资源范围:比如客户的VM所在的资源组(或单个VM),以及存储自定义日志的Log Analytics工作区(如果两者不在同一范围)
- 进入对应资源的**访问控制(IAM)**页面,点击「添加」→「添加角色分配」
- 先选择「Monitoring Reader」角色,添加客户的用户账户,将范围设为目标VM/资源组,保存配置
- 重复上述操作,选择「Log Analytics Reader」角色,添加同一个用户,范围设为存储自定义日志的Log Analytics工作区,完成保存
第三步:如果内置角色太宽泛,就自定义精细化角色
要是你觉得Monitoring Reader还能看到一些无关内容(比如其他监控警报规则),可以创建更精准的自定义角色,只保留必要的读取权限:
自定义角色需要包含的权限(可在Azure门户的自定义角色编辑器或Azure CLI中添加):
Microsoft.Insights/metrics/read:读取服务器指标数据Microsoft.OperationalInsights/workspaces/query/read:查询自定义日志表Microsoft.Compute/virtualMachines/read:让用户能在门户找到目标VM(可选,若用户仅需通过监控页面查看数据,可省略)- 所有权限都设置为「允许」,绝对不要添加任何写入、删除、修改类的权限
分配自定义角色的流程和内置角色一致,范围严格限定在目标资源即可。
第四步:务必验证权限
一定要用客户的测试账号登录Azure门户做验证:
- 确认能正常查看目标服务器的指标数据(比如VM的监控仪表盘)
- 确认能查询到自定义日志表的内容(比如在Log Analytics中运行查询)
- 尝试点击任何修改操作(比如启动/停止VM、修改资源配置),应该会弹出权限不足的提示
- 确认看不到其他无关资源(比如其他VM、未授权的存储账户)
这样就能完美实现需求:客户既能查看需要的性能数据,又完全被屏蔽了所有操作权限。
内容的提问来源于stack exchange,提问作者Leon
相关产品推荐
相关产品推荐

