Как безопасно использовать ключи API Google
Итак, я использую API Карт Google в своем первом проекте, который я делаю... Поэтому да, я новичок, и мне жаль, если это базовое или очевидное, но я не смог найти ясный ответ или направление. Ниже приведена документация, которую я нашел из Google, безопасно используя ключ API.
Рекомендации по безопасному использованию ключей API
Когда вы используете ключи API в своих приложениях, позаботьтесь, чтобы они были защищены. Публичное раскрытие ваших учетных данных может привести к сбою вашей учетной записи, что может привести к непредвиденным расходам на ваш аккаунт. Чтобы ваши ключи API были защищены, выполните следующие рекомендации:
Не вставляйте ключи API непосредственно в код: ключи API, встроенные в код, могут быть случайно открыты публике, например, если вы забыли удалить ключи из кода, который вы используете. Вместо того, чтобы внедрять ваши ключи API в свои приложения, храните их в переменных среды или в файлах за пределами вашего исходного дерева приложений.
Не храните ключи API в файлах внутри дерева исходных текстов приложения. Если вы храните ключи API в файлах, храните файлы вне дерева исходных текстов приложения, чтобы гарантировать, что ваши ключи не попадут в систему управления исходным кодом. Это особенно важно, если вы используете общедоступную систему управления исходными кодами, такую как GitHub.
Ограничьте свои ключи API, которые будут использоваться только с IP-адресами, URL-адресами и мобильными приложениями, которые в них нуждаются: ограничивая IP-адреса, URL-адреса рефералов и мобильные приложения, которые могут использовать каждый ключ, вы можете уменьшить влияние скомпрометированного API ключ. Вы можете указать хосты и приложения, которые могут использовать каждый ключ из консоли, открыв страницу учетных данных, а затем либо создав новый ключ API с нужными настройками, либо отредактировав настройки ключа API.
Удаление ненужных ключей API. Чтобы свести к минимуму воздействие атаки, удалите все ключи API, которые вам больше не нужны.
Периодически обновляйте ключи API. Вы можете восстановить ключи API на странице учетных данных консоли Cloud Platform, нажав кнопку "Обновить" для каждого ключа. Затем обновите свои приложения, чтобы использовать вновь созданные ключи. Ваши старые ключи продолжат работать в течение 24 часов после того, как вы сгенерируете сменные ключи.
Прежде чем публиковать его, просмотрите свой код, прежде чем публиковать его. Убедитесь, что ваш код не содержит ключей API или любой другой личной информации, прежде чем сделать свой код общедоступным.
Теперь моя проблема заключается в том, что я не могу понять, как включить Google Map на мой сайт, не вставляя его прямо в код. Прямо сейчас мой API находится в моем index.html следующим образом:
<script async defer
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>
Но снова это прямо в моем коде, чтобы мир увидел, что я считаю неправильным. Любые советы или направления приветствуются. Спасибо.
Ответы
Ответ 1
Для API Javascript Google Maps v3 ключи должны быть общедоступными на вашей странице.
Применимый текст:
Ограничьте свои ключи API, которые будут использоваться только IP-адресами, URL-адреса реферера и мобильные приложения , которые нуждаются в них
Перейдите в Консоль API Google и создайте ключ, ограничив его URL-адресами, которыми вы владеете (или хотите поместить карты), чтобы предотвратить квоту "кража".
Ответ 2
статья лучших рекомендаций по ключевым словам API, на которую вы ссылаетесь, содержит только общие рекомендации по использованию ключей API и с определенными интерфейсами API, как API JavaScript для Google Карт, вы не можете не подвергать ключ API конечному пользователю.
В общедоступном приложении API JavaScript для Карт настоятельно рекомендуется добавить ограничение реферера на любой ключ, используемый в производственной системе, особенно на публике, и разрешать только домен, хост или даже полный URL-адрес вашего приложения.
Когда вы создаете свой ключ в Консоль API Google и выбираете настройки учетных данных для API JavaScript Карт, мастер проинструктирует вас, как для защиты ключа и предложит вам URL-адреса, которые вы хотите разрешить.
Ответ 3
У меня были проблемы с этим. Я сделал загрузку ключа с сервера, а затем использовал эту библиотеку для загрузки google api после того, как был получен ключ: https://www.npmjs.com/package/google-maps. Затем вы можете заблокировать HTTP-реферер