2016-12-30 15 views
2

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

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

+0

Я также ищу решение по той же проблеме. Я проверю, будет ли подходящий способ создания плагина, такого как @AussieDan. –

ответ

1

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

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

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

+0

Знаете ли вы, есть ли у Графаны какой-либо крючок или чистый способ сделать то, что вы предлагаете? –

+0

Чистый способ сделать это - реализовать плагин Grafana oauth, который не слишком сложный. – AussieDan