Ce guide explique comment vous assurer que votre application et vos identifiants utilisateur sont sécurisés.
Effectuer la validation de l'application OAuth
Le champ d'application OAuth 2.0 pour l'API Google Ads est classé comme un champ d'application restreint. Vous devez donc effectuer le processus de validation de l'application OAuth avant de mettre votre application en production. Pour en savoir plus, consultez la documentation Google Identity, l'article du centre d'aide sur les applications non validées et la documentation sur la configuration de l'écran de consentement OAuth.
Sécuriser les identifiants de l'application
Vous devez sécuriser l'ID client OAuth 2.0 et le code secret du client de votre application. Ces identifiants aident vos utilisateurs et Google à identifier votre application. Ils doivent donc être gérés avec soin. Vous devez traiter ces identifiants d'application comme des mots de passe. Ne les partagez pas à l'aide de mécanismes non sécurisés, par exemple en les publiant sur des forums publics, en envoyant des fichiers de configuration contenant ces identifiants dans des pièces jointes d'e-mails, en codant en dur les identifiants ou en les validant dans un dépôt de code. Nous vous recommandons d'utiliser un gestionnaire de secrets tel que Google Cloud Secret manager ou AWS Secret Manager lorsque cela est possible.
Si vos codes secrets client OAuth 2.0 sont compromis, vous pouvez les réinitialiser. Un jeton de développeur peut également être réinitialisé.
Sécuriser le jeton de développeur
Le jeton de développeur vous permet d'effectuer des appels d'API vers un compte, mais il n'y a aucune restriction quant aux comptes avec lesquels il peut être utilisé pour effectuer les appels. Par conséquent, un jeton de développeur compromis peut être utilisé par une autre personne pour effectuer des appels attribués à votre application. Pour éviter ce problème, prenez les mesures préventives suivantes :
Traitez votre jeton de développeur comme un mot de passe. Ne le partagez pas à l'aide de mécanismes non sécurisés, par exemple en le publiant sur des forums publics ou en envoyant des fichiers de configuration contenant les jetons de développeur en pièce jointe d'un e-mail. Nous vous recommandons d'utiliser un gestionnaire de secrets tel que Google Cloud Secret Manager ou AWS Secret Manager lorsque cela est possible.
Si votre jeton de développeur est compromis, vous devez le réinitialiser.
- Connectez-vous au compte administrateur Google Ads que vous avez utilisé lorsque vous avez demandé l'API Google Ads.
- Accédez à Outils et paramètres > Centre d'API.
- Cliquez sur la flèche du menu déroulant à côté de Jeton de développeur.
- Cliquez sur le lien Réinitialiser le jeton. Votre ancien jeton de développeur devrait cesser de fonctionner immédiatement.
- Mettez à jour la configuration de production de votre application pour utiliser le nouveau jeton de développeur.
Sécuriser les comptes de service
Les comptes de service nécessitent l'emprunt d'identité au niveau du domaine pour fonctionner correctement avec l'API Google Ads. De plus, vous devez être client Google Workspace pour configurer l'emprunt d'identité au niveau du domaine. Pour ces raisons, nous vous déconseillons d'utiliser des comptes de service lorsque vous effectuez des appels d'API Google Ads. Toutefois, si vous décidez d'utiliser des comptes de service, vous devez les sécuriser comme suit :
Traitez votre clé de compte de service et votre fichier JSON comme des mots de passe. Sécurisez-les à l'aide d'un gestionnaire de secrets tel que Google Cloud Secret Manager ou AWS Secret Manager lorsque cela est possible.
Suivez les bonnes pratiques supplémentaires de Google Cloud pour sécuriser et gérer vos comptes de service.
Sécuriser les jetons utilisateur
Si votre application autorise plusieurs utilisateurs, vous devez prendre des mesures supplémentaires pour protéger les jetons d'actualisation et d'accès des utilisateurs. Stockez les jetons de manière sécurisée au repos et ne les transmettez jamais en texte brut. Utilisez un système de stockage sécurisé adapté à votre plate-forme.
Gérer la révocation et l'expiration des jetons d'actualisation
Si votre application demande un jeton d'actualisation OAuth 2.0 dans le cadre de l'autorisation, vous devez également gérer son invalidation ou son expiration. Les jetons d'actualisation peuvent être invalidés pour diverses raisons. Votre application doit répondre de manière optimale en réautorisant l'utilisateur lors de sa prochaine session de connexion ou en nettoyant ses données, le cas échéant. Les tâches hors connexion, telles que les tâches Cron, doivent détecter et enregistrer les comptes dont les jetons d'actualisation ont expiré, au lieu de continuer à effectuer des requêtes ayant échoué. Google peut limiter les applications qui génèrent un nombre élevé d'erreurs sur une période prolongée afin de maintenir la stabilité des serveurs d'API.
Gérer le consentement pour plusieurs champs d'application
Si votre application demande une autorisation pour plusieurs champs d'application OAuth 2.0, l'utilisateur peut ne pas accorder tous les champs d'application OAuth que vous avez demandés. Votre application doit gérer le refus des champs d'application en désactivant les fonctionnalités concernées. Vous ne pouvez inviter l'utilisateur à nouveau que lorsqu'il a clairement indiqué son intention d'utiliser la fonctionnalité spécifique qui nécessite le champ d'application. Dans ce cas, utilisez l'autorisation incrémentale pour demander les champs d'application OAuth appropriés.
Si les fonctionnalités de base de votre application nécessitent plusieurs champs d'application, expliquez cette exigence à l'utilisateur avant de lui demander son consentement.