Добавление роли графаны для администратора и зрителя

Моя группа использует Grafana из диаграммы операторов Prometheus https://github.com/helm/charts/blob/master/stable/prometheus-operator/values.yaml#L486

Grafana работает, и мы можем получить доступ с помощью Oauth. Теперь мы отказались от роли на нашем сервере OAuth OIDC, который нам нужно определить (и принять) в Grafana, каждый пользователь получит свои роли в соответствии с определением сервера OAuth.

например роль UserViewer

Как мне настроить его в Grafana? Я вижу это https://grafana.com/docs/grafana/latest/auth/generic-oauth/#role-mapping, но не объясняет установку диаграммы. есть идеи, как мне настроить роль?

Если кто-то знает, как настроить его на графике Grafana, я имею в виду, как передать эту роль json. файл будет полезно https://github.com/grafana/helm2-grafana

Как мне сделать это с помощью helm (обновите таблицу prom с помощью конфигурации) и в дополнение к мониторингу пользователя (в dev), чтобы убедиться, что роль была добавлена ​​к токену.


person Jenny M    schedule 02.09.2020    source источник
comment
У меня был аналогичный вариант использования, но я использовал ldap, и в моей собственной настраиваемой диаграмме управления я определил файл ldap.toml в карте конфигурации, а затем смонтировал его по пути /etc/grafana/ldap.toml, чтобы заменить файл по умолчанию. Это может быть аналогичный вариант использования?   -  person Pankaj Saini    schedule 03.09.2020
comment
@PankajSaini - ага, мы не используем пользовательские диаграммы управления, мы используем диаграмму операторов promtheus, которая включает Grafana, возможно, вы знаете, как мне ее настроить? также для диаграммы графана это будет нормально   -  person Jenny M    schedule 03.09.2020


Ответы (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 роль. Если вам действительно нужно запретить поведение, используйте другой подход (например, настраиваемый прокси-сервер аутентификации, где будут выполняться аутентификация и авторизация, и Grafana в режиме Auth Proxy)

person Jan Garaj    schedule 06.09.2020
comment
Извините, у меня еще не было времени протестировать его, но я дам вам награду, так как время скоро истечет, надеюсь, я смогу протестировать его и вернуться в случае проблемы. Благодарность! - person Jenny M; 12.09.2020