Zero Trust DevSecOps
devsecopsDéfinition
Zero Trust DevSecOps est l'application des principes du modèle Zero Trust ("ne jamais faire confiance, toujours vérifier") aux environnements et pipelines DevSecOps, remettant en question l'hypothèse implicite que les composants internes d'un pipeline CI/CD ou d'un environnement de développement sont intrinsèquement fiables. Introduit par John Kindervag (Forrester Research), le Zero Trust repose sur la vérification continue de l'identité et du contexte pour chaque accès, indépendamment de la localisation réseau du demandeur. Dans les environnements DevSecOps, l'hypothèse "inside = trusted" se manifeste de nombreuses façons qui créent des risques : les pipelines CI ont souvent accès à des credentials de production via des secrets CI sans rotation ni audit des accès, les développeurs ont des accès larges aux environnements de staging qui peuvent contenir des données sensibles, les outils DevOps internes (Nexus, Jira, GitLab) sont accessibles sur le réseau interne sans authentification forte sous prétexte qu'ils sont "internes", et les artefacts de build sont considérés fiables simplement parce qu'ils ont été produits par "notre" CI. L'application du Zero Trust à DevSecOps se concrétise par : des identités vérifiables pour chaque composant du pipeline (OIDC tokens pour les pipelines GitHub Actions, Workload Identity pour les workloads GCP/AWS, SPIFFE/SPIRE pour les services Kubernetes), le moindre privilège systématique (les pipelines ont uniquement les accès nécessaires à leurs fonctions, jamais des accès larges "pour simplifier"), la vérification de chaque artefact (signature Cosign, attestations SLSA — un artefact non signé n'est pas déployé même s'il vient "de notre CI"), et l'audit logging systématique de tous les accès aux systèmes DevOps (git push, déploiements, accès aux secrets). La mise en oeuvre du Zero Trust DevSecOps s'appuie sur des composants comme SPIFFE/SPIRE pour l'identité des workloads, Sigstore pour les attestations d'artefacts, OPA/Kyverno pour les politiques d'admission Kubernetes, et des solutions d'authentification forte pour l'accès aux outils DevOps (SSO avec MFA obligatoire).
SPIFFE/SPIRE : identité vérifiable pour les workloads
SPIFFE (Secure Production Identity Framework for Everyone) et son implémentation SPIRE (SPIFFE Runtime Environment) fournissent une identité cryptographique vérifiable à chaque workload dans les environnements distribués. Chaque service reçoit un SVID (SPIFFE Verifiable Identity Document — certificat X.509) dont l'identité (spiffe://trust-domain/path) est attestée par le SPIRE Server. Ces SVIDs permettent l'authentification mTLS entre services sans gestion manuelle de certificats, avec rotation automatique et révocation immédiate en cas de compromission. SPIRE s'intègre avec Istio, Envoy, et les cloud providers pour une identité Zero Trust unifiée.