Как сообщить Grafana с помощью OAuth, что какой-то пользователь является администратором или принадлежит какой-либо организации?

У меня CF UAA, и я пытаюсь использовать его с Grafana 4.0.2 через generic_oauth. Мне удалось настроить логин и т. Д., И он отлично работает. Что мне не хватает, так это того, как отличить пользователя-администратора от других. Также я хотел бы разделить пользователей на отдельные организации в Grafana.

Это выполнимо? Если да, то как? Я смотрел https://docs.cloudfoundry.org/api/uaa/#user-info / userinfo (он используется в моей настройке Grafana generic_oauth), и похоже, что у него недостаточно информации. Может это можно как-то через прицелы сделать?


person kkonrad    schedule 30.12.2016    source источник
comment
Я тоже ищу решение той же проблемы. Я проверю, подходит ли для этого создание плагина вроде @AussieDan.   -  person Mika Andrianarijaona    schedule 22.02.2017
comment
@MikaAndrianarijaona Удачи? Мне просто любопытно на данный момент   -  person kkonrad    schedule 21.09.2018


Ответы (2)


Общий плагин oauth не позволяет автоматически добавлять пользователя в определенную организацию или назначать его уровень доступа.

После того, как пользователь успешно прошел аутентификацию в Grafana, вы можете отредактировать его учетную запись, установить уровень разрешений и т. Д.

Можно было бы расширить структуру BasicUserInfo, возвращаемую модулями oauth, чтобы иметь возможность содержать список организаций, членом которых должен быть пользователь, и обновить login_oauth.go для управления членством в организациях пользователя, если этот элемент был возвращен плагином oauth . На этом этапе кажется, что самым простым подходом было бы создать oauth_cloudfoundry плагин, который мог бы использовать членство в группах cloudfoundry для сопоставления членству в grafana org.

person AussieDan    schedule 30.12.2016
comment
Вы знаете, есть ли у Grafana какой-нибудь зацеп или чистый способ делать то, что вы предлагаете? - person Mika Andrianarijaona; 22.02.2017
comment
Чистый способ сделать это - реализовать плагин Grafana oauth, который не слишком сложен. - person AussieDan; 28.02.2017
comment
В качестве справки я предлагаю посмотреть здесь дополнительную информацию об организации и ролях для каждого пользователя: community.grafana.com/t/which-fields-are-expected-in-userinfo/ - person Moritz; 02.01.2019

Другой вариант - явно создать пользователя в Grafana, а затем установить его / ее как администратора в какой-либо организации перед первым входом в систему OAuth. См. Этот пост для получения более подробной информации: https://medium.com/@davidoha/how-to-restrict-user-access-with-to-grafana-with-generic-oauth-656a1a660a7b

person dux2    schedule 24.06.2020