Перейти к содержимому
Перейти в KPanelПерейти в KPanel
Содержание
Аккаунт

API ключи и доступ разработчика

Машинный перевод. Английский оригинал доступен.

KapsuleHost предоставляет вам две поверхности разработчика: ограниченные API-ключи для программного чтения вашего аккаунта и удаленный кэш сборок, который ускоряет сборки Turborepo и Nx на ваших машинах и CI-раннерах.

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

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

API-ключи находятся в разделе Параметры, затем Безопасность, в карточке API ключи.

Карточка API ключи в параметрах безопасности KPanel с видимыми чипами области действия

  1. Перейдите в раздел Параметры, затем Безопасность.
  2. Прокрутите до API ключи и нажмите Новый ключ.
  3. Дайте ключу имя. Поле предлагает "Имя ключа (например, Мой скрипт автоматизации)". Имя предназначено только для вас, поэтому укажите, где будет использоваться ключ.
  4. Нажимайте на чипы области действия, чтобы выбрать, что может делать ключ. Три области для чтения предварительно выбраны: read:sites, read:email и read:domains. Нажимайте на чип, чтобы добавить или удалить его.
  5. Нажмите Создать.

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

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

Только роли Владелец и Администратор могут создавать ключ. Любая другая роль получает ошибку прав доступа. Когда создается ключ, предупреждение безопасности отправляется на адрес того, кто его создал, поэтому неожиданное письмо стоит немедленно проверить.

Области действия

Предлагаются семь областей действия:

Область действияПредоставляет
read:sitesЧтение ваших веб-сайтов
write:sitesЗарезервировано для операций записи на веб-сайты
read:emailЧтение ваших почтовых ящиков
write:emailЗарезервировано для операций записи на почтовые ящики
read:domainsЧтение ваших доменов
write:domainsЗарезервировано для операций записи на домены
read:billingЗарезервировано для чтения данных биллинга

Сегодня API клиента предназначен только для чтения. Области действия write: и read:billing можно выбрать на ключе, но в данный момент ни одна конечная точка клиента их не использует, поэтому их предоставление ничего не меняет. Предоставляйте только те области для чтения, которые вам действительно нужны, и пересмотрите ключ, когда будут доступны конечные точки записи.

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

Отправляйте ключ в качестве токена-носителя на заголовок Authorization.

curl https://kpanel.kapsulehost.com/api/v1/sites \
  -H "Authorization: Bearer YOUR_KEY_HERE"

Три конечные точки принимают API-ключ клиента:

Конечная точкаТребуемая область действияВозвращает
GET /api/v1/sitesread:sitesВаши веб-сайты с доменом, типом приложения и статусом
GET /api/v1/domainsread:domainsВаши домены со статусом и датой истечения
GET /api/v1/mailboxesread:emailВаши почтовые ящики

Запрос без ключа, с неизвестным ключом или отозванным ключом возвращает 401. Действительный ключ без правильной области действия возвращает 403 с сообщением, называющим требуемую область действия. Каждый успешный вызов обновляет временную метку последнего использования ключа.

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

Просмотр и отзыв ключей

Таблица API ключи перечисляет каждый активный ключ по Имени, Префиксу (видимому началу ключа) и Областям действия. Нажмите Отозвать в конце строки, чтобы его отключить.

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

Ключи принадлежат аккаунту, а не человеку, который их создал. Удаление коллеги со страницы команды не отзывает созданные ими ключи. Включите проверку ключей в процесс исключения: удалите человека, затем зайдите сюда и отозовите все, что они создали.

Создание и отзыв ключей записываются в журнале аудита под действиями api_key.* с указанием субъекта и исходящего IP-адреса.

Удаленный кэш сборок

Страница Разработчик в группе "Дополнительно" боковой панели параметров предлагает Удаленный кэш сборок. На панели описано это как способ "Ускорить сборки Turborepo и Nx путем совместного использования распределенного кэша на машинах и конвейерах CI".

  1. Перейдите в раздел Параметры, затем Разработчик.
  2. Нажмите Включить удаленный кэш.
  3. Скопируйте токен из панели с заголовком "Новый токен создан. Скопируйте его сейчас, он больше не будет показан".

Затем установите две переменные окружения в конфигурации CI или локальный .env.local:

TURBO_TOKEN=<your-token>
TURBO_TEAM=<your-account-id>

ID команды - это ваш ID аккаунта KapsuleHost, показанный в инструкциях по установке на той же странице.

На странице указана собственная совместимость: Turborepo 1.x и позже, Nx 16 и позже, а также любой инструмент, реализующий тот же протокол удаленного кэша. Артефакты хранятся на аккаунт и никогда не совместно используются между аккаунтами.

На карточке находятся два дополнительных элемента управления:

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

Выбор между двумя

Они решают несвязанные проблемы и не являются взаимозаменяемыми.

Используйте API-ключ, когда что-то вне KapsuleHost должно знать состояние вашего аккаунта: доска статуса, которая перечисляет ваши сайты, скрипт, который предупреждает вас об истечении доменов в ближайшее время, экспорт инвентаря.

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

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

Каждый запрос возвращает 401. Подтвердите, что вы отправили заголовок как Authorization: Bearer <key> с одним пробелом, что ключ не был усечен при копировании и что он не был отозван. Сравните начало вашего ключа со столбцом Префикс, чтобы убедиться, что вы используете тот ключ, который думаете.

Запрос возвращает 403, называя область действия. Ключ не содержит эту область действия. Области действия фиксируются при создании ключа, поэтому создайте замену с правильными областями действия и отозовите старую.

Я не вижу карточку API ключи. Она находится на странице "Безопасность", а не на странице "Разработчик". Страница "Разработчик" содержит только кэш сборок.

Кнопка "Новый ключ" ничего не делает. Ваша роль ниже администратора. Попросите владельца или администратора.

Сборки не попадают в кэш. Проверьте, что оба TURBO_TOKEN и TURBO_TEAM присутствуют в окружении сборки, что токен не был ротирован с момента его установки, и что страница по-прежнему показывает значок Active.

Появился ключ, который я не создавал. Считайте это компрометацией. Отозовите его, затем выполните инструкции из Account Security и проверьте журнал аудита на предмет того, что еще изменилось.

Это было полезно?

Вы ИИ? Читайте эту страницу в Markdown

Похожие статьи

Подключение ИИ-инструмента: быстрый стартФункция «Подключить ИИ» позволяет управлять сайтами, доменами и почтой из ИИ-инструмента, которым вы уже пользуетесь, например Claude Code, Cursor или Codex.…Уход с KapsuleHost: забираем всё с собойЭто полный контрольный список для переноса ваших сайтов, файлов, баз данных, почтовых ящиков и доменов к другому провайдеру, в том порядке, который сохраняет…Insights: Проблемы, обнаруженные до того, как вы их заметитеГде их найти Есть два способа. Значок колокольчика в верхней строке KPanel показывает количество непросмотренных элементов.…Закрытие аккаунта KapsuleHostЗакрытие аккаунта завершает последовательность шагов, а не является одной кнопкой: сначала отменяются услуги, домены переносятся или освобождаются, данные…

Всё ещё нужна помощь?

Спросите Kora, она знает ваш аккаунт, или свяжитесь с нашей командой.

Связаться с намиНаписать в поддержку