Настройка интеграции в панели Администрирование
Для включения настройки следует перейти в раздел Настройки SSO и JWT и установить переключатель Включить SSO в положение . В соответствии с конфигурацией установленного продукта следует указать параметры, представленные в таблице.
| Параметр | Пример значения | Описание |
|---|---|---|
| Сервер AuthN | ||
| URL-адрес сервера AuthN | https://gw-server.example.net:443 (для версии 26.1 и выше) | URL AuthN без завершающего слеша (/) |
| URL-адрес сервера AuthN | https://gw-server.example.net:7443 (для версии 3.6.1 и ниже) | URL AuthN без завершающего слеша (/) |
| Путь запроса к authN-эндпойнту входа | /auth/login | Этот путь используется для перехода по кнопке «Войти через SSO» |
| Путь запроса к authN-эндпойнту обновления | /auth/refresh | Этот путь используется в процедуре обновления токена доступа, когда пользователь заходит в систему через SSO. При неверной настройке пользователь не сможет получать новые токены доступа после первоначального входа через IdP |
| Путь запроса к authN-эндпойнту выхода | /auth/logout | Этот путь используется при выходе из сессий SSO |
| Ссылка обратного вызова после перехода из authN | https://im-server.example.net | Пользователь будет направлен на этот путь после входа через IdP. Как правило, здесь указывается ваш домен и путь /home |
| Настройки куки | ||
| Атрибут домена | .im-server.example.net | Атрибут домена для куки, которые установлены в «МойСквадус». Например, если «МойСквадус» размещён на домене im.squadus.test, то в поле следует указать .squadus.test. Неправильная настройка может привести к ошибкам входа в ВКС |
| Атрибут SameSite | Lax | Значение атрибута SameSite для куки токена доступа. Как правило, используется Lax. Указывайте Strict или None только если этого требуют политики безопасности компании |
| Ключи JWKS для SSO | ||
| Список URL-адресов JWKS | https://ad.example.net/adfs/discovery/keys | Список адресов JWKS (каждый с новой строки). После применения все токены доступа, которые используют эти JWKS, станут доверенными на сервере. Состояние JWKS можно посмотреть в метриках. Использование некорректной ссылки может привести к сбою в работе продукта |
| Интервал обновления JWKS (сек.) | 16 | Как часто серверная часть «МойСквадус» будет пытаться обновить JWKS и получить новые ключи |
| Время устаревания кеша JWKS (сек.) | 86400 | Как долго кешированные значения JWKS будут считаться устаревшими перед удалением из памяти. Устанавливайте продолжительный период, например, 12 часов или 1 день, чтобы избежать принудительного выхода пользователей из системы при ошибках получения новых JWKS из IdP |
| Таймаут запроса JWKS (мс) | 10000 | Таймаут для запросов JWKS |
| Игнорировать ошибки TLS при загрузке JWKS | Если настройка включена, ошибки HTTPS будут игнорироваться при запросе JWKS | |
| Список аудиторий (aud) для проверки | - | Список аудиторий, разрешённых при авторизации через SSO (каждая с новой строки). Изменение списка аудиторий (aud) может привести к полной блокировке аутентификации пользователей через SSO. Прежде чем использовать данную настройку, ознакомьтесь с документацией |
| Список издателей (iss) для проверки | - | Список разрешённых издателей в токене доступа SSO (каждый с новой строки). Если поле пустое, проверка не выполняется. Проверка начинается сразу после редактирования поля. Изменяйте этот параметр с осторожностью, чтобы не потерять доступ к системе. Изменение списка разрешённых издателей (iss) может привести к полной блокировке аутентификации пользователей через SSO. Прежде чем использовать данную настройку, ознакомьтесь с документацией |
| Настройки JWT для SSO | ||
| Алгоритм подписи JWT | RS256 | При переходе на алгоритм, несовместимый с текущим ключом, вызовите функцию «Сгенерировать пару ключей» вручную (если вы вошли через SSO) либо подождите, пока система «break glass» обнаружит повреждённую конфигурацию и сбросит ключи. Это приведёт к аннулированию всех токенов доступа без завершения сессий и отзыва push-токенов. Если вы хотите завершить недействительные сессии, это необходимо сделать вручную |
SSO_Auth_JWT_TTL | 1 year | |
| Создать тестовый JWT с собственной подписью | Настройка используется для проверки корректности пары ключей базы данных | |
| Сгенерировать пару ключей | Сгенерировать новый KID, открытый ключ, закрытый ключ и немедленно применить их. Это действие сразу аннулирует все выпущенные токены доступа без удаления сессий или отзыва push-токенов. Если вам нужно завершить недействительные сессии, это необходимо сделать вручную | |
| Время жизни Websocket JWT | 120s | WebSocket-авторизация использует механизм короткоживущих одноразовых JWT. Увеличьте это значение, если вам необходимо работать в среде с большими сетевыми задержками |
| Время первой попытки обновления токена доступа (%, от 0 до 100) | 50 | Процент от общего времени жизни (TTL) токена доступа, при наступлении которого веб-клиент «МойСквадус» запросит его обновление. Например, если время жизни токена доступа 25 мин., значение 10% означает, что попытка обновления веб-клиента произойдёт не раньше, чем за 150 сек. до истечения срока действия |
| Идентификатор ключа (kid) | cc0e0da169bc6479943c3971f5c677afac9b1a66f14fa02fc4a136bd76ea27a9 | ID ключа «МойСквадус» для подписи JWT-токена. Только для чтения, предоставляется для справки. Вы можете изменить его по кнопке «Сгенерировать пару ключей» |
| Публичный ключ проверки подписи JWT | см. ниже | Публичный ключ, используемый для проверки токена доступа, выпущенного самим «МойСквадус». Вы можете изменить его по кнопке «Сгенерировать пару ключей» |
| Сопоставление пользовательских данных | ||
| Уникальный идентификатор | email | Поля, которые используются для связи пользователя SSO и «МойСквадус» (указываются через запятую). Допустимые значения: email, username |
| Имя пользователя | username | |
| Адрес электронной почты | email | |
| Имя | `#{first_name} #{last_name}` | |
| Синхронизировать роли | Роли пользователей SSO при входе будут синхронизированы, локальные роли пользователей – перезаписаны | |
| Роль | roles | |
| Роль пользователя по умолчанию | user | |
| Сопоставление ролей SSO и «МойСквадус» | `{"Domain Users":"user","an_admin":"admin"}` | |
| Сопоставление пользовательских полей | `{}` | |
| Пользовательский интерфейс | ||
| Текст кнопки | Войти с помощью SSO |
Публичный ключ проверки подписи JWT:
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwmZ6YQK6SAq1B7WL/xW+xJSIc1XUD88Gbfn+86MPTXu7lw0Us2KPvprAOUwggXFJUy0lGHXYTnRwhM64+PQtKypb4IlKtM/TNyEQgAm7ot7PqT5ogpCT/m9GEADWMG0a8y0+lQra5Joaa1HtungOc40gzrLaTx1fd/AYMl/52MFVvzLwirczaQALhm5mncmj1hn5gIIm1j6FVZno/LUHPP6YN7bWt4EpauMd2dqTLIPUecfwYfdTwOEBq/Q7zdsaifSNPaFLfzbGfBDueZnhyWBvSrihbxTS5ZaWP7x1k+0fm+m3ZTUARqMHKua2bcjQ60IVxvwiuER/TZa0JYUUQIDAQAB
-----END PUBLIC KEY-----