BazaarLinkBazaarLink
Войти
ДокументацияAPI СсылкаSDK СсылкаАгентное использованиеAI Навыки
Содержание

Список разрешённых IP

Список разрешённых IP

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

Когда это полезно

Это подходит для production-развёртываний на серверах с фиксированным исходящим IP. Если приложение отправляет запросы из домашней или мобильной сети либо с меняющегося адреса, сначала убедитесь, что исходящий IP стабилен, иначе вы можете сами заблокировать себе доступ.

Как настроить

Откройте /keys , откройте меню «⋯» нужного ключа, выберите «Список разрешённых IP», введите записи и сохраните.

Также можно использовать PATCH /api/v1/keys/:id с авторизованной сессией или Management API key:

PATCH https://api.bazaarlink.ai/v1/keys/KEY_ID
Authorization: Bearer sk-bl-YOUR_MANAGEMENT_KEY
Content-Type: application/json

{
"allowedCidrs": [
  "203.0.113.7",
  "198.51.100.0/24"
]
}

# Clear the allowlist and return to unrestricted access
{"allowedCidrs": []}

Формат записей

В UI вводите одно значение в каждой строке. В API передавайте те же значения в массиве `allowedCidrs`. Поддерживаются обычный IPv4-адрес, IPv4 CIDR или IPv6 literal (только точное совпадение).

203.0.113.7
198.51.100.0/24
2001:db8::1

Поведение

Пустой список (отправленный как пустой массив []) означает отсутствие ограничений по исходному IP. Это значение по умолчанию, поэтому поведение существующих ключей не меняется.

Исходный IP берётся из заголовка `cf-connecting-ip`.

Если список не пуст, но исходный IP определить не удалось, запрос отклоняется (fail-closed).

⚠️ Важно: при отказе возвращается только общий 401
Запрос не из списка или запрос, для которого нельзя определить исходный IP, получает в точности тот же общий HTTP 401, что и при недействительном ключе; отдельного сообщения об ошибке нет. Это намеренный дизайн безопасности, чтобы получивший ключ злоумышленник не узнал о существовании списка. Обратная сторона — неверная настройка выглядит точно как недействительный ключ и крайне сложна для отладки. Перед сохранением убедитесь, что исходящий IP вашего сервера уже есть в списке.
⚠️ Важно: IPv6 поддерживает только точное сравнение строк
Для IPv6 вычисление подсетей не выполняется: строка адреса должна полностью совпадать. Если IPv6-адрес меняется, вы можете потерять доступ. Диапазоны CIDR /0–/32 поддерживаются только для IPv4.
Когда изменения вступают в силу
После успешного PATCH или сохранения в UI экземпляр, выполнивший обновление, немедленно очищает свой кэш. В обычных условиях другие экземпляры синхронизируются примерно в течение 15 секунд. Если общий Redis временно недоступен, межэкземплярная инвалидация не распространяется сразу и может задержаться до TTL кэша в один час.
Поддержка
Здравствуйте! Чем мы можем помочь?
Отправьте сообщение, и мы ответим в ближайшее время.
Список разрешённых IP | BazaarLink