VK Registry logo
Помощь
Обновлена 12 октября 2026 г. в 15:32

Аутентификация по HTTP-заголовкам

Аутентификация по HTTP-заголовкам — способ аутентификации, при котором VK Registry доверяет личности пользователя, установленной вышестоящим прокси-сервером.

Принцип работы аутентификации по HTTP-заголовкам

  1. Пользователь обращается к VK Registry через доверенный прокси-сервер.

  2. Прокси-сервер аутентифицирует пользователя через внешнюю систему.

  3. Прокси-сервер добавляет имя пользователя в доверенный HTTP-заголовок и перенаправляет запрос в VK Registry.

  4. VK Registry проверяет HTTP-заголовок:

    • Если HTTP-заголовок указан и содержит имя существующего пользователя VK Registry, запрос аутентифицируется от его имени. Роли и права доступа применяются как при других способах аутентификации.

    • Если HTTP-заголовок указан, но пользователь неизвестен, VK Registry игнорирует заголовок и переходит к другим способам аутентификации.

    • Если HTTP-заголовок отсутствует, VK Registry переходит к другим способам аутентификации.

  5. Если ни один способ аутентификации не сработал, VK Registry обрабатывает запрос как анонимный (подробнее — в разделе Анонимный доступ).

VK Registry не хранит состояние сессии, поэтому HTTP-заголовок проверяется при каждом запросе независимо.

Требования к доверенному прокси-серверу

  • Прокси-сервер аутентифицирует пользователя через внешнюю систему. Примеры: OIDC, Kerberos, SAML.

  • Прокси-сервер подставляет имя пользователя в доверенный HTTP-заголовок. Имя заголовка выбрано согласно RFC 9110 (Tokens):

    • длина — от 1 до 128 символов;
    • разрешенные символы — латинские буквы, цифры и символы !, #, $, %, &, ', *, +, -, ., ^, _, `, |, ~.

    Пример: X-Forwarded-Login.

  • Прокси-сервер удаляет доверенный HTTP-заголовок из клиентских запросов и устанавливает его значение самостоятельно. Это исключает подмену заголовка.

  • Прямой доступ к VK Registry в обход прокси-сервера закрыт на сетевом уровне. Например, файервол настроен так, чтобы порт VK Registry был доступен только с адресов доверенных прокси-серверов.

Примеры прокси-серверов: NGINX, Apache HTTPD, OIDC Proxy программного комплекса VK Dev Platform.

Подготовка УЗ для аутентификации по HTTP-заголовку

Аутентификация по HTTP-заголовку не добавляет учетные записи (УЗ) пользователей в VK Registry и не назначает роли существующим пользователям.

Чтобы при аутентификации по HTTP-заголовку у пользователей автоматически появился доступ:

  1. Авторизуйтесь в VK Registry с помощью учетной записи администратора.

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

  3. Убедитесь, что УЗ пользователей есть в VK Registry. Параметры ID пользователей должны совпадать со значениями, которые прокси-сервер передает в HTTP-заголовке.

    При необходимости добавьте пользователей на LDAP-сервере, в OIDC-провайдере или локально в VK Registry (подробнее — в разделе Создание пользователя).

  4. Убедитесь, что пользователям назначены нужные роли. Чтобы проверить роли пользователя, нажмите на его имя.

    При необходимости назначьте роли вручную или автоматически через сопоставление ролей (подробнее — в разделах LDAP и OIDC).

Включение аутентификации по HTTP-заголовкам

Аутентификация по HTTP-заголовку по умолчанию отключена.

Перед включением убедитесь, что:

Чтобы настроить и включить аутентификацию по HTTP-заголовкам:

  1. Авторизуйтесь в VK Registry с помощью учетной записи администратора.

  2. Перейдите в раздел Безопасность → Аутентификация по HTTP.

  3. Задайте параметры:

    • Имя заголовка — ключ HTTP-заголовка, в котором прокси-сервер передает имя пользователя. Значение должно совпадать с указанным на прокси-сервере. Пример: X-Forwarded-Login.
    • Включить аутентификацию по HTTP-заголовку — включите опцию.
  4. Нажмите кнопку Сохранить.

После включения автоматически активируется область безопасности HTTP Header Authentication Realm. Она добавляется первой в список Активные области, что обеспечивает приоритет над остальными способами аутентификации.

Отключение аутентификации по HTTP-заголовкам

  1. Авторизуйтесь в VK Registry с помощью учетной записи администратора.
  2. Перейдите в раздел Безопасность → Аутентификация по HTTP.
  3. Отключите опцию Включить аутентификацию по HTTP-заголовку.
  4. Нажмите кнопку Сохранить.

Этот механизм также можно отключить, убрав HTTP Header Authentication Realm из списка активных областей в разделе Безопасность → Области безопасности (подробнее — в разделе Деактивация области безопасности).

После отключения:

  • Область HTTP Header Authentication Realm деактивируется.
  • Доверенный HTTP-заголовок в запросах игнорируется.
  • Имя HTTP-заголовка сохраняется в настройках. При повторном включении задавать имя заново не нужно.
  • Поведение остальных способов аутентификации остается прежним.
Была ли статья полезна?