Аутентификация в платформе

По умолчанию в платформе Штурвал установлен сервис аутентификации собственной разработки.

Для входа в графический интерфейс платформы управления выполните следующие действия:

  1. Перейдите по URL-ссылке, созданной на этапе развёртывания Платформы «Штурвал», в браузере.

Откроется форма аутентификации.

  1. Введите данные системной учетной записи.
  2. Нажмите кнопку Войти.

При необходимости вы можете перенастроить аутентификацию на внешний сервис. Доступны: Blitz, Keycloak.

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

Подключение внешнего сервиса аутентификации

Платформа совместима с внешними сервисами аутентификации по протоколу OIDC OAuth 2.0.

Для подключения внешнего сервиса аутентификации, например, Blitz или Keycloak, необходимо внести изменения в спецификации:

  • модуля графического управления Платформой (shturval-frontend);
  • модуля программного управления Платформой (shturval-backend).

В графическом интерфейсе кластера управления перейдите на станицу Установленные сервисы раздела Сервисы и Репозитории. На вкладке “shturval” найдите “Модуль графического управления Платформой (shturval-frontend), перейдите к управлению модулем и измените параметры:

auth_url_production: 'your-auth-service-link'
auth_client_id: 'your-backend-client-id'
auth_client_secret: 'your-backend-client-secret'
discovery_endpoint: 'openid-endpoint'

Значения параметров необходимо указать согласно данным внешнего провайдера. Например, укажите:

  • в auth_url_production хостнейм внешнего провайдера авторизации - //login.company.com/,
  • в discovery_endpoint путь до OpenID-конфигурации внешнего провайдера авторизации - /blitz/oauth/.well-known/openid-configuration'.

Сохраните настройки модуля и удалите поды shturval-frontend в неймспейсе shturval-backend, поды перезапустятся.

В Модуле программного управления Платформой (shturval-backend) добавьте параметры:

auth_ingress_hostname: 'your-auth-service-link'
BACKEND_CLIENT_ID: 'your-backend-client-id'
BACKEND_CLIENT_SECRET: 'your-backend-client-secret'
auth_provider_type: 'your-provider-type'
auth_external_uri: 'your-external-uri'

В auth_external_uri укажите URI полностью до OpenID-конфигурации, например, //login.company.com/blitz/oauth (слеш в конце не указывается).

Выполните попытку аутентификации в платформу. Аутентификация не должна отработать корректно.

Удалите поды shturval-backend в неймспейсе shturval-backend. Поды перезапустятся.

Выполните попытку аутентификации в платформу. Аутентификация должна отработать корректно.

Доступ в платформу, если внешний сервис перестал работать

Допустим, в платформе для аутентификации вы подключили внешний сервис, например, Blitz или Keycloak. Возникают ситуации, когда по независящим от платформы обстоятельствам, на стороне внешнего сервиса аутентификации может произойти сбой.

Чтобы работа в платформе не прерывалось, есть возможность переключить аутентификацию на внутренний сервис аутентификации платформы Штурвал. Доступ всех пользователей в платформу будет возобновлен.

Подключитесь в кластер управления по kubeconfig, полученному при инсталляции платформы или можно взять его с мастер узла платформы /etc/kubernetes/admin.conf.

ssc “shturval-frontend”

В ssc “shturval-frontend” измените параметры на указанные значения:

auth_url_production: '//auth.apps.ip-x-x-x-x.shturval.link'
discovery_endpoint: ‘/.well-known/openid-configuration‘

Сохраните настройки модуля и удалите поды shturval-frontend в неймспейсе shturval-backend. Поды перезапустятся.

В auth_url_production укажите ingress кластера управления.

Замените значения в auth_client_id и auth_client_secret:

auth_client_id: 'backend'
auth_client_secret: 'auth-service-client-secret'

В auth_client_secret впишите значение ключа backend секрета auth-clients. Он находится в неймспейсе shturval-backend.

ssc “shturval-backend”

В ssc “shturval-backend” измените значения в параметрах:

auth_ingress_hostname: 'auth.apps.ip-x-x-x-x.shturval.link'
BACKEND_CLIENT_ID: 'backend'
BACKEND_CLIENT_SECRET: 'backend-client-secret'
auth_provider_type: embedded

В BACKEND_CLIENT_SECRET впишите значение ключа backend секрета auth-clients. Он находится в неймспейсе shturval-backend.

После завершения настроек необходимо удалить поды shturval-backend в неймспейсе shturval-backend. Поды перезапустятся.