Métier
Ingénieur DevSecOps
Intégrer la sécurité à chaque étape de la livraison logicielle, du code au runtime, pour que livrer vite et livrer sûr cessent de s'opposer, et piloter cette démarche par la mesure.
Viser ce métierCe que fait ce métier
- 7 responsabilités
- 18 missions
- 77 compétences
- 343 heures de travail une estimation, en partant de zéro
Le métier
Ce que fait un Ingénieur DevSecOps
Sept responsabilités. Chacune s’exerce à travers des missions concrètes, qui demandent des compétences.
Décrire et durcir l'infrastructure en code
Missions qui la composent
-
Configurer un parc par le code
Livrabledes serveurs configurés par des rôles Ansible idempotents, rejoués sans écart
-
Mesurer la conformité d'un serveur et de son code d'infrastructure
Livrableun serveur et un code d'infrastructure mesurés contre un référentiel (ANSSI, CIS), leurs écarts priorisés
-
Décrire une infrastructure en code, partageable et rejouable
Livrableune infrastructure découpée en modules versionnés, son state partagé et verrouillé, rejouée à l'identique
- Prévoir ce qu'un outil IaC va créer, modifier ou détruire : déclaratif, idempotence, état et plan
- Tenir un dépôt IaC sain : structure par couche, revue du plan, pyramide de contrôles et secrets hors du code
- Structurer une infrastructure en code à l'échelle : stacks, modules versionnés, environnements et dette
- Partager un state Terraform distant, verrouillé et récupérable
- Consommer et versionner des modules Terraform de façon reproductible
- Concevoir, structurer et tester un module Terraform réutilisable
Demandé aussi, hors mission
Tenir la production : vulnérabilités, fiabilité, incidents
Missions qui la composent
-
Traiter une vulnérabilité, de la détection au correctif
Livrableune vulnérabilité détectée, triée, corrigée ou datée en exception, l'image reconstruite
-
Tenir la production dans la durée
Livrableexceptions datées en VEX, un SLO qui alerte, un runbook, les métriques DORA
-
Répondre à un incident de sécurité
Livrableun incident de sécurité contenu, ses traces reconstituées, sa cause et ses actions documentées
Demandé aussi, hors mission
Sécuriser la chaîne d'approvisionnement logicielle
Missions qui la composent
-
Centraliser l'identité des utilisateurs sur un fournisseur d'identité
Livrableun fournisseur d'identité persistant avec son realm, ses utilisateurs, groupes, rôles et journaux d'événements, et une application branchée en OpenID Connect dont les jetons sont validés
-
Fournir secrets et identités aux applications
Livrablechaque application avec une identité minimale et un accès au coffre limité à ses chemins, ses secrets délivrés à durée de vie bornée ou montés depuis un Secret Kubernetes, jamais écrits dans son image ou ses manifestes
- Stocker un secret dans un coffre et le lire sans jamais l'écrire en clair
- Scoper l'accès à un coffre au strict nécessaire et expliquer un refus
- Délivrer un secret à durée de vie bornée, le renouveler et le révoquer en urgence
- Configurer une application par ConfigMap et Secret
- Donner à un workload une identité minimale (ServiceAccount)
-
Livrer un artefact traçable
Livrableune image durcie, son SBOM et une attestation de provenance
- Lire une image OCI et vérifier son intégrité : index, manifeste, configuration, couches et digests
- Sécuriser l'installation et les conteneurs
- Durcir le build, les images et l'IaC
- Produire le SBOM d'un artefact et qualifier ses vulnérabilités avec un VEX
- Publier une image sur un registre : jeton d'accès, tag, digest et publication depuis la CI
- Signer un artefact, attester sa provenance et la vérifier avant déploiement
-
Durcir la chaîne de livraison
Livrablesecrets et SAST bloquants, identité OIDC sans clé stockée, workflows audités
Demandé aussi, hors mission
- Recenser les secrets d'un système, les classer par criticité et tenir leur registre
- Évaluer l'exposition de sa chaîne logicielle et répondre à la compromission d'un composant
- Analyser une application avec des scanners spécialisés : secrets, SAST, dépendances, Scorecard et DAST
- Analyser l'attaque d'un pipeline : secrets, outils détournés et provenance
Analyser le risque d'une application
Missions qui la composent
-
Modéliser les menaces de l'application
Livrableun modèle STRIDE de notes-api, contrôlé par le pipeline
Demandé aussi, hors mission
Construire et faire tourner une chaîne de livraison
Missions qui la composent
-
Construire une pipeline fiable
Livrableun pipeline qui teste notes-api à chaque push et échoue quand un test casse
-
Livrer une application sur Kubernetes d'après un cahier des charges
Livrableune application configurée, sondée, dotée d'une identité minimale, exposée et isolée, sans mode d'emploi
- Exposer une application par Service, Ingress ou Gateway
- Configurer une application par ConfigMap et Secret
- Fiabiliser un workload : sondes de santé et ressources
- Donner à un workload une identité minimale (ServiceAccount)
- Cloisonner les flux entre Pods par NetworkPolicy
- Auditer une application facteur par facteur (12-factor) sur Kubernetes et corriger ses écarts
-
Livrer un même artefact vers plusieurs environnements
Livrableun artefact construit une fois, promu de la recette à la production de façon reproductible, contrôlée et traçable, configuration propre à chaque environnement
- Construire un artefact une fois et le promouvoir entre environnements
- Mettre à jour une application et revenir en arrière
- Configurer une application par ConfigMap et Secret
- Fiabiliser un workload : sondes de santé et ressources
- Concevoir des pipelines dynamiques (variables, conditions, réutilisation)
- Livrer vers des environnements, artefacts compris
- Décliner des manifestes par environnement avec Kustomize
- Modifier des ressources Kubernetes de façon déclarative, sans dériver de Git
-
Déployer en GitOps
Livrablenotes-api déployée et promue entre deux environnements depuis Git
-
Exploiter un environnement d'exécution de CI
Livrableun runner installé et outillé, exécuté avec des permissions maîtrisées, qui atteint le dépôt et le registre, et dont un incident système ou réseau se diagnostique
Demandé aussi, hors mission
Contrôler l'admission et protéger le runtime
Missions qui la composent
-
Refuser l'inconnu et contenir le runtime
Livrableun cluster qui n'admet que des images signées, des pods restreints, une détection active
- Détecter et contenir au runtime
- Expliquer et inspecter l'isolation d'un conteneur Linux : namespaces, cgroups, capabilities, seccomp
- Durcir le contexte d'exécution d'un Pod (securityContext)
- Contrôler ce qui atteint la production et détecter les écarts au runtime
- Faire refuser par le cluster ce qui enfreint une règle de sécurité
Mesurer et généraliser la démarche
Missions qui la composent
-
Mesurer et généraliser la démarche DevSecOps
Livrabledes indicateurs de livraison et de sécurité suivis, une démarche étendue à plusieurs équipes
Les moyens
Avec quels outils ?
Choisissez vos outils : le choix change les leçons à lire, jamais les responsabilités.
Plateforme d’intégration continue
Outil GitOps
Langage d’automatisation
Pour aller plus loin
Les spécialisations
Facultatives, mesurées à part du métier.
Écrire et appliquer des politiques as code
Tester, livrer et sécuriser le code Ansible
- Durcir un hôte par Ansible : pare-feu, SELinux et paramètres noyau
- Équiper un poste de développement Ansible : éditeur et analyse statique
- Choisir, installer et vérifier des rôles et collections Galaxy
- Tester un rôle Ansible avec Molecule et le passer au profil production d'ansible-lint
- Exécuter un playbook dans un Execution Environment Ansible avec ansible-navigator
- Tester un rôle Ansible en CI et le publier versionné sur Galaxy
- Construire, publier et dépanner un Execution Environment Ansible avec ansible-builder
Confiner et chiffrer les workloads Kubernetes
Encadrer les agents IA de code
- Cadrer une tâche confiée à Claude Code et valider son résultat par plan, diff et tests
- Confiner l'exécution de Claude Code : permissions, secrets et bac à sable
- Automatiser et outiller Claude Code avec des hooks, des skills et des plugins
- Brancher un serveur MCP à Claude Code et déléguer à des subagents isolés
- Reprendre le contrôle d'une session Claude Code qui dérive et dépanner sa configuration
- Livrer un projet complet piloté par Claude Code, tranche verticale par tranche verticale
- Exécuter Claude Code sans session interactive, en CI, avec le modèle et le coût adaptés
Opérer un coffre de secrets en production
Exploiter et gouverner le fournisseur d'identité, et y brancher Kubernetes et Vault
- Protéger une API par jeton OAuth 2 : audience, scopes, accès machine et choix du flow d'un client sans navigateur
- Exiger un second facteur par groupe dans Keycloak, avec enrôlement forcé et récupération, et poser une politique de mot de passe conforme à NIST SP 800-63B-4
- Gérer le cycle de vie des comptes dans Keycloak par SCIM et Workflows, traiter un départ et conduire une revue des accès
- Exploiter Keycloak en production : proxy TLS, sauvegarde restaurée, montée de version, accès de secours et realm décrit en Terraform
- Brancher le serveur d'API Kubernetes et Vault sur un fournisseur d'identité OIDC, convertir les groupes du jeton en droits limités et diagnostiquer un refus
Ce que le site ne couvre pas encore
Gestion des risques (SFIA BURM) : portée au niveau d'une application, par le modèle de menace, pas de l'organisation.
Réponse à un incident de sécurité : en préparation (brouillon sec.incident.respond, todo/missions-metiers/tout-enseigner.md, geste 2). Remise d'un secret depuis un coffre à un workload Kubernetes (External Secrets Operator, CSI) : non enseignée, la leçon secrets-kubernetes rejoint la formation Kubernetes (décision du 2026-10-14) ; coffre, accès, secrets à durée bornée et fuite sont au socle depuis le 2026-10-14 (sec.secrets.*), sans preuve tant que les labs secrets manquent.
Pilotage de la démarche (niveau 4) : déclaré, non démontré tant que le dossier generaliser-devsecops reste au stade prototype.