Bonnes pratiques pour gérer les clés API

Lorsque vous utilisez des clés API dans vos applications, assurez-vous qu'elles sont protégées lors du stockage et de la transmission. L'exposition publique de vos clés API peut entraîner des frais inattendus sur votre compte ou un accès non autorisé à vos données. Pour contribuer à la sécurité de vos clés API, appliquez les bonnes pratiques suivantes.

Ajouter des restrictions de clés API à votre clé

En ajoutant des restrictions, vous pouvez limiter les modalités d'utilisation d'une clé API, réduisant ainsi l'impact d'une clé API compromise.

Pour en savoir plus, consultez Appliquer des restrictions de clé API.

Évitez d'utiliser des paramètres de requête pour fournir votre clé API aux API Google

Fournir votre clé API aux API en tant que paramètre de requête inclut votre clé API dans l'URL, ce qui l'expose au vol par analyse de l'URL. Utilisez plutôt l'en-tête HTTP x-goog-api-key ou une bibliothèque cliente.

Supprimez les clés API inutiles pour réduire l'exposition aux attaques

Conservez uniquement les clés API que vous utilisez activement pour réduire au maximum votre surface d'attaque.

N'incluez pas de clés API dans le code client et ne les validez pas dans des dépôts de code

Les clés API codées en dur dans le code source ou stockées dans un dépôt peuvent être interceptées ou volées par des acteurs malveillants. Le client doit transmettre les requêtes au serveur, qui peut ajouter les identifiants et émettre la requête.

Ne pas utiliser de clés API liées à des comptes de service en production

Les clés API associées à des comptes de service sont conçues pour accélérer l'expérience initiale des développeurs qui explorent les API Google Cloud . Ne les utilisez pas dans les environnements de production. À la place, planifiez la migration vers des alternatives plus sécurisées, telles que les stratégies Identity and Access Management (IAM) (Gestion de l'authentification et des accès) et les identifiants de compte de service éphémères, en suivant les pratiques de sécurité de moindre privilège.

Voici pourquoi vous devez passer dès que possible d'une clé API associée à un compte de service à des pratiques plus sécurisées:

  • Les clés API sont envoyées avec les requêtes. Il est donc plus probable que la clé soit exposée ou enregistrée.

  • Les clés API sont des identifiants de porteur. Cela signifie que si quelqu'un vole une clé API liée à un compte de service, il peut l'utiliser pour s'authentifier en tant que compte de service et accéder aux mêmes ressources que ce compte.

  • Les clés API liées à des comptes de service masquent l'identité de l'utilisateur final dans les journaux d'audit. Pour suivre les actions de chaque utilisateur, assurez-vous que chaque utilisateur dispose de son propre ensemble d'identifiants.

Implémentez une surveillance et une journalisation efficaces

La surveillance de l'utilisation de l'API peut vous aider à détecter une utilisation non autorisée. Pour en savoir plus, consultez la présentation de Cloud Monitoring et la présentation de Cloud Logging.

Isoler les clés API

Fournissez à chaque membre de l'équipe sa propre clé API pour chaque application. Cela peut vous aider à contrôler l'accès, à fournir une piste d'audit et à réduire l'impact d'une clé API compromise.

Alterner vos clés API régulièrement

Vous devez créer périodiquement des clés API, mettre à jour vos applications pour qu'elles utilisent les nouvelles clés API et supprimer les anciennes.

Pour en savoir plus, consultez la section Remplacer une clé API.

Envisager une méthode plus sécurisée pour autoriser l'accès

Pour savoir comment choisir une méthode d'authentification, consultez la section Méthodes d'authentification.