Настройка авторизации в Grafana

Авторизация в компоненте реализуется с помощью сторонних механизмов авторизации. В данном руководстве описаны настройки для ПО Keycloak.

1 Необходимо настроить его согласно “Инструкция по настройке Keycloak” (Приложение 1). 2 Необходимо изменить параметры файла конфигурации Grafana: /opt/skala-r/vision/server/grafana/etc/grafana.ini (обратить внимание, что значения <…> необходимо изменить на фактические):

  [server]

  domain = <домен-визиона>  # Домен Визиона

 
  ...

 
  [auth]

  signout_redirect_url = https://<хост-keycloak>/realms/<имя-realm>/protocol/openid-connect/logout?client_id=<id-клиента>

  oauth_allow_insecure_email_lookup = true

 
  ...

 
  [auth.anonymous]

  enabled = false
 

  ...

 
  [auth.generic_oauth]

  enabled = true

  name = Keycloak-OAuth

  allow_sign_up = true

  client_id = <id-клиента>

  client_secret = <секретный-ключ>

  scopes = openid email profile offline_access roles

 

  email_attribute_path = (contains(keys(@), 'user')) && (contains(user, 'email')) && user.email || preferred_email || preferred_username

  login_attribute_path = username

  name_attribute_path = full_name

  auth_url =  https://<хост-keycloak>/realms/<имя-realm>/protocol/openid-connect/auth

  token_url = https://<хост-keycloak>/realms/<имя-realm>/protocol/openid-connect/token

  api_url =   https://<хост-keycloak>/realms/<имя-realm>/protocol/openid-connect/userinfo

 

  role_attribute\_path = contains(roles[\*], 'grafanaadmin') && 'GrafanaAdmin' || contains(roles[\*], 'admin') && 'Admin' || contains(roles[\*], 'editor') && 'Editor' || contains(roles[\*], 'viewer') && 'Viewer'

  role_attribute_strict = true

  allow_assign_grafana_admin = true

3 Сделать копию файла конфигурации:

cp /opt/skala-r/vision/server/grafana/etc/grafana.ini /opt/skala-r/vision/server/grafana/etc/grafana.ini.bak

4 Отредактировать файл конфигурации:

nano /opt/skala-r/vision/server/grafana/etc/grafana.ini

5 Сохранить файл и перезапустить сервис grafana.service командой:

systemctl restart grafana.service

6 Проверьте успешный запуск Grafana командой:

systemctl status grafana.service