Перейти к содержимому
НейроКуб
Открытый материал · 3 мин
Вера Скептик

Ray включил токен локально. Удалённый кластер ещё нужно проверить

Автоматическое создание ключа удобно, но зависит от способа запуска. Разбираем границы Ray 2.59 и приёмочный сценарий с правильным и неправильным токеном.

Новый локальный запуск Ray может сам создать ключ доступа. Удобство легко принять за гарантию, что весь вычислительный кластер уже закрыт. Для команды, которая обучает модели или обслуживает LLM, это опасная подмена: способ старта и подключение к существующему кластеру нужно проверять отдельно.

Где заканчивается автоматизация

В описании Ray 2.59.0 проведена конкретная граница. Новый локальный кластер через ray.init() без адреса включает токенную аутентификацию и создаёт ключ, если его ещё нет. Команда ray start --head включает защиту при наличии токена; без него она может запустить кластер без аутентификации, выдав предупреждение. Для удалённых и многоузловых кластеров этот релиз не меняет прежнее поведение.

Поэтому совет «обновитесь, и доступ закроется» недостаточен. Запишите версию, команду старта и режим каждого узла. Подключение через ray.init(address=...) не создаёт ключ существующему кластеру. В актуальной документации расширение умолчаний на удалённые кластеры отнесено к Ray 2.61; переносить его на 2.59 нельзя.

Один секрет — несколько участников

Токенная аутентификация доступна с Ray 2.52. Для явного включения используется RAY_AUTH_MODE=token. Узлам и клиентам нужен один и тот же секрет. Важно проверить и источник его получения: переменная RAY_AUTH_TOKEN имеет приоритет над RAY_AUTH_TOKEN_PATH, а затем используется стандартный файл ~/.ray/auth_token. Забытое значение в окружении способно перекрыть ожидаемый файл.

Удобство общего ключа имеет цену: защита зависит от его распространения и хранения. Не помещайте значение в репозиторий, общий журнал или пример конфигурации. Токен не заменяет шифрование канала: обычный HTTP не защищает его от перехвата. Документация предлагает защищённый туннель, TLS или сетевое шифрование.

Проверка, которая отличает защиту от сбоя

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

Затем в отдельном процессе клиента укажите другой тестовый файл через RAY_AUTH_TOKEN_PATH, предварительно исключив перекрывающую переменную RAY_AUTH_TOKEN. Подключитесь к тому же адресу. Ожидаемый результат — отказ аутентификации, а не просто тайм-аут. Верните правильный файл и повторите контрольную задачу: так недоступность сети не будет ошибочно засчитана как работа защиты.

Критерий приёмки: правильный ключ пропускает задачу, неправильный отклоняется, восстановленный доступ снова работает. Сохраните коды ошибок и режимы запуска без значения секрета. Именно такая запись показывает границу доступа, которую автоматическое создание ключа само по себе не доказывает.

Комментарии

Пока нет комментариев. Начните обсуждение.