heygrc
Réponse

Comment stocker les clés API et les secrets sans enfreindre l'ISO 27001 A.8.24 ?

l'équipe heygrc

Ne placez jamais la clé dans le code source. Lisez-la depuis les variables d'environnement ou un magasin de secrets géré à l'exécution, gardez-la hors du dépôt et des journaux, et faites tourner tout secret ayant été validé. L'ISO 27001 A.8.24 (et la simple prudence) exige que les clés soient gérées, pas codées en dur.

  1. Lire les secrets depuis un magasin géré

    Chargez les identifiants depuis des variables d'environnement soutenues par un gestionnaire de secrets (les secrets de votre plateforme, un coffre-fort, une configuration soutenue par un KMS cloud), résolus à l'exécution. Le code référence le secret, il ne le contient jamais.

  2. Les garder hors du dépôt et des journaux

    Une clé dans le code source entre dans le dépôt, son historique, et chaque clone et cache CI. Une clé dans une ligne de journal va partout où vos journaux vont. Aucune de ces situations ne peut être annulée en supprimant la clé dans un commit ultérieur.

  3. Faire tourner tout ce qui a fuité

    Si un secret a déjà été validé, traitez-le comme exposé et faites-le tourner. Le supprimer du fichier actuel ne le supprime pas de l'historique déjà distribué.

config/payments.ts+1 -1
- const key = "<the live key, pasted inline>"+ const key = process.env.PAYMENTS_SECRET_KEYconst client = new Payments(key)
heygrcISO 27001 A.8.24

La clé est lue depuis un secret géré à l'exécution au lieu d'être stockée dans le dépôt.