web-dev-qa-db-fra.com

Comment utiliser Google API Keys en toute sécurité?

Donc, j'utilise l'API Google Maps sur mon premier projet que je suis en train de faire ... Alors oui, je suis nouveau et je suis désolé si cela est simple ou évident, mais je n'ai pas été en mesure de trouver une réponse ou une direction claire. Vous trouverez ci-dessous la documentation que j'ai trouvée sur Google concernant l'utilisation sécurisée de la clé API.


Meilleures pratiques pour l'utilisation sécurisée de clés d'API

Lorsque vous utilisez des clés API dans vos applications, veillez à les sécuriser. Exposer publiquement vos informations d'identification peut compromettre votre compte, ce qui pourrait entraîner des frais inattendus sur votre compte. Pour sécuriser vos clés d’API, suivez ces meilleures pratiques:

N'intégrez pas de clés d'API directement dans du code: les clés d'API incorporées dans du code peuvent être exposées accidentellement au public, par exemple si vous oubliez de supprimer les clés du code que vous partagez. Au lieu d’intégrer vos clés API dans vos applications, stockez-les dans des variables d’environnement ou dans des fichiers hors de l’arborescence source de votre application . Ne stockez pas les clés API dans des fichiers de l’arborescence source de votre application: Si vous stockez des clés API dans des fichiers, conservez les clés API. les fichiers en dehors de l'arborescence source de votre application pour vous assurer que vos clés ne se retrouvent pas dans votre système de contrôle du code source. Cela est particulièrement important si vous utilisez un système de gestion de code source public tel que GitHub . Limitez l'utilisation de vos clés d'API par les adresses IP, les URL de référence et les applications mobiles qui en ont besoin: En limitant les adresses IP, le référent Les URL et les applications mobiles pouvant utiliser chaque clé permettent de réduire l'impact d'une clé d'API compromise. Vous pouvez spécifier les hôtes et les applications pouvant utiliser chaque clé à partir de la console en ouvrant la page Informations d'identification, puis en créant une nouvelle clé d'API avec les paramètres souhaités ou en modifiant les paramètres d'une clé d'API . Supprimer les clés d'API inutiles : Pour minimiser les risques d'attaque, supprimez les clés d'API dont vous n'avez plus besoin . Régénérez régulièrement vos clés d'API: Vous pouvez régénérer les clés d'API à partir de la page Informations d'identification de la console Cloud Platform en cliquant sur Régénérer pour chaque clé. Ensuite, mettez à jour vos applications pour utiliser les clés nouvellement générées. Vos anciennes clés continueront à fonctionner pendant 24 heures après avoir généré des clés de remplacement . Révisez votre code avant de le publier: Assurez-vous que votre code ne contient pas de clés API ou toute autre information privée avant de le rendre public.


Maintenant, le problème est que je ne vois pas comment intégrer Google Map à mon site Web sans l'inscrire directement dans le code. Actuellement, mon API se trouve dans mon index.html comme ceci:

<script async defer
    src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap">
</script>

Mais encore une fois cela est directement dans mon code pour le monde pour voir ce que je crois être le mauvais sens.

40
Jack O

Pour l’AP3 Javascript de Google Maps, les clés doivent sont publiques sur votre page . Le texte applicable est le suivant:

Limitez l'utilisation de vos clés d'API aux seuls adresses IP, URL de renvoi et applications mobiles qui en ont besoin

Accédez à la console Google API et générez une clé, en la limitant aux URL que vous possédez (ou souhaitez mettre sur la carte) pour empêcher le vol de quotas. 

46
geocodezip

L'article Meilleures pratiques pour les clés d'API vous faites référence à fournit uniquement des instructions générales sur l'utilisation des clés d'API. Avec certaines API destinées aux utilisateurs finaux, telles que l'API JavaScript de Google Maps, vous ne pouvez pas éviter d'exposer la clé d'API à l'utilisateur final. .

Dans une application API Google Maps JavaScript publique, il est donc vivement recommandé d'ajouter une restriction de référent à toute clé utilisée dans un système de production, en particulier celles qui font face au public, et d'autoriser uniquement l'URL du domaine, de l'hôte ou même du fichier complet de votre application.

Lorsque vous créez votre clé dans Google API Console et que vous choisissez les informations d'identification configurées pour l'API JavaScript de Maps, l'assistant vous indiquera comment sécuriser la clé et vous demandera les URL que vous souhaitez autoriser.

14
Ville N.

J'ai eu des problèmes avec cela aussi. Ce que j'ai fait était de charger la clé à partir du serveur, puis d'utiliser cette bibliothèque pour charger l'api de Google une fois la clé extraite: https://www.npmjs.com/package/google-maps . Vous pouvez alors en plus verrouiller le référent http

0
jgerstle