> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yahont.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Безопасность и защита

> Настройки безопасности времени выполнения: аутентификация, пароли, средства администратора и безопасность исходящих сетевых запросов

## Обзор

Страница **Безопасность и защита** находится в разделе **Панель администратора → Организация** и требует полного доступа
к панели администратора. Здесь собраны настройки безопасности,
которые можно менять во время работы без редактирования переменных окружения и перезапуска Yahont.

Каждый элемент управления сохраняется сразу после изменения. Текстовые поля JWT сохраняются, когда вы покидаете поле.
Каждая настройка изначально равна значению своей переменной окружения,
а заданное здесь значение переопределяет это значение по умолчанию. Если очистить поле JWT или поле длины пароля,
будет восстановлено значение по умолчанию из окружения.
Изменения записываются в журнал аудита с указанием действовавшего администратора и старого и нового значений.
Настройка «Ограничить открытую регистрацию» относится к рабочему пространству и в аудите не фиксируется.

> [!NOTE]
>
> Настройки кэшируются на каждом API-сервере до 10 секунд.
> В развёртываниях с несколькими API-серверами изменение может применяться везде в течение этого времени.

В Yahont Cloud отображается только часть страницы.
Настройки с пометкой **только для самостоятельного размещения** ниже контролирует оператор,
и они не отображаются в рабочих пространствах Cloud.

## Аутентификация

### Синхронизировать срок сессии с поставщиком удостоверений

Отклоняет сессию пользователя, когда истёк срок,
который поставщик OAuth или OIDC либо издатель JWT установил для токена,
вместо того чтобы держать пользователя в системе в течение срока сессии Yahont. По умолчанию выключено,
так как большинство поставщиков выдают короткоживущие токены, и пользователям пришлось бы часто входить заново.

Значение по умолчанию из окружения: `TRACK_EXTERNAL_IDP_EXPIRY`.

### Привязать аккаунты заново после смены клиента OIDC

Yahont распознаёт вернувшегося SSO-пользователя по идентификатору субъекта (`sub`), который присылает поставщик,
а не по адресу электронной почты. Некоторые поставщики выдают разный субъект для каждого клиента.
Microsoft Entra делает это для каждой регистрации приложения,
поэтому после переноса Yahont на новую регистрацию приложения каждый существующий пользователь возвращается с
неизвестным Yahont субъектом и получает отказ с ошибкой «уже существует с другим способом входа».

Пока эта настройка включена, вход с неизвестным субъектом, но с адресом электронной почты, совпадающим с аккаунтом,
уже связанным с тем же поставщиком, заменяет сохранённый субъект в этом аккаунте и впускает пользователя.
Каждая повторная привязка записывается в журнал API-сервера с ID пользователя и старым и новым субъектом.
Это не событие аудита.

Чтобы выполнить миграцию:

**1. Включите настройку**

Сделайте это после запуска нового клиента или новой регистрации приложения.

**2. Пусть пользователи войдут один раз**

Каждый вход перезаписывает сохранённый субъект пользователя.

**3. Выключите настройку**

Закройте это окно, как только ваши пользователи завершат вход.

Пользователи, которые не входили, пока настройка была включена,
сохраняют старый субъект и снова получают отказ после её выключения.
Включите её для них ещё раз или очистите их SSO-привязку вручную.

Настройка по умолчанию выключена и не имеет переменной окружения.
Совпадение адреса электронной почты само по себе не позволяет отличить миграцию клиента от случая,
когда поставщик присваивает адрес ушедшего пользователя новому человеку, поэтому вне миграции оставляйте её выключенной.
Аккаунты, связанные с другим поставщиком, и аккаунты, чей адрес изменился после регистрации (через поставщика),
получают отказ в любом случае. Деактивированный аккаунт никогда не привязывается заново.

### Ограничить открытую регистрацию

Только для самостоятельного размещения. Требует приглашения для вступления в рабочее пространство.
Это та же настройка рабочего пространства, что и на странице «Пользователи»; см.
[Ограничение круга участников](/admins/user_management/users_and_groups#restricting-who-can-join).

### Ограничить домены электронной почты

Только для самостоятельного размещения. Ограничивает регистрацию,
SSO-вход и вход по JWT адресами электронной почты из списка **Разрешённые домены электронной почты**.
Существующие пользователи вне списка получают отказ при следующем SSO-входе. Ограничение действует,
пока в списке есть хотя бы один домен. Включение переключателя открывает список, чтобы вы могли добавить первый домен.
Выключение сохраняет пустой список, что также переопределяет любое значение `VALID_EMAIL_DOMAINS` из окружения.

Значение по умолчанию из окружения: `VALID_EMAIL_DOMAINS`, значения через запятую.
Устаревшая форма в единственном числе `VALID_EMAIL_DOMAIN` по-прежнему читается.

### Отключить вход и регистрацию по паролю

Только для самостоятельного размещения. Отключает вход по паролю и публичную регистрацию, чтобы все входили через SSO.
Администраторы по-прежнему могут создавать пользователей с паролем на странице «Пользователи».
Yahont не позволит сохранить эту настройку, пока не включён ни один поставщик SSO, чтобы вы не заблокировали себя.
Переменной окружения нет.

## Политика паролей

Только для самостоятельного размещения. Требования проверяются,
когда пользователь задаёт новый пароль при базовой аутентификации. Существующие пароли повторно не проверяются.

| Настройка | Значение по умолчанию из окружения | По умолчанию |
| - | - | - |
| Минимальная длина пароля | `PASSWORD_MIN_LENGTH` | 8 |
| Максимальная длина пароля | `PASSWORD_MAX_LENGTH` | 64 |
| Требовать заглавную букву | `PASSWORD_REQUIRE_UPPERCASE` | выкл. |
| Требовать строчную букву | `PASSWORD_REQUIRE_LOWERCASE` | выкл. |
| Требовать цифру | `PASSWORD_REQUIRE_DIGIT` | выкл. |
| Требовать специальные символы | `PASSWORD_REQUIRE_SPECIAL_CHAR` | выкл. |

Максимальная длина должна быть от 4 до 256, а минимальная не может её превышать.
Значения вне этого диапазона отклоняются при сохранении.
Специальные символы берутся из набора `!@#$%^&*()_+-=[]{}|;:,.<>?`.

## Внешняя аутентификация JWT

Только для самостоятельного размещения. Принимает bearer-токены RS256, подписанные вашим поставщиком удостоверений,
в запросах к API. Три поля: **URL открытого ключа**, **Ожидаемая аудитория** и **Ожидаемый издатель**. Поле,
для которого задана переменная окружения, закреплено: оно показывается только для чтения,
а значение из окружения имеет приоритет. URL открытого ключа, сохранённый здесь,
должен использовать `https` и при сохранении проверяется по уровню защиты от SSRF. URL,
закреплённый переменной окружения, считается доверенным без этих проверок.

Настройка,
ротация ключей и работа с пользователями описаны в разделе [Аутентификация JWT](/deployment/authentication/jwt).

## Средства администратора

### Видимость полного каталога пользователей

Определяет, кто может получить список всех пользователей рабочего пространства; диалоги общего доступа используют его,
чтобы предлагать людей.

* **Видно всем пользователям** (по умолчанию): любой вошедший пользователь видит полный список пользователей.
* **Видно только администраторам**:
  список пользователей могут получить только пользователи с правом чтения пользователей.
  Остальные не могут делиться с отдельными людьми из диалогов общего доступа.
  Общий доступ для групп продолжает работать.

Значение по умолчанию из окружения: `USER_DIRECTORY_ADMIN_ONLY`.

### Режим инкогнито в чатах

Кто может начинать чаты в режиме инкогнито.
Такие чаты никогда не появляются в истории владельца и не записываются в память.

* **Выкл.** (по умолчанию): никто не может начинать чаты в режиме инкогнито.
* **Все**: любой вошедший пользователь.
* **Выбранные группы**: только члены групп, для которых включён режим инкогнито.
  После выбора этого варианта переключатель для каждой группы появляется на странице группы в разделе **Группы**.

Переменной окружения нет. Режим инкогнито остаётся выключенным, пока администратор его не включит.

### Записи чатов в режиме инкогнито

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

* **Только использование** (по умолчанию): содержимое сообщений не сохраняется. Расход токенов по-прежнему учитывается,
  поэтому применяются лимиты запросов, а чат не отображается в истории запросов.
* **Полная история**: записывается как любой другой чат, включая историю запросов, использование и трассировку.
  Скрыт только из собственной истории владельца.

### Маскировать сохранённые учётные данные

Только для самостоятельного размещения.
Как сохранённые API-ключи и учётные данные коннекторов отображаются администраторам.

* **Частично скрыты** (по умолчанию): показываются первые четыре и последние четыре символа, например `abcd...wxyz`.
  Значения короче 14 символов скрываются полностью.
* **Полностью видны**: показывается полное значение.

Значение по умолчанию из окружения: `MASK_CREDENTIAL_PREFIX`.

## Сетевая безопасность

### Внедрение переменных окружения LLM

Позволяет пользовательской конфигурации поставщика LLM задавать переменные окружения процесса на время вызова для
параметров поставщика, у которых нет параметра LiteLLM. Отключите,
чтобы требовать для каждой настройки поставщика эквивалент в LiteLLM. Переменной окружения нет.
По умолчанию включено для развёртываний с самостоятельным размещением. В Yahont Cloud всегда выключено,
потому что один процесс обслуживает много рабочих пространств.

### Защита от SSRF

Только для самостоятельного размещения.
Насколько строго Yahont проверяет исходящие HTTP-запросы на соответствие частным и внутренним диапазонам IP,
чтобы блокировать подделку запросов со стороны сервера (SSRF).

* **Проверять все запросы** (по умолчанию): каждый исходящий путь, включая коннекторы Web и GitHub,
  отклоняет частные и внутренние IP-адреса.
* **Проверять запросы LLM**: проверяются загрузки URL, запущенные LLM (`open_url`, MCP, OAuth).
  Настроенные администратором коннекторы по-прежнему могут обращаться к частным IP.
* **Разрешить частную сеть**: как «Проверять запросы LLM»,
  а также настроенные администратором конечные точки MCP и OAuth могут обращаться к хостам частной локальной сети.
  Адреса loopback и метаданных облака остаются заблокированными.
* **Отключено**: коннекторы не проверяются, а MCP, OAuth и загрузки ключей JWT могут обращаться к частным и loopback-
  хостам. Адреса метаданных облака остаются заблокированными, а `open_url` по-прежнему отклоняет loopback.
  Используйте только в доверенной сети, например для доступа к локальному бэкенду LLM.

Этот единственный элемент управления заменяет прежние переменные окружения для отдельных путей.
Теперь они лишь задают уровень по умолчанию, когда здесь ничего не сохранено:
`OPEN_URL_VALIDATE_SSRF=false` или `MCP_SERVER_ALLOW_LOOPBACK=true` задают **Отключено**,
`MCP_SERVER_ALLOW_PRIVATE_NETWORK=true` задаёт **Разрешить частную сеть**,
в остальных случаях по умолчанию **Проверять все запросы**.
Вариант **Проверять запросы LLM** можно выбрать только здесь.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.