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

Grafana Azure AD SSO配置问题:仅允许指定组用户登录

解决方案:限制Grafana Azure AD SSO至指定组

要实现仅允许指定Azure AD组用户登录Grafana,需要从Grafana配置和Azure AD权限两方面调整,具体步骤如下:

1. 更新Grafana Azure AD认证配置

在Prometheus Helm Chart的配置中做以下修改:

  • 扩展scopes字段,添加GroupMember.Read.All(细粒度权限)或Directory.Read.All,让Grafana能够获取用户的AD组信息
  • 在allowed_groups中填入目标Azure AD组的对象ID(多个组用逗号分隔)
  • 移除allowed_domains配置,避免域名限制与组限制叠加导致逻辑冲突

修改后的配置示例:

name = Azure AD
enabled = true
allow_sign_up = true
auto_login = false
client_id = APPLICATION_ID
client_secret = CLIENT_SECRET
scopes = openid email profile GroupMember.Read.All
auth_url = 
token_url = 
allowed_domains = 
allowed_groups = a1b2c3d4-xxxx-xxxx-xxxx-xxxxe5f6g7h8,i9j0k1l2-xxxx-xxxx-xxxx-xxxxm3n4o5p6

2. 配置Azure AD应用权限

登录Azure Portal,找到你的Grafana注册应用,完成以下操作:

  • 进入「API权限」页面,添加Microsoft Graph的应用权限:选择GroupMember.Read.All或Directory.Read.All
  • 点击「授予管理员同意」,确保权限生效(必须完成此步骤,否则Grafana无法读取组数据)

3. 验证配置效果

  • 执行Helm升级命令重新部署Grafana,让新配置生效:
    helm upgrade <release-name> prometheus-community/grafana -f your-values.yaml
    
  • 测试:用不在指定组的同域名用户尝试登录,应被拒绝;组内用户可正常登录。

常见问题排查

  • 确认allowed_groups中填写的是组的Object ID(可在Azure AD组详情页获取),而非组名称或其他ID
  • 查看Grafana Pod日志(kubectl logs <grafana-pod-name>),检查是否有组信息读取失败的报错(如权限不足、ID错误)
  • 若无需自动创建Grafana账号,可将allow_sign_up设为false,需管理员手动添加符合条件的用户

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 18:57:20