Sikre Git i DevOps: hemmeligheter, signering og hooks
Lær å holde hemmeligheter utenfor Git, bekrefte opphav med signerte commits og håndheve policy automatisk med hooks i DevOps- og automatiseringspipelines.
Sikre Git i DevOps: hemmeligheter, signering og hooks er en gratis leksjon i Git videregående: Monorepo, Submodules og arbeidsflyter på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Git videregående: Monorepo, Submodules og arbeidsflyter, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Git videregående: Monorepo, Submodules og arbeidsflyter inneholder totalt 4 leksjoner.
Git er en sikkerhetsoverflate
I DevOps styrer Git utrullinger. Det gjør repositoriet til en sikkerhetsoverflate: en lekket hemmelighet eller en forfalsket commit kan kompromittere produksjonsmiljøet. Å sikre Git er en del av å sikre pipeline-en.
Hold hemmeligheter borte fra historikken
Commit aldri API-nøkler, tokens eller passord. Når en hemmelighet først finnes i historikken, er den i praksis offentlig for alltid, selv etter sletting, fordi den gamle commiten fortsatt inneholder den.
Bruk .gitignore og miljøvariabler i stedet.
.env
*.pem
secrets/
config/credentials.jsonSkanning etter lekkede hemmeligheter
Automatiserte skannere oppdager hemmeligheter før de merges. Koble en skanner til CI slik at en lekket token får bygget til å mislykkes.
gitleaks detect --source . --verboseHvis en hemmelighet lekker
Hvis en hemmelighet når remote-repositoriet, er to trinn obligatoriske:
- Roter legitimasjonen umiddelbart — anta at den er kompromittert
- Fjern den fra historikken med et verktøy som
git filter-repo
Rotering er viktigere enn å fjerne den fra historikken.
git filter-repo --path config/credentials.json --invert-pathsSignere commits
Signerte commits beviser hvem som har skrevet dem. I automatiserte miljøer hindrer dette identitetstyveri og lar pipeline-er stole på hvem som har skrevet commitene.
git config commit.gpgsign true
git commit -S -m 'Deploy config update'Verifisere signaturer
CI kan kreve at hver commit på en beskyttet gren er signert og verifisert, og avvise commits uten signatur eller med ukjent nøkkel før de rulles ut.
git log --show-signature -1
git verify-commit HEADHooks på klientsiden
Hooks kjører skript ved hendelser i Gits livssyklus. En pre-commit-hook kan blokkere hemmeligheter eller kjøre linting før en commit i det hele tatt opprettes.
#!/bin/sh
# .git/hooks/pre-commit
gitleaks protect --staged || exit 1Hooks på serversiden
Hooks på klientsiden kan omgås. Hooks på serversiden (pre-receive) håndhever retningslinjer sentralt og avviser push-er som ikke oppfyller kravene, for alle, uavhengig av det lokale oppsettet.
#!/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
doneGrenbeskyttelse som retningslinje
Plattformens regler for grenbeskyttelse utfyller hooks: krev code review, bestått CI og signerte commits før merge. Retningslinjer som håndheves på plattformen, kan ikke omgås lokalt.
Minste privilegium for automatisering
Utrullingsboter bør bruke tokens med begrenset tilgang og kort levetid, ikke personlige legitimasjoner. Gi bare tilgangen en jobb trenger, og roter tokens regelmessig for å begrense skadeomfanget.
Revidere revisjonssporet
Git-historikken og plattformloggene utgjør et revisjonsspor. Beskytt dem: ikke tillat omskriving av historikken på delte grener, og gjennomgå hvem som har administratorrettigheter, slik at oversikten over det som er levert, forblir pålitelig.
Kort test
Test forståelsen Deres av Git-sikkerhet i DevOps.
Oppsummering
De har lært å sikre Git i DevOps: holde hemmeligheter borte fra historikken, skanne automatisk, rotere og deretter fjerne hemmeligheter ved lekkasjer, bruke signerte commits, håndheve retningslinjer med hooks på klient- og serversiden og grenbeskyttelse, og praktisere minste privilegium for automatiseringstokens.
Lær deg Git videregående: Monorepo, Submodules og arbeidsflyter med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 12
- Leksjoner
- 48
Ofte stilte spørsmål
Er leksjonen «Sikre Git i DevOps: hemmeligheter, signering og hooks» gratis?
Ja – hele teksten i «Sikre Git i DevOps: hemmeligheter, signering og hooks» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Git videregående: Monorepo, Submodules og arbeidsflyter-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Git videregående: Monorepo, Submodules og arbeidsflyter inneholder totalt 4 leksjoner.
Hva lærer jeg i «Sikre Git i DevOps: hemmeligheter, signering og hooks»?
Lær å holde hemmeligheter utenfor Git, bekrefte opphav med signerte commits og håndheve policy automatisk med hooks i DevOps- og automatiseringspipelines. Du øver på Git videregående: Monorepo, Submodules og arbeidsflyter med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Git videregående: Monorepo, Submodules og arbeidsflyter?
Ingen tidligere erfaring er nødvendig. Git videregående: Monorepo, Submodules og arbeidsflyter på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Sikre Git i DevOps: hemmeligheter, signering og hooks»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Git videregående: Monorepo, Submodules og arbeidsflyter-leksjonen?
Ja. Alle Git videregående: Monorepo, Submodules og arbeidsflyter-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Prinsipper og implementering av GitOps
- Automatisering av Git-oppgaver med skript
- Git-integrasjon med CI/CD
- Sikre Git i DevOps: hemmeligheter, signering og hooks