Используйте ключи API со статическим API Карт

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

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

Прежде чем вы начнете

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

Создание ключей 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, вам следует подписывать запросы к этому API. Дополнительные сведения см. в разделе «Рекомендации по обеспечению безопасности API ».

Чтобы ограничить ключ API:

Консоль

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

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

  2. Выберите ключ API, для которого вы хотите установить ограничение. Появится страница свойств ключа API.
  3. В разделе «Ограничения ключей» установите следующие ограничения:
    • Ограничения применения:
      1. Чтобы принимать запросы из предоставленного вами списка IP-адресов веб-серверов, выберите IP-адреса (веб-серверы, задания cron и т. д.) в списке ограничений приложения . Укажите один или несколько адресов IPv4 или IPv6 или подсеть, используя нотацию CIDR. IP-адреса должны совпадать с исходным адресом, который наблюдают серверы платформы Google Maps. Если вы используете преобразование сетевых адресов (NAT) , это обычно соответствует общедоступному IP-адресу вашего компьютера.
    • Ограничения API:
      1. Нажмите Ограничить ключ .
      2. Выберите Maps Static API в раскрывающемся списке «Выбор API» . Если Maps Static 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/keys/KEY_ID" \
    --api-target="static-maps-backend.googleapis.com"
    --allowed-ips="IP_ADDRESS"

Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:

Добавление ключа API в ваш запрос

Вы должны включать ключ API в каждый запрос Maps Static API. В следующем примере замените YOUR_API_KEY своим ключом API.

https://maps.googleapis.com/maps/api/staticmap?center=Z%C3%BCrich&zoom=12&size=400x400&key= YOUR_API_KEY

HTTPS требуется для запросов, использующих ключ API.

Что дальше

Запросы Maps Static API также должны использовать цифровую подпись .