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

如何将WSO2 IS的用户角色同步到配置为服务提供商的Grafana

Grafana对接WSO2 IS角色同步配置指导

1 WSO2 IS侧配置校验与调整

  • 进入WSO2 IS管理控制台,打开你对接Grafana所用的服务提供商(SP)配置页
  • 在声明配置模块,添加角色映射声明:选择http://wso2.org/claims/roles作为源属性,自定义返回声明名(建议用groups或Roles),勾选随ID Token返回、随UserInfo端点返回两个选项
  • 若使用OIDC协议对接,在SP的Scope配置中添加groups scope,允许Grafana请求角色字段;若使用SAML协议对接,在断言配置中开启角色属性的断言输出,属性名和之前自定义的返回声明名保持一致
  • 可选配置:如果不需要WSO2 IS默认的角色域前缀(如Internal/、Primary/),可在声明配置中开启移除域前缀开关

2 Grafana侧对应配置修改

根据你使用的对接协议,修改Grafana配置文件grafana.ini对应区块:

2.1 OIDC(Generic OAuth)对接场景

找到[auth.generic_oauth]配置块,添加/更新如下参数:

# 确保请求权限包含groups scope
scopes = openid email profile groups
# 角色匹配规则,JMESPath表达式,groups对应WSO2返回的角色字段名
role_attribute_path = contains(groups[*], 'grafana_admin') && 'Admin' || contains(groups[*], 'grafana_editor') && 'Editor' || 'Viewer'
# 允许给匹配到的用户分配Grafana管理员权限
allow_assign_grafana_admin = true
# 若需要按角色映射到不同Grafana组织,可额外配置org_mapping
# org_mapping = {"wso2_grafana_org1": {"org_id": 1, "org_role": "Editor"}, "wso2_grafana_org2": {"org_id": 2, "org_role": "Viewer"}}

如果WSO2 IS侧返回的角色字段名是Roles,则将表达式中的groups替换为Roles即可。

2.2 SAML对接场景

找到[auth.saml]配置块,添加/更新如下参数:

# 和WSO2 IS侧返回的角色属性名完全一致
role_attribute = Roles
# 未匹配到角色时默认分配的角色
auto_assign_org_role = Viewer

3 故障排查

  • 开启Grafana debug日志:在grafana.ini中设置log.level = debug,重启Grafana后发起一次登录
  • 查看Grafana日志中OIDC/SAML模块的返回报文,确认WSO2 IS已经将角色字段正常返回给Grafana
  • 若返回报文中存在角色字段但角色不匹配,调整role_attribute_path的JMESPath表达式,和返回的字段结构、角色名完全对齐即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 12:21:03