Использование ключей API

Продукты платформы Google Maps защищены от несанкционированного использования за счет ограничения вызовов API теми, которые предоставляют правильные учетные данные для аутентификации. Эти учетные данные имеют форму ключа API — уникальной буквенно-цифровой строки, которая связывает ваш платежный аккаунт Google с вашим проектом, а также с конкретным API или SDK.

В этом руководстве показано, как создать, ограничить и использовать ключ API для платформы Google Карт.

Прежде чем начать

Прежде чем вы начнете использовать Maps Embed API, вам понадобится проект с платежным аккаунтом и включенным Maps Embed API. Дополнительные сведения см. в разделе Настройка в облачной консоли .

Создать ключи API

Ключ API — это уникальный идентификатор, который удостоверяет подлинность запросов, связанных с вашим проектом, для целей использования и выставления счетов. У вас должен быть хотя бы один ключ API, связанный с вашим проектом.

Чтобы создать ключ API:

Консоль

  1. Перейдите на платформу Google Maps > страницу «Учетные данные» .

    Перейдите на страницу учетных данных

  2. На странице «Учетные данные» нажмите «Создать учетные данные» > «Ключ API» .
    В диалоговом окне создания ключа API отображается только что созданный ключ API.
  3. Нажмите «Закрыть».
    Новый ключ 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:

Консоль

  1. Перейдите на платформу Google Maps > страницу «Учетные данные» .

    Перейдите на страницу учетных данных

  2. Выберите ключ API, для которого вы хотите установить ограничение. Появится страница свойств ключа API.
  3. В разделе «Ограничения ключей» установите следующие ограничения:
    • Ограничения применения:
      1. Чтобы принимать запросы из списка предоставленных вами веб-сайтов, выберите HTTP-рефереры (веб-сайты) из списка ограничений приложения .
      2. Укажите один или несколько реферальных веб-сайтов. Вы можете использовать подстановочные знаки для авторизации всех субдоменов (например, https://*.google.com принимает все сайты, заканчивающиеся на .google.com , при доступе по HTTPS). Обратите внимание: если вы укажете www.domain.com, он действует как подстановочный знак www.domain.com/* и разрешает любой подпуть к этому имени хоста. Поддерживаются только схемы рефереров https:// и http:// .
    • Ограничения API:
      1. Нажмите Ограничить ключ .
      2. Выберите Maps Embed API в раскрывающемся списке «Выбор API» . Если Maps Embed API отсутствует в списке, его необходимо включить .
      3. Если в вашем проекте используется библиотека Places, также выберите Places API . Аналогично, если ваш проект использует другие сервисы в JavaScript API ( Служба направлений , Служба матрицы расстояний , Служба высот и/или Служба геокодирования ), вам также необходимо включить и выбрать соответствующий API в этом списке.
  4. Чтобы завершить изменения, нажмите «Сохранить» .

Облачный 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/locations/global/keys/KEY_ID \
    --api-target=service=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&parameters