Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
DevSecOps, parfois appelé Secure DevOps, repose sur les principes de DevOps , mais met la sécurité au centre de l’ensemble du cycle de vie de l’application. Ce concept est appelé « sécurité décalée vers la gauche » : il déplace la sécurité en amont d’une préoccupation de production uniquement pour englober les premières étapes de la planification et du développement. Chaque équipe et chaque personne qui travaille sur une application est nécessaire pour prendre en compte la sécurité.
Microsoft et GitHub offrent des solutions pour renforcer la confiance dans le code que vous exécutez en production. Ces solutions inspectent votre code et autorisent sa traçabilité aux éléments de travail et aux insights sur les composants tiers qui sont en cours d’utilisation.
Sécuriser votre code avec GitHub
Les développeurs peuvent utiliser des outils d’analyse de code qui analysent rapidement et automatiquement le code dans un dépôt GitHub pour rechercher des vulnérabilités de sécurité et des erreurs de codage.
Vous pouvez analyser le code pour rechercher, trier et hiérarchiser les correctifs pour les problèmes existants. L’analyse du code empêche également les développeurs d’introduire de nouveaux problèmes. Vous pouvez planifier des analyses pendant des jours et des heures spécifiques, ou déclencher des analyses lorsqu’un événement spécifique se produit dans le référentiel, tel qu’un envoi (push). Vous pouvez également suivre les dépendances de votre référentiel et recevoir des alertes de sécurité lorsque GitHub détecte les dépendances vulnérables.
- Analyser votre code avec CodeQL et l’analyse des jetons
- Gérer les avis de sécurité pour vos projets
- Sécuriser les dépendances de votre code avec Dependabot
Suivre votre travail avec Azure Boards
Teams peut utiliser le service web Azure Boards pour gérer des projets logiciels. Azure Boards fournit un ensemble complet de fonctionnalités, notamment la prise en charge native de Scrum et Kanban, des tableaux de bord personnalisables et des rapports intégrés.
Créer et déployer des conteneurs avec Azure Pipelines
Intégrez facilement les clusters Azure Pipelines et Kubernetes. Vous pouvez utiliser les mêmes documents YAML pour créer des pipelines en plusieurs étapes en tant que code pour l’intégration continue et la livraison continue.
Azure Pipelines intègre le suivi des métadonnées dans vos images conteneur, y compris les hachages de validation et les numéros de problème d’Azure Boards, afin que vous puissiez inspecter vos applications en toute confiance.
La possibilité de créer des pipelines de déploiement avec des fichiers YAML et de les stocker dans le contrôle de code source permet de générer une boucle de commentaires plus étroite entre les équipes de développement et d’exploitation qui s’appuient sur des documents clairs et lisibles.
- Stocker des images Docker dans Azure Container Registry
- Créer une image Docker avec Azure Pipelines
- Déployer sur Kubernetes avec une traçabilité complète
- Sécuriser vos pipelines Azure
Exécuter et déboguer des conteneurs avec Bridge to Kubernetes
Le développement d’une application Kubernetes peut être difficile. Vous avez besoin de fichiers de configuration Docker et Kubernetes. Vous devez déterminer comment tester votre application localement et interagir avec d’autres services dépendants. Vous devrez peut-être développer et tester plusieurs services à la fois et avec une équipe de développeurs.
Bridge to Kubernetes vous permet d’exécuter et de déboguer du code sur votre ordinateur de développement, tout en restant connecté à votre cluster Kubernetes avec le reste de votre application ou services. Vous pouvez tester votre code de bout en bout, atteindre des points d’arrêt sur le code s’exécutant dans le cluster et partager un cluster de développement entre les membres de l’équipe sans interférence.
Appliquer la sécurité des conteneurs avec Microsoft Defender pour conteneurs et Azure Policy
Microsoft Defender pour conteneurs est la solution native cloud pour sécuriser vos conteneurs.
- Vue d’ensemble de Microsoft Defender pour conteneurs
- Comprendre Azure Policy pour les clusters Kubernetes
- Azure Kubernetes Service (AKS)
Gérer les identités et l’accès avec la plateforme d’identités Microsoft
La plateforme d’identités Microsoft est une évolution de la plateforme de développement Azure Active Directory (Azure AD). Il permet aux développeurs de créer des applications qui connectent toutes les identités Microsoft et obtiennent des jetons pour appeler des API Microsoft, telles que Microsoft Graph ou des API créées par les développeurs.
Microsoft Entra External ID fournit une identité métier à client en tant que service. Vos clients utilisent leurs identités de comptes sociaux, d’entreprise ou locales préférées pour accéder à l’authentification unique à vos applications et API.
La gestion des accès pour les ressources cloud est une fonction essentielle pour toute organisation qui utilise le cloud. Le contrôle d’accès en fonction du rôle Azure (Azure RBAC) vous permet de gérer qui a accès aux ressources Azure, ce qu’ils peuvent faire avec ces ressources et les zones auxquelles ils peuvent accéder.
Vous pouvez utiliser la plateforme d’identités Microsoft pour vous authentifier auprès du reste de vos outils DevOps, y compris la prise en charge native dans Azure DevOps et les intégrations avec GitHub Enterprise.
Actuellement, un cluster Azure Kubernetes Service (AKS) (en particulier, le fournisseur de cloud Kubernetes) nécessite une identité pour créer des ressources supplémentaires telles que des équilibreurs de charge et des disques managés dans Azure. Cette identité peut être une identité gérée ou un principal de service. Si vous utilisez un principal de service, vous devez fournir un ou AKS en créer un pour votre compte. Si vous utilisez l’identité managée, une identité managée est créée automatiquement par AKS. Pour les clusters qui utilisent des principaux de service, le principal de service doit être renouvelé pour que le cluster fonctionne. La gestion des principaux de service ajoute de la complexité, c’est pourquoi il est plus facile d’utiliser des identités managées à la place. Les mêmes exigences d’autorisation s’appliquent aux principaux de service et aux identités managées.
Les identités managées sont essentiellement un wrapper autour des principaux de service et simplifient leur gestion.
Gérer les clés et les secrets avec Azure Key Vault
Azure Key Vault peut être utilisé pour stocker et contrôler en toute sécurité l’accès aux jetons, mots de passe, certificats, clés API et autres secrets. La centralisation du stockage des secrets d’application dans Key Vault vous permet de contrôler leur distribution. Key Vault réduit considérablement les chances que les secrets soient accidentellement divulguées. Lorsque vous utilisez Key Vault, les développeurs d’applications n’ont plus besoin de stocker les informations de sécurité dans leur application, ce qui élimine la nécessité de faire partie de ces informations dans le code. Par exemple, une application peut avoir besoin de se connecter à une base de données. Au lieu de stocker la chaîne de connexion dans le code de l’application, vous pouvez la stocker en toute sécurité dans Key Vault.
Surveiller vos applications
Avec Azure Monitor, vous pouvez surveiller votre application et votre infrastructure en temps réel, en identifiant les problèmes liés à votre code et aux activités suspectes potentielles et aux anomalies. Azure Monitor s’intègre aux pipelines de mise en production dans Azure Pipelines pour permettre l’approbation automatique des portes de qualité ou de la restauration des mises en production en fonction des données de surveillance.
Découvrez comment surveiller vos applications et votre infrastructure à l’aide d’Azure Application Insights et d’Azure Monitor.
- Gestion des performances des applications avec Application Insights
- Surveiller les applications conteneurisées avec Azure Monitor
Créer l’architecture appropriée
La sécurité est l’un des aspects les plus importants d’une architecture. La sécurité assure la confidentialité, l’intégrité et les garanties de disponibilité contre les attaques délibérées et les abus de vos données et systèmes précieux. La perte de ces garanties peut avoir un impact négatif sur les opérations et les revenus de votre entreprise, ainsi que sur la réputation de votre organisation sur la place de marché.