Управление ключами доступа
Вы можете управлять демо-ключами и основными ключами доступа:
- переименовать ключ;
- посмотреть статусы ключа и сервисов;
- включить или выключить сервисы в ключе;
- настроить лимиты для сервисов;
- разблокировать сервис;
- настроить дополнительные ограничения ключа;
- заблокировать ключ.
Переименование ключа
- Перейдите на вкладку Ключи API и выберите нужный ключ.
- Нажмите Действия и выберите Изменить название.
- Введите новое название ключа и нажмите Сохранить.
Просмотр статусов ключа и сервисов
Вы можете посмотреть на вкладке Ключи API статусы ключей и сервисов в них, а также планируемую или наступившую дату блокировки ключа.
Статусы отображаются только для включенных сервисов, которые добавлены в подписку. Например, если в подписке 15 сервисов, а в ключе включено 10, то статус будет отображаться только для 10 сервисов.
Возможные статусы ключа:
- Активен: ключ работает. API сервисов принимают запросы.
- Неактивен: ключ заблокирован вручную или наступила дата блокировки ключа.
- Ждёт подписку: ключ не работает из-за проблем с подпиской, например, подписка ждёт оплаты.
Возможные статусы сервисов:
- Зелёный индикатор: сервис включен и активен. API сервиса принимает запросы.
- Красный индикатор: сервис включен, но остановлен или заблокирован из-за достижения лимитов в ключе или в подписке (выполнилось действие Остановка или Блокировка при достижении лимита). Если было настроено действие Уведомление, сервис отображается как включенный, так как API принимает запросы.
- Серый индикатор: сервис принадлежит ключу со статусом Неактивен или Ждёт подписку.
Включение и выключение сервисов
Вы можете включать или выключать сервисы в ключах со статусом Активен. При выключении сервиса его API перестанут принимать запросы.
- Перейдите на вкладку Ключи API и выберите нужный ключ.
- Чтобы включить или выключить сервис, используйте переключатель слева от названия сервиса.
Настройка лимитов для сервисов
Вы можете настраивать лимиты только для включенных сервисов, которые принадлежат ключам со статусом Активен.
Лимиты отображаются для всех сервисов, которые добавлены в подписку. Если сервис принадлежит ключу со статусом Неактивен, то в счётчике лимитов будет отображаться 0.
Важно
Если вы укажете значение лимита для сервиса больше лимита подписки, то сервис заблокируется при достижении лимита подписки.
-
Перейдите на вкладку Ключи API и выберите нужный ключ.
-
Нажмите значок
в строке нужного сервиса.
-
В окне Настройка лимитов в ключе настройте лимиты сервиса:
-
Период лимитов: срок действия лимита (минута, день или месяц).
-
Лимит достигнут: действие при достижении лимита:
- Уведомление: при достижении лимита придёт уведомление на электронную почту, указанную в профиле. Сервис продолжит работать.
- Остановка: при достижении лимита сервис временно заблокируется на период действия лимита. Сервис будет разблокирован автоматически после его окончания. При необходимости вы можете разблокировать сервис вручную.
- Блокировка: при достижении лимита сервис заблокируется. При необходимости вы можете разблокировать сервис.
-
Лимит: число запросов (или ответов) для сервиса, например, 1000 запросов в день.
-
-
Чтобы добавить ещё лимит, нажмите Добавить лимит и повторите шаг 3. Для одного сервиса можно настроить не более 100 лимитов.
-
Нажмите Сохранить.
Разблокировка сервиса
Сервис может быть заблокирован после выполнения действия Остановка или Блокировка при достижении лимита. Чтобы разблокировать сервис, в окне Настройка лимитов в ключе выполните одно из действий:
- В поле Лимит увеличьте число запросов (или ответов) для сервиса.
- Удалите лимит, нажав значок
.
Настройка дополнительных ограничений ключа
Важно
Ограничения применяются для всех сервисов, которые принадлежат ключу. Если лимиты подписки будут достигнуты раньше, чем указанные ограничения, ключ заблокируется.
-
Перейдите на вкладку Ключи API и выберите нужный ключ.
-
В разделе Ограничения настройте ограничения ключа:
- По HTTP-заголовкам: ограничение доступа по значениям заголовков.
- По IP и подсетям: ограничение доступа по IP-адресам.
- По приложению: ограничение доступа по ID мобильного приложения.
-
Нажмите Сохранить изменения.
По HTTP-заголовкам
Ограничивает доступ по HTTP-заголовкам в запросе:
Referer: по URL страницы.Origin: по имени сервера.User-Agent: по типу приложения, операционной системе и другим параметрам.
Пример использования: разрешить доступ только для запросов с домена example.com и от браузера с настройкой User-Agent Mozilla/5.0.
Шаги:
- В поле Origin укажите
example.com. - В поле User-Agent укажите
Mozilla/5.0. - Нажмите Сохранить изменения.
Результат: ключ будет работать только для запросов с заголовком Origin: example.com и User-Agent: Mozilla/5.0. Запросы с других доменов (например, test.com) или от других клиентов (например, curl/7.0) будут отклонены.
По IP и подсетям
Ограничивает доступ по списку IP-адресов или подсетей в формате CIDR (например, 192.168.1.0/24). Ограничение использует IP-адрес клиента, который передаётся в следующих заголовках:
Remote-Addr: IP-адрес источника TCP-соединения или IP-адрес прокси-сервера при использовании прокси или NAT.X-Forwarded-For: цепочка IP-адресов, где первый адрес — IP клиента. Рекомендуется использовать этот заголовок, так как он поддерживает сложные сетевые конфигурации с прокси.X-Real-IP: IP-адрес клиента, переданный прокси.
Пример использования: разрешить доступ для запросов только с IP-адресов корпоративной подсети 192.168.1.0/24.
Шаги:
-
В поле CIDR укажите подсеть
192.168.1.0/24. -
Нажмите Сохранить изменения.
-
Если вы используете прокси или NAT, заголовки могут отсутствовать или содержать неверный IP-адрес клиента, что может нарушить работу ограничения. Убедитесь, что ваша инфраструктура (прокси, балансировщики нагрузки, NAT, Ingress) передаёт заголовки с оригинальным IP-адресом клиента:
- Проверьте конфигурацию Ingress-контроллера Nginx в вашем кластере Kubernetes (например, файл
values.yamlв Helm-чарте). - Проверьте конфигурацию прокси или балансировщика нагрузки (например, директиву
proxy_set_headerв Nginx). - Включите логирование HTTP-заголовков (
Remote-Addr,X-Forwarded-For,X-Real-IP) в сервисе API-ключей. - Используйте инструменты анализа трафика для подтверждения, что хотя бы один заголовок содержит правильный IP-адрес клиента (например, Wireshark, tcpdump).
- Проверьте конфигурацию Ingress-контроллера Nginx в вашем кластере Kubernetes (например, файл
Результат: ключ будет работать только для запросов с IP-адресов из диапазона 192.168.1.0 — 192.168.1.255 при условии, что с IP-адреса клиента корректно передаётся один из заголовков (Remote-Addr, X-Forwarded-For, X-Real-IP). Запросы с других IP-адресов (например, 10.0.0.1) или без корректных заголовков будут отклонены.
При необходимости вы можете обратиться в службу поддержки для уточнения конфигурации или рекомендаций по настройке.
По приложению
Ограничивает доступ по значению идентификатора мобильного приложения (appId).
Пример использования: разрешить доступ для запросов только от приложения с идентификатором ru.dgis.sdk.app.
Чтобы отредактировать значение в поле App ID, обратитесь в службу поддержки.
Результат: ключ будет работать только для запросов от приложения с идентификатором ru.dgis.sdk.app. Запросы от других приложений (например, ru.dgis.test.app) будут отклонены.
Блокировка ключа
Важно
Заблокированный ключ нельзя активировать снова. Создайте новый ключ или обратитесь к менеджеру.
- Перейдите на вкладку Ключи API.
- В строке нужного ключа нажмите значок
и выберите Блокировать.