SkyStream API

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

Как хранить ключи и ограничить ущерб от утечки.

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

Хранение

  • Храните ключ только на сервере: в хранилище секретов или в переменной окружения. Не записывайте его в код, который попадает в браузер, мобильное приложение или открытый репозиторий: там его прочтёт любой.
  • Не отправляйте запросы из браузера. API не поддерживает CORS: ключ в коде веб-страницы доступен каждому посетителю.
  • Не передавайте ключ в строке запроса. Такой запрос отклоняется, а ключ следует считать раскрытым.
  • Отправляйте запросы только по HTTPS. Запрос по HTTP отклоняется, но ключ к этому моменту уже передан открытым текстом: считайте его раскрытым.
  • Не пишите ключ в журналы. Если журнал запросов сохраняет заголовки, исключите из него Authorization.

Ключ начинается с sky_. По этому префиксу системы поиска утечек, например GitHub secret scanning и gitleaks, находят ключ в коде.

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

Ограничения ключа

У каждого ключа есть ограничения, которые снижают ущерб от утечки. Задавайте их при выпуске:

ОграничениеЧто даёт
ПраваКлюч меняет только то, что ему разрешено. Чтение доступно любому ключу. См. Права ключей
Срок30, 90, 180, 365 дней или бессрочно. Когда до конца срока остаётся не больше 7 суток, приходит уведомление
Разрешённые адресаДо 20 адресов или подсетей. Запросы с других адресов отклоняются
Суточный потолок тратОбязателен для ключа с правом billing. Больше этой суммы ключ не потратит за сутки

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

Уведомления

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

Отзыв

Отозвать ключ можно в разделе «API» панели. Отзыв действует сразу и необратим: запросы с отозванным ключом отклоняются с ошибкой api_key_revoked. Ключ может отозвать и администратор сервиса; об этом тоже приходит уведомление.

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

Если ключ утёк

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

На этой странице