SEC11-BP05 Centralisation des services pour les packages et les dépendances - AWS Well-Architected Framework

SEC11-BP05 Centralisation des services pour les packages et les dépendances

Fournissez des services centralisés aux équipes de créateurs pour l'obtention de packages logiciels et d'autres dépendances. Cela permet de valider les packages avant qu'ils ne soient incorporés au logiciel que vous écrivez, et fournit une source de données pour l'analyse du logiciel utilisé dans votre entreprise.

Résultat souhaité : un logiciel est composé d'un ensemble d'autres packages logiciels en plus du code qui est en train d'être écrit. Cela simplifie la consommation des implémentations de fonctionnalités utilisées de manière répétée, telles qu'un analyseur JSON ou une bibliothèque de chiffrement. La centralisation logique des sources de ces packages et dépendances offre aux équipes de sécurité un mécanisme de validation des propriétés des packages avant leur utilisation. Cette approche réduit également le risque qu'un problème inattendu soit causé par une modification d'un package existant, ou par des équipes de créateurs incluant des packages arbitraires provenant directement d'Internet. Utilisez cette approche en conjonction avec les flux de tests manuels et automatisés pour accroître la confiance dans la qualité du logiciel en cours de développement.

Anti-modèles courants :

  • Extraction de packages à partir de référentiels arbitraires sur Internet.

  • Ne pas tester les nouveaux packages avant de les mettre à la disposition des créateurs.

Avantages liés au respect de cette bonne pratique :

  • Meilleure compréhension des packages utilisés dans le logiciel en cours de création

  • Possibilité d'informer les équipes responsables de la charge de travail lorsqu'un package doit être mis à jour en fonction de la compréhension de qui utilise quoi.

  • Réduire le risque qu'un package présentant des problèmes soit inclus dans votre logiciel.

Niveau de risque exposé si cette bonne pratique n'est pas respectée : moyen

Directives d'implémentation

Fournissez des services centralisés pour les packages et les dépendances d'une manière simple à utiliser pour les créateurs. Les services centralisés sont logiquement centraux plutôt que d'être implémentés sous la forme d'un système monolithique. Cette approche vous permet de fournir des services de manière à répondre aux besoins de vos concepteurs. Vous devez implémenter une méthode efficace pour ajouter des packages au référentiel lorsque des mises à jour sont effectuées ou que de nouvelles exigences apparaissent. Des services AWS tels que AWS CodeArtifact ou des solutions de partenaires AWS similaires permettent de fournir cette capacité.

Étapes d'implémentation :

  • Implémentez un service de référentiel centralisé et logique, disponible dans tous les environnements où des logiciels sont développés.

  • Prévoir l'accès au référentiel dans le cadre de la procédure d'attribution du Compte AWS.

  • Concevez une automatisation pour tester les packages avant qu'ils ne soient publiés dans un référentiel.

  • Conservez des métriques concernant les packages, les langages et les équipes les plus couramment utilisés et ayant subi le plus grand nombre de changements.

  • Prévoyez un mécanisme automatisé permettant aux équipes de créateurs de demander de nouveaux packages et de fournir des commentaires.

  • Analysez régulièrement les packages de votre référentiel afin d'identifier l'impact potentiel des problèmes récemment découverts.

Ressources

Bonnes pratiques associées :

Documents connexes :

Vidéos connexes :

Exemples connexes :