Подключение API при использовании CSP
Для корректной работы приложения с API, если оно использует Content Security Policy (CSP), нужно включить в политику правила, которые разрешат загрузку ресурсов с нужных доменов.
Новые правила CSP для API
Мы внедряем фиксированные правила CSP для обеспечения безопасности ваших приложений. Для этих правил изменилась загрузка API, что позволяет гарантировать совместимость с современными стандартами безопасности.
Для плавной миграции используйте параметр csp=202512 в строке подключения API (https://api-maps.yandex.ru?apikey=APIKEY&csp=202512). Это позволит API работать с новыми правилами CSP.
С 1 апреля 2026 года параметр csp=202512 станет необязательным, и API будет автоматически работать с обновленными правилами CSP.
Быстрый старт
Для быстрого начала работы с API и CSP вы можете использовать готовые примеры политик, приведенные ниже. Эти политики включают все необходимые правила для базовой работы с картами и дополнительными HTTP API методами.
Content-Security-Policy:
script-src https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://yastatic.net https://suggest-maps.yandex.ru 'unsafe-eval';
connect-src https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://*.maps.yandex.net https://suggest-maps.yandex.ru https://search-maps.yandex.ru https://api.routing.yandex.net;
style-src https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://yastatic.net;
img-src data: https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://*.maps.yandex.net https://yastatic.net;
worker-src data: https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://yastatic.net;
CSP правила для базовой работы API
В таблице ниже приведены правила, которые необходимо добавить в политику приложения для базовой работы c API. Правила перечисляются отдельно для каждой директивы.
|
Директива |
Правила, которые требуется добавить в директиву |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если для какого-либо ресурса API политика определена неправильно, то карта (либо ее объекты) будут отображаться некорректно. При этом API не отслеживает, для каких ресурсов политика задана неверно. Чтобы получить информацию о том, какие ресурсы карты не могут быть загружены, можно воспользоваться директивой report-uri.
Ниже приведен пример политики, в которой определены правила для работы с API:
Content-Security-Policy:
script-src https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://yastatic.net 'unsafe-eval';
connect-src https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://*.maps.yandex.net;
style-src https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://yastatic.net;
img-src data: https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://*.maps.yandex.net https://yastatic.net;
worker-src data: https://api-maps.yandex.ru https://*.api-maps.yandex.ru https://yastatic.net;
CSP правила для запросов в HTTP API
В JS API есть методы которые делают запросы в HTTP API:
ymaps3.suggest– запрос в HTTP API геосаджестymaps3.search– запрос в HTTP API геопоиск и геокодерymaps3.route- запрос в HTTP API поиск маршрутов
Если приложение использует эти методы то для их корректной работы добавьте домены соответствующих API в политику:
|
Метод |
Директива |
Правила, которые требуется добавить в директиву |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|