Продукты платформы Google Maps защищены от несанкционированного использования за счет ограничения вызовов API теми, которые предоставляют правильные учетные данные для аутентификации. Эти учетные данные имеют форму ключа API — уникальной буквенно-цифровой строки, которая связывает ваш платежный аккаунт Google с вашим проектом, а также с конкретным API или SDK.
В этом руководстве показано, как создавать, ограничивать и использовать ключ API для платформы Google Maps.
Прежде чем начать
Прежде чем вы начнете использовать статический API просмотра улиц, вам понадобится проект с платежным аккаунтом и включенным статическим API просмотра улиц. Дополнительные сведения см. в разделе Настройка в Cloud Console .
Создание ключей API
Ключ API — это уникальный идентификатор, который удостоверяет подлинность запросов, связанных с вашим проектом, для целей использования и выставления счетов. У вас должен быть хотя бы один ключ API, связанный с вашим проектом.
Чтобы создать ключ API:
Консоль
Перейдите на платформу Google Maps > страницу «Учетные данные» .
- На странице «Учетные данные» нажмите «Создать учетные данные» > «Ключ 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, вам следует подписывать запросы к этому API. Дополнительные сведения см. в разделе «Рекомендации по обеспечению безопасности API» .
Чтобы ограничить ключ API:
Консоль
Перейдите на платформу Google Maps > страницу «Учетные данные» .
- Выберите ключ API, для которого вы хотите установить ограничение. Появится страница свойств ключа API.
- В разделе «Ограничения ключей» установите следующие ограничения:
- Ограничения применения:
- Чтобы принимать запросы из предоставленного вами списка IP-адресов веб-серверов, выберите IP-адреса (веб-серверы, задания cron и т. д.) из списка ограничений приложений . Укажите один или несколько адресов IPv4 или IPv6 или подсеть, используя нотацию CIDR. IP-адреса должны совпадать с исходным адресом, который наблюдают серверы платформы Google Maps. Если вы используете преобразование сетевых адресов (NAT) , это обычно соответствует общедоступному IP-адресу вашего компьютера.
- Ограничения API:
- Нажмите Ограничить ключ .
- В раскрывающемся списке «Выбор API» выберите «Статический 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="street-view-image-backend.googleapis.com" --allowed-ips="IP_ADDRESS"
Узнайте больше о Google Cloud SDK , установке Cloud SDK и следующих командах:
Добавление ключа API в ваш запрос
Вы должны включать ключ API в каждый запрос статического API просмотра улиц. В следующем примере замените YOUR_API_KEY
своим ключом API.
https://maps.googleapis.com/maps/api/streetview?location=Z%C3%BCrich&size=400x400&key= YOUR_API_KEY
HTTPS требуется для запросов, использующих ключ API.
Что дальше
Запросы статического API Street View также должны использовать цифровую подпись .