Продукты платформы Google Карт защищены от несанкционированного использования за счет ограничения вызовов API теми, которые предоставляют надлежащие учетные данные для аутентификации. Эти учетные данные представлены в виде ключа API — уникальной буквенно-цифровой строки, которая связывает ваш платежный аккаунт Google с вашим проектом и с конкретным API или SDK.
В этом руководстве показано, как создать, ограничить и использовать ключ API для платформы Google Maps.
Прежде чем вы начнете
Прежде чем вы начнете использовать Maps Embed API, вам нужен проект с платежным аккаунтом и включенным Maps Embed API. Дополнительные сведения см. в разделе Настройка в Cloud Console .
Создать ключи API
Ключ API — это уникальный идентификатор, который аутентифицирует запросы, связанные с вашим проектом, для целей использования и выставления счетов. У вас должен быть хотя бы один ключ API, связанный с вашим проектом.
Чтобы создать ключ API:
Приставка
Перейдите на страницу « Платформа Google Карт» > «Учетные данные ».
- На странице Учетные данные щелкните Создать учетные данные > Ключ API .
В диалоговом окне создания ключа API отображается только что созданный ключ API. - Щелкните Закрыть.
Новый ключ API указан на странице Учетные данные в разделе Ключи API .
(Не забудьте ограничить ключ API перед его использованием в рабочей среде.)
Облачный SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:
Ограничить ключи API
Google настоятельно рекомендует вам ограничивать свои ключи API, ограничивая их использование только теми API, которые необходимы для вашего приложения. Ограничение ключей API повышает безопасность вашего приложения, защищая его от необоснованных запросов. Дополнительные сведения см. в разделе Рекомендации по безопасности API .
Чтобы ограничить ключ API:
Приставка
Перейдите на страницу « Платформа Google Карт» > «Учетные данные ».
- Выберите ключ API, для которого вы хотите установить ограничение. Появится страница свойств ключа API.
- В разделе Основные ограничения установите следующие ограничения:
- Ограничения приложения:
- Чтобы принимать запросы из списка предоставляемых вами веб-сайтов, выберите HTTP-рефереры (веб-сайты) в списке Ограничения приложений .
- Укажите один или несколько ссылающихся веб-сайтов. Подстановочные знаки допустимы для авторизации всех субдоменов (например,
*.google.com
принимает все сайты, оканчивающиеся на.google.com
). Укажитеhttps://
иhttp://
как есть. Вы должны использовать специальное представление для других типов протоколов URL реферера. Например, отформатируйтеfile:///path/to/
как__file_url__//path/to/*
. После включения рефереров обязательно следите за своим использованием, чтобы убедиться, что оно соответствует вашим ожиданиям. Поддерживаются следующие реферальные протоколы:about://, app://, applewebdata://, asset://, chrome://, content://, file://, ftp://, ionic://, local://, ms-appx://, ms-appx-web://, ms-local-stream://, prism://, qrc://, res://, saphtmlp://
. - Ограничения API:
- Щелкните Ограничить ключ .
- Выберите Maps Embed API в раскрывающемся списке Select APIs . Если Maps Embed API отсутствует в списке, вам необходимо включить его.
- Если в вашем проекте используется Places Library, также выберите Places API . Аналогичным образом, если в вашем проекте используются другие службы в JavaScript API ( служба направлений, служба матрицы расстояний , служба высоты и/или служба геокодирования ), вы также должны включить и выбрать соответствующий API в этом списке.
- Чтобы завершить изменения, нажмите Сохранить .
Облачный SDK
Список существующих ключей.
gcloud services api-keys list --project="PROJECT"
Снимите существующие ограничения для существующего ключа.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
Установите новые ограничения для существующего ключа.
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api_target="maps-embed-backend.googleapis.com" --allowed-referrers="referer
Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:
Добавьте ключ API к вашему запросу
Вы должны включать ключ API в каждый запрос Maps Embed API. В следующем примере замените YOUR_API_KEY
своим ключом API.
https://www.google.com/maps/embed/v1/MAP_MODE?key=YOUR_API_KEY¶meters
HTTPS требуется для запросов, использующих ключ API.