Восстановление доступа при сбое внешнего сервиса
Раздел «Администратору платформы»: быстрый переход по подразделам
На этой странице
Допустим, в платформе “Штурвал” для аутентификации вы подключили внешний сервис, например, Keycloak или Blitz (см. инструкцию по подключению). Возникают ситуации, когда на стороне внешнего сервиса аутентификации может произойти сбой. В этом случае есть возможность выключить внешний сервис аутентификации и возобновить доступ всех пользователей в платформу.
Чтобы при сбое внешнего сервиса работа в платформе не прерывалась, выполните:
- Подключитесь в кластер управления по kubeconfig, полученному при инсталляции платформы. Также Kubeconfig можно взять с Control Plane узла платформы
/etc/kubernetes/admin.conf.
Дальнейшие шаги выполняйте в зависимости от того, как OIDC-провайдер был подключен в платформе.
- В Secret
auth-providerизмените значение параметраactiveнаfalse.
Команда — иллюстрация
kubectl patch secret auth-provider -n shturval-backend --type=merge -p '{"stringData":{"active":"false"}}'
В команде используется stringData, поэтому значение false не нужно кодировать в base64. Команда изменит только параметр active, параметры external_idp и skip_internal_auth переопределять не требуется.
- Проверьте, что в Secret установлено значение
false.
Команда — иллюстрация
kubectl get secret auth-provider -n shturval-backend -o jsonpath='{.data.active}' | base64 --decode
Команда должна вернуть значение false.
- Подготовьте YAML-файл, например, с именем shturval-auth.yaml и с манифестом объекта ShturvalServicePatch (ShturvalServicePatch) для применения к спецификации (ssc)
shturval-auth. В ShturvalServicePatch укажитеfalseв параметреAUTH_IDP_ACTIVEи задайте приоритетность применения в параметреorder, как в приведенном примере ниже.
Пример ShturvalServicePatch
apiVersion: ops.shturval.tech/v1beta2
kind: ShturvalServicePatch
metadata:
name: shturval-auth-disable
spec:
shturvalServiceConfigName: shturval-auth
patchOrder: 1
customvalues:
AUTH_IDP_ACTIVE: false
Обратите внимание! Значение параметра patchOrder в ShturvalServicePatch для отключения внешнего провайдера должно быть меньше, чем в примененном ShturvalServicePatch c конфигурацией подключения для внешнего провайдера аутентификации (keycloak, blitz).
- Примените изменения.
Команда — иллюстрация
kubectl apply -f УКАЖИТЕ-ФАЙЛ-С-МАНИФЕСТОМ-ShturvalServicePatch
Пример имени файла с манифестом - shturval-auth-disable.yaml.
- По завершении применения изменений аутентификация должна отработать корректно.