API-ключи

API-ключи Ultralytics Platform обеспечивают безопасный программный доступ для удаленного обучения, вывода и автоматизации. Создавай именованные ключи с шифрованием AES-256-GCM для различных сценариев использования.

Раздел API-ключей на вкладке профиля настроек Ultralytics Platform со списком ключей

Создание API-ключа

Создай новый API-ключ:

  1. Перейди в Settings > API Keys (Настройки > API-ключи)
  2. Нажми Create Key (Создать ключ)
  3. Введи название для ключа (например, "Training Server")
  4. Нажми Create Key (Создать ключ)

Диалоговое окно создания API-ключа на вкладке профиля настроек Ultralytics Platform

Название ключа

Присвой ключу описательное название:

  • training-server — для удаленных серверов обучения
  • ci-pipeline — для CI/CD интеграции
  • local-dev — для локальной разработки

Отображение ключа

После создания ключ отображается один раз:

Диалоговое окно копирования созданного API-ключа на вкладке профиля настроек Ultralytics Platform

Скопируй свой ключ

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

Формат ключа

API-ключи имеют следующий формат:

ul_a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4
  • Префикс: ul_ идентифицирует ключи Ultralytics
  • Основная часть: 40 случайных шестнадцатеричных символов
  • Всего: 43 символа

Безопасность ключей

  • Ключи хранятся с использованием шифрования AES-256-GCM
  • Аутентификация использует хэш SHA-256 для быстрого поиска по префиксу и сравнения хэшей
  • Полные значения ключей никогда не хранятся в открытом виде

Использование API-ключей

Переменная окружения

Установи ключ как переменную окружения:

export ULTRALYTICS_API_KEY="YOUR_API_KEY"

YOLO CLI

Установи ключ через YOLO CLI:

yolo settings api_key="YOUR_API_KEY"

В коде

Используй ключ в своих скриптах Python:

import os

# From environment (recommended)
api_key = os.environ.get("ULTRALYTICS_API_KEY")

# Or directly (not recommended for production)
api_key = "YOUR_API_KEY"

HTTP-заголовки

Включай ключ в API-запросы:

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://platform.ultralytics.com/api/...

Смотри справочник REST API для получения списка всех доступных конечных точек.

Удаленное обучение

Включи потоковую передачу метрик с помощью своего ключа.

Требования к версии пакета

Для интеграции с платформой требуется ultralytics>=8.4.35. Более старые версии НЕ будут работать с платформой.

pip install "ultralytics>=8.4.35"
export ULTRALYTICS_API_KEY="YOUR_API_KEY"
yolo train model=yolo26n.pt data=coco.yaml project=username/project name=exp1

Смотри облачное обучение для ознакомления с полным руководством по удаленному обучению.

Управление ключами

Просмотр ключей

Все ключи перечислены на вкладке Settings > API Keys:

На каждой карточке ключа указаны название, полное расшифрованное значение (которое можно скопировать), относительное время создания и кнопка отзыва.

Отзыв ключа

Отозви ключ, если он скомпрометирован или больше не нужен:

  1. Найди нужный ключ в разделе API-ключей
  2. Нажми кнопку Revoke (корзина)
  3. Подтверди отзыв
Мгновенный эффект

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

Перегенерация ключа

Если ключ скомпрометирован:

  1. Создай новый ключ с тем же названием
  2. Обнови свои приложения
  3. Отозви старый ключ

API-ключи рабочего пространства

API-ключи привязаны к текущему активному рабочему пространству:

  • Личное рабочее пространство: ключи проходят аутентификацию как твой личный аккаунт
  • Командное рабочее пространство: ключи проходят аутентификацию в контексте команды

При переключении рабочих пространств на боковой панели раздел API-ключей показывает ключи для выбранного пространства. Для управления API-ключами рабочего пространства требуется роль редактора или выше. Подробности о ролях см. в разделе Команды.

Рекомендации по безопасности

Что нужно делать

  • Храни ключи в переменных окружения
  • Используй отдельные ключи для разных сред
  • Своевременно отзывай неиспользуемые ключи
  • Периодически меняй ключи
  • Используй описательные названия для определения назначения ключа

Чего делать нельзя

  • Не добавляй ключи в систему контроля версий
  • Не используй одни и те же ключи в разных приложениях
  • Не выводи ключи в логах приложений
  • Не встраивай ключи в клиентский код

Ротация ключей

Для безопасности периодически меняй ключи:

  1. Создай новый ключ с тем же названием
  2. Обнови приложения, чтобы они использовали новый ключ
  3. Проверь, что приложения работают корректно
  4. Отозви старый ключ
График ротации

Для критически важных приложений рекомендуется менять ключи каждые 90 дней.

Устранение неполадок

Ошибка недействительного ключа

Error: Invalid API key

Решения:

  1. Проверь, правильно ли скопирован ключ (включая префикс ul_)
  2. Убедись, что ключ не был отозван
  3. Подтверди, что переменная окружения установлена
  4. Убедись, что ты используешь ultralytics>=8.4.35

Доступ запрещен

Error: Permission denied for this operation

Решения:

  1. Проверь, являешься ли ты владельцем ресурса или имеешь ли соответствующий доступ к рабочему пространству
  2. Проверь, принадлежит ли ключ к правильному рабочему пространству
  3. При необходимости создай новый ключ

Ограничение скорости запросов

Error: Rate limit exceeded

Решения:

  1. Сократи частоту запросов — посмотри таблицу лимитов для уточнения лимитов по каждой конечной точке
  2. Реализуй экспоненциальную задержку (exponential backoff), используя заголовок Retry-After
  3. Используй выделенную конечную точку для неограниченной пропускной способности вывода

Часто задаваемые вопросы (FAQ)

Сколько ключей я могу создать?

Жесткого лимита на количество API-ключей нет. Создавай столько, сколько нужно для различных приложений и сред.

Есть ли у ключей срок действия?

Ключи не имеют срока действия. Они остаются активными до тех пор, пока ты их не отзовешь. Подумай о внедрении ротации ключей в целях безопасности.

Могу ли я увидеть свой ключ после создания?

Да, полные значения ключей доступны в списке ключей в разделе Settings > API Keys. Платформа расшифровывает и отображает твои ключи, чтобы ты мог скопировать их в любой момент.

Привязаны ли ключи к конкретному региону?

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

Могу ли я делиться ключами с членами команды?

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

Комментарии