Sécuriser Git dans DevOps : secrets, signatures et hooks
Apprenez à garder les secrets hors de Git, à vérifier l’auteur des validations signées et à appliquer automatiquement les politiques grâce aux hooks dans DevOps et les pipelines d’automatisation.
Sécuriser Git dans DevOps : secrets, signatures et hooks est une leçon Git Advanced: Monorepo, Submodules & Workflows gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Git Advanced: Monorepo, Submodules & Workflows, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Git Advanced: Monorepo, Submodules & Workflows comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Git Is a Security Surface
In DevOps, Git drives deployments. That makes the repository a security surface: a leaked secret or a forged commit can compromise production. Securing Git is part of securing the pipeline.
Keep Secrets Out of History
Never commit API keys, tokens, or passwords. Once in history, a secret is effectively public forever, even after deletion, because the old commit still contains it.
Use a .gitignore and environment variables instead.
.env
*.pem
secrets/
config/credentials.jsonScanning for Leaked Secrets
Automated scanners catch secrets before they merge. Wire one into CI so a leaked token fails the build.
gitleaks detect --source . --verboseIf a Secret Leaks
If a secret reaches the remote, two steps are mandatory:
- Rotate the credential immediately — assume it is compromised
- Purge it from history with a tool like
git filter-repo
Rotation matters more than purging.
git filter-repo --path config/credentials.json --invert-pathsSigning Commits
Signed commits prove who authored them. In automated environments this prevents impersonation and lets pipelines trust commit authorship.
git config commit.gpgsign true
git commit -S -m 'Deploy config update'Verifying Signatures
CI can require that every commit on a protected branch is signed and verified, rejecting unsigned or unknown-key commits before they deploy.
git log --show-signature -1
git verify-commit HEADClient-Side Hooks
Hooks run scripts at Git lifecycle events. A pre-commit hook can block secrets or run linters before a commit is ever created.
#!/bin/sh
# .git/hooks/pre-commit
gitleaks protect --staged || exit 1Server-Side Hooks
Client hooks can be bypassed. Server-side hooks (pre-receive) enforce policy centrally, rejecting non-compliant pushes for everyone, no matter their local setup.
#!/bin/sh
# pre-receive: reject force pushes to main
while read old new ref; do
if [ "$ref" = 'refs/heads/main' ]; then
echo 'Direct pushes to main are blocked'; exit 1
fi
doneBranch Protection as Policy
Platform branch-protection rules complement hooks: require reviews, passing CI, and signed commits before merge. Policy enforced at the platform cannot be bypassed locally.
Least Privilege for Automation
Deploy bots should use scoped, short-lived tokens, not personal credentials. Grant only the access a job needs, and rotate tokens regularly to limit blast radius.
Auditing the Audit Trail
Git history and platform logs form an audit trail. Protect them: disallow history rewrites on shared branches and review who has admin rights, so the record of what shipped stays trustworthy.
Quick Check
Test your understanding of Git security in DevOps.
Recap
You learned to secure Git in DevOps: keep secrets out of history, scan automatically, rotate then purge on leaks, use signed commits, enforce policy with client and server-side hooks and branch protection, and apply least privilege to automation tokens.
Questions Fréquemment Posées
La leçon « Sécuriser Git dans DevOps : secrets, signatures et hooks » est-elle gratuite ?
Oui — le texte complet de « Sécuriser Git dans DevOps : secrets, signatures et hooks » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Git Advanced: Monorepo, Submodules & Workflows, passe à CoddyKit PRO. Le cours Git Advanced: Monorepo, Submodules & Workflows comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Sécuriser Git dans DevOps : secrets, signatures et hooks » ?
Apprenez à garder les secrets hors de Git, à vérifier l’auteur des validations signées et à appliquer automatiquement les politiques grâce aux hooks dans DevOps et les pipelines d’automatisation. Tu pratiques Git Advanced: Monorepo, Submodules & Workflows avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Git Advanced: Monorepo, Submodules & Workflows ?
Aucune expérience préalable n'est requise. Git Advanced: Monorepo, Submodules & Workflows sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Sécuriser Git dans DevOps : secrets, signatures et hooks » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Git Advanced: Monorepo, Submodules & Workflows ?
Oui. Chaque leçon Git Advanced: Monorepo, Submodules & Workflows inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Principes et mise en œuvre de GitOps
- Automatisation des tâches Git avec des scripts
- Intégration de Git avec CI/CD
- Sécuriser Git dans DevOps : secrets, signatures et hooks