Bonnes pratiques en matière de gestion des clés API secrètes
Découvrez comment gérer les clés API secrètes et les fuites de clés.
Les clés API secrètes sont une forme d’identifiants de compte, comme un nom d’utilisateur et un mot de passe. Contrairement aux clés publiables, qui peuvent être intégrées en toute sécurité dans des pages Web et des applications, vous devez limiter les clés API secrètes à votre environnement serveur et les protéger contre toute exposition. Si un acteur malveillant obtient votre clé secrète, il peut l’utiliser pour nuire à votre entreprise et à d’autres parties prenantes de l’écosystème Stripe.
Vous devez conserver vos clés d’API secrètes en lieu sûr. Suivez ces bonnes pratiques, y compris l’utilisation des fonctionnalités de sécurité proposées par Stripe.
Protégez-vous contre la compromission des clés API secrètes
Prenez les mesures suivantes pour éviter les fuites de clés et sécuriser vos clés en place :
- Utilisez des systèmes de gestion des clés sécurisés (KMS) pour stocker les clés secrètes : lorsque vous créez une clé secrète active à partir du Dashboard de Stripe, vous ne la verrez qu’une seule fois. Copiez immédiatement la clé dans un KMS, qui traite les informations sensibles à l’aide d’un cryptage et de contrôles d’accès. Veillez à ne pas laisser de copie de la clé dans le code source de votre application ou dans d’autres fichiers locaux.
- Accordez l’accès uniquement aux personnes qui en ont besoin : établissez une politique claire définissant quels utilisateurs ont l’autorisation de créer, mettre à jour ou consulter les clés. Limitez l’accès aux seules personnes concernées. Auditez régulièrement les permissions des clés et les logs d’accès pour éviter tout privilège excessif sur les clés.
- Ne partagez pas de clés secrètes de manière non sécurisée : ne partagez pas vos clés dans des e-mails, des messages instantanés ou des messages adressés au service client. Stripe ne vous demandera jamais votre clé API secrète.
- Ne stockez pas de clés dans les dépôts de code source (comme GitHub) : des acteurs malveillants scrutent les dépôts publics à la recherche de clés API. Ne commettez donc jamais votre clé secrète. Même si votre dépôt est privé, des copies du code peuvent exister dans les environnements de développement des membres de l’équipe, où une application compromise pourrait les lire.
- N’intégrez pas de clés secrètes dans les applications : des acteurs malveillants peuvent exploiter les clés secrètes en recherchant des motifs spécifiques dans le code de l’application. Évitez d’intégrer des clés secrètes dans des outils clients, des SDK ou des applications mobiles. Privilégiez plutôt l’utilisation de clés publiques, conçues spécifiquement pour ces cas d’usage.
- Procédez à la rotation de vos d’API périodiquement : définissez et mettez en œuvre un processus de renouvellement de vos clés d’API Stripe. Cela vous permet de comprendre où vos clés sont utilisées et de préparer votre organisation au cas où votre clé API serait compromise. En mettant en place des processus de renouvellement des clés, vous pouvez réagir à un événement de compromission de clé API avec un impact minimal sur votre entreprise.
- Vérifiez les logs journaux des requêtes API pour surveiller les activités suspectes : auditez ou surveillez régulièrement les logs des requêtes API afin d’identifier de manière proactive les clés API utilisées de manière abusive. Assurez-vous que vos développeurs n’utilisent pas de clés de production lorsqu’une clé Sandbox est appropriée. Pour en savoir plus, consultez la rubrique Environnement de test versus le mode production.
- Maintenez vos formations et votre documentation à jour : assurez-vous que la documentation sur la gestion des clés API secrètes au sein de votre organisation est toujours actualisée. Organisez régulièrement des sessions de formation pour renforcer les bonnes pratiques.
Personnaliser l’accès à l’API avec des clés API limitées
Vous pouvez créer des clés API limitées pour accorder un accès limité à l’API Stripe. Le partage de clés limitées est plus sûr que le partage de votre clé secrète.
Les clés limitées vous permettent de réduire l’impact potentiel d’une compromission. Par exemple, si vous souhaitez fournir une clé API Stripe à un tiers chargé de surveiller les litiges, vous pouvez créer une clé restreinte qui accorde un accès en lecture seule aux ressources liées aux litiges dans votre compte Stripe et bloque tout le reste. Si le tiers était compromis, un acteur malveillant qui aurait volé votre clé serait limité à ces seuls appels API.
Limiter les adresses IP pouvant envoyer des requêtes API
Vous pouvez renforcer la sécurité d’une clé secrète ou limitée en précisant quelles adresses IP pourront l’utiliser pour envoyer des requêtes API. Nous vous recommandons cette option si votre service dispose de plages d’adresses IP de sortie stables et d’un processus de gestion des modifications de la liste blanche lorsque ces plages de sortie changent.
Pour découvrir comment restreindre une clé à une ou plusieurs adresses IP, consultez la page expliquant comment restreindre des clés secrètes ou limitées à une liste ou une plage d’adresses IP.
Gérer les clés secrètes d’API compromises
Si vous identifiez une clé API secrète compromise, telle qu’une publication accidentelle sur GitHub, renouvelez immédiatement la clé dansle Dashboard de Stripe et remplacez l’ancienne clé dans votre intégration. Si vous détectez des comportements anormaux sans confirmer que la clé API est compromise, nous vous recommandons d’effectuer un renouvellement proactif des clés API tout en examinant la cause première en parallèle.
Si Stripe détecte une clé API secrète exposée, nous vous en informons immédiatement et vous demandons de faire renouveler la clé. Vous devez agir rapidement pour réduire les dommages potentiels et les pertes financières causés par l’utilisation non autorisée de la clé compromise jusqu’à ce que vous la désactiviez. Dans certains cas, nous pouvons désactiver la clé de manière proactive. Dans ce cas, nous vous informons de toutes les actions que nous prenons.
Stripe ne garantit pas que nous détectons toutes les clés compromises. Vous êtes responsable de suivre ces bonnes pratiques pour éviter les clés compromises et de vous assurer que votre intégration avec Stripe est sécurisée.