Авторизация в компоненте реализуется с помощью сторонних механизмов авторизации. В данном руководстве описаны настройки для ПО 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