限制对分配的命名空间的 Grafana 仪表板访问
Restrict Grafana dashboard access for assigned namespace
我是 Prometheus/Grafana 设置的新手。最近安装了kube-prometheus operator,学习设置dashboards和LDAP authentication。我看到我们可以创建 Grafana organization/roles 并将它们映射到 LDAP 组。这将有助于提供 'Admin'、'Editor' 和 'Viewer' 访问权限,如文档中所述。试图了解我们如何限制每个命名空间资源对 Grafana 仪表板的访问,或者不推荐这种方法?
这意味着,每个有权访问各自命名空间的团队都将看到他们被允许的内容,并从其他命名空间或节点中注意到。
谢谢
这没有意义,因为即使在他们的“有限”仪表板上,他们也可以完全访问公共数据源 (Prometheus),并且他们可以简单地更改 grafana 上的查询并查看其他所有内容。并且没有在数据源单个资源级别上应用 RBAC 的机制。
根据我的经验,指标在团队之间共享总是安全的,有时甚至在外部共享(状态页面)也是安全的。
否则,如果您仍然想要这样的分离,我建议为每个命名空间创建单独的 Prometheus 实例,并为每个命名空间创建单独的 grafana 实例。 Prometheus 运算符允许使用 ServiceMonitorSelector. This approach is going to be very resource-consuming. And even after this, you need to make sure that Prometheus and Grafana Service
objects are not reachable cross namespaces cause teams can proxy and still browse it - you can use https://kubernetes.io/docs/concepts/services-networking/network-policies/ 这样的分离。
我是 Prometheus/Grafana 设置的新手。最近安装了kube-prometheus operator,学习设置dashboards和LDAP authentication。我看到我们可以创建 Grafana organization/roles 并将它们映射到 LDAP 组。这将有助于提供 'Admin'、'Editor' 和 'Viewer' 访问权限,如文档中所述。试图了解我们如何限制每个命名空间资源对 Grafana 仪表板的访问,或者不推荐这种方法? 这意味着,每个有权访问各自命名空间的团队都将看到他们被允许的内容,并从其他命名空间或节点中注意到。
谢谢
这没有意义,因为即使在他们的“有限”仪表板上,他们也可以完全访问公共数据源 (Prometheus),并且他们可以简单地更改 grafana 上的查询并查看其他所有内容。并且没有在数据源单个资源级别上应用 RBAC 的机制。
根据我的经验,指标在团队之间共享总是安全的,有时甚至在外部共享(状态页面)也是安全的。
否则,如果您仍然想要这样的分离,我建议为每个命名空间创建单独的 Prometheus 实例,并为每个命名空间创建单独的 grafana 实例。 Prometheus 运算符允许使用 ServiceMonitorSelector. This approach is going to be very resource-consuming. And even after this, you need to make sure that Prometheus and Grafana Service
objects are not reachable cross namespaces cause teams can proxy and still browse it - you can use https://kubernetes.io/docs/concepts/services-networking/network-policies/ 这样的分离。