Аутентификация в платформе
По умолчанию в платформе Штурвал установлен сервис аутентификации собственной разработки.
Для входа в графический интерфейс платформы управления выполните следующие действия:
- Перейдите по URL-ссылке, созданной на этапе развёртывания Платформы «Штурвал», в браузере.
Откроется форма аутентификации.
- Введите данные системной учетной записи.
- Нажмите кнопку Войти.
При необходимости вы можете перенастроить аутентификацию на внешний сервис. Доступны: 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. Поды перезапустятся.