为管理员和查看者添加 grafana 角色
Posted
技术标签:
【中文标题】为管理员和查看者添加 grafana 角色【英文标题】:Adding grafana role for admin and viewer 【发布时间】:2020-12-22 01:38:36 【问题描述】:我的小组正在使用 Prometheus 运算符图表中的 Grafana https://github.com/helm/charts/blob/master/stable/prometheus-operator/values.yaml#L486
Grafana 正在运行,我们可以使用 Oauth 进行访问。 现在我们已经在我们的 OAuth OIDC 服务器中定义了一个角色,我们需要在 Grafana 中定义(并接受)该角色,每个用户都将根据 OAuth 服务器定义获得他的角色。
例如角色“用户查看者”
我应该如何在 Grafana 中配置它? 我看到了这个https://grafana.com/docs/grafana/latest/auth/generic-oauth/#role-mapping,但它没有解释图表安装。知道如何配置角色吗?
如果有人知道如何在 Grafana 图表上配置它,我的意思是我应该如何传递这个角色 json。存档会有所帮助 https://github.com/grafana/helm2-grafana
我应该如何使用 helm(使用配置更新舞会图表)以及监视用户(在 dev 中)以验证角色已添加到令牌中。
【问题讨论】:
我有类似的用例,虽然我使用了 ldap,但在我自己的自定义 helm 图表中,我在配置映射中定义了 ldap.toml 文件,然后将其安装在路径 /etc/grafana/ldap.toml替换默认文件。这可能是一个类似的用例? @PankajSaini - 啊,我们不使用自定义 helm 图表,我们使用包含 Grafana 的 promtheus 运算符图表,你知道我应该如何配置它吗?也只是 grafana 图表就可以了 【参考方案1】:修改grafana.ini
,例如(语法可能有误,仅供参考):
helm install \
-f values.yaml \
--set grafana."grafana\.ini"."auth\.generic_oauth".role_attribute_path=contains(info.groups[*], 'admin') && 'Admin' || contains(info.groups[*], 'editor') && 'Editor' || 'Viewer'
...
或者直接在使用的 values.yaml 中。当然role_attribute_path
必须是您的用例的有效配置(角色声明名称、组名......)。
请记住,the token has the role
可能无法按预期工作 - 请参阅 https://github.com/grafana/grafana/issues/23218。经过身份验证的用户将至少具有Viewer
角色。如果您确实需要“拒绝行为”,请使用不同的方法(例如,将完成身份验证和授权的自定义身份验证代理以及 Auth Proxy
模式下的 Grafana)
【讨论】:
对不起,我还没有时间测试它,但是由于时间很快就会到期,所以我会给你赏金,希望我能够测试它并在出现问题时回来。谢谢!以上是关于为管理员和查看者添加 grafana 角色的主要内容,如果未能解决你的问题,请参考以下文章