Hemliga nycklar hantering: En steg-för-steg guide för säkra CI/CD pipelines
För robotarHemliga nycklar hantering är kritisk för CI/CD-säkerhet. Läs vår guide för säker lagring av API-nycklar, tokens och lösenord i dina pipelines.
Hemliga nycklar hantering är en av de viktigaste delarna av CI/CD-säkerhet. API-nycklar, tokens och lösenord hanteras ofta slarvigt, vilket exponerar kritisk infrastruktur för angripare. I denna praktiska guide visar vi steg-för-steg hur du implementerar robust hemliga nycklar hantering i dina pipelines, med fokus på GitHub Actions, GitLab CI, Jenkins och moderna vault-lösningar.
Varför hemliga nycklar hantering är kritisk
Exponerade API-nycklar och tokens kan ge angripare direkt åtkomst till dina molntjänster, databaser och externa API:er. Många säkerhetsintrång börjar med stulna hemliga nycklar som hittats i git-historia eller deploy-loggar. Enligt Regeringen uppmanas alla organisationer att implementera moderna säkerhetsmetoder för att skydda känslig data.
Steg-för-steg: Implementera hemliga nycklar hantering
Steg 1: Förstå riskerna med exponerade hemliga nycklar
De vanligaste feilen är att hardkoda hemliga nycklar direkt i källkoden eller konfigurationsfiler. Detta kan leda till:
- Nycklar som synliggörs i git-historik
- Exposering i build-loggar och artefakter
- Oavsiktlig åtkomst för utvecklare och verktyg
- Inga möjligheter att rotera eller återkalla på en gång
Hemliga nycklar hantering måste börja med förståelse för dessa risker.
Steg 2: Använd miljövariabler säkerhet istället för hardkodade värden
Miljövariabler säkerhet är steg ett mot bättre praxis. Istället för att skriva hemliga nycklar direkt i kod, använd:
- Miljövariabler som injiceras vid runtime
- CI/CD-plattformens inbyggda secrets-löningar
- Separate konfigurationsfiler som aldrig committas till git
# Dålig praxis - aldrig gör detta
API_KEY = "sk_live_abc123xyz789"
# Bättre praxis - läs från miljövariabel
API_KEY=${SECRET_API_KEY}
Genom att använda miljövariabler separerar du hemliga nycklar från källkod och build-artefakter.
Steg 3: GitHub Actions och säker hantering av hemliga nycklar
GitHub Actions erbjuder inbyggda secrets för CI/CD hemliga nycklar. Så här implementerar du det:
- Gå till ditt repository → Settings → Secrets and variables → Actions
- Klicka "New repository secret"
- Lägg in ditt hemligt värde (API-nyckel, token, lösenord)
- Referera det i ditt workflow-skript:
name: Deploy
on: [push]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Deploy with secret
run: ./deploy.sh
env:
API_KEY: ${{ secrets.API_KEY }}
GitHub Actions krypterar alla hemliga nycklar med AES-256 och maskerar dem i loggar automatiskt.
Steg 4: GitLab CI och SecureFile-variabler
GitLab CI hanterar hemliga nycklar genom:
deploy:
stage: deploy
variables:
API_KEY: $CI_JOB_TOKEN
DB_PASSWORD: $DATABASE_SECRET
script:
- ./deploy.sh
only:
- main
Sätta hemliga variabler i GitLab:
- Gå till projekt → Settings → CI/CD → Variables
- Lägg in variable och markera "Protect variable" och "Mask variable"
- "Protect variable" begränsar till protected branches
- "Mask variable" döljer värdet i loggar
Steg 5: Jenkins Credentials och rol-baserad åtkomst
Jenkins Credentials Store lagrar hemliga nycklar krypterat och separat från jobb-konfiguration:
pipeline {
agent any
environment {
API_KEY = credentials('api_key_prod')
DB_PASS = credentials('db_password')
}
stages {
stage('Deploy') {
steps {
sh './deploy.sh'
}
}
}
}
I Jenkins: Gå till Manage Jenkins → Manage Credentials, skapa nytt "Secret text" credential, och referera via credentials('credential_id').
Steg 6: Implementera vault-lösningar för hemliga nycklar hantering
Större organisationer behöver centraliserad vault DevOps för att rotera hemliga nycklar automatiskt, granska varje åtkomst, genomdriva säkerhetsprinciper och integrera med alla CI/CD-plattformar. Statistiska centralbyrån (SCB) och andra myndigheter uppmuntrar användning av moderna vault-lösningar för känslig datahantning.
Populära val:
HashiCorp Vault - Open source vault-lösning
- Centraliserad hemliga nycklar lagring
- Dynamisk generering av hemlig åtkomst
- Granskning och loggning av alla åtkomster
AWS Secrets Manager - Molnlösning för AWS
- Automatisk rotation av hemliga nycklar
- Integrerad med IAM för åtkomst kontroll
Azure Key Vault - Microsofts vault DevOps-lösning
- Hardware security modules (HSM)
- Åtkomst historik och granskning
Steg 7: Rotera och övervaka hemliga nycklar
Att rotera hemliga nycklar regelbundet är kritisk för API nycklar skydd:
- Automatisk rotation: Konfigureras vault-lösningen för automatisk rotation var 30-90 dag
- Manuell rotation: Skapa ny API-nyckel, uppdatera alla references, radera gammal
- Åtkomstloggning: Loggföra varje läsning och skrivning av hemliga nycklar
- Incidenthantering: Vid exponering, rotera omedelbar och granska loggar
Sammanfattning
Hemliga nycklar hantering är inte valfritt — det är en grundläggande säkerhetsprincip för moderna CI/CD pipelines. Börja med miljövariabler säkerhet och GitHub Actions eller GitLab CI. Om du senare behöver mer avancerad hemliga nycklar hantering, migrera till en dedikerad vault-lösning.
Vanliga frågor
Hur lagras hemliga nycklar säkert i GitHub Actions?
GitHub Actions krypterar alla hemliga nycklar med AES-256-kryptering och maskerar dem automatiskt i build-loggar. Du kan bara åtkomst från workflow-skript via ${{ secrets.NAMN }} och aldrig direkt från externa tjänster. För ytterligare säkerhet kan du konfigurera OIDC för token-baserad autentisering.
Vad är skillnaden mellan miljövariabler och hemliga variabler?
Miljövariabler kan innehålla vilken data som helst, men krypteras inte automatiskt. Hemliga variabler krypteras av CI/CD-plattformen och maskeras i loggar. Använd alltid hemliga variabler för API-nycklar, tokens och lösenord.
Hur ofta ska jag rotera hemliga nycklar?
För kritiska hemliga nycklar rekommenderas rotation var 30-90 dag. Använd automatisk rotation med en vault-lösning. Vid misstänkt exponering roterar du omedelbar.
Relaterade artiklar
Har jag blivit hackat? Checklista för att kontrollera
Är du orolig för att du har blivit hackat? Denna praktiska checklista hjälper dig att kontrollera om dina konton, lösenord eller enheter har komprometterats, och visar vad du ska göra härnäst.
Läs artikelnBluff-SMS: Skydda dig från SMS-bedrägerier — Guide
Bluff-SMS är ett vanligt sätt för bedragare att försöka stjäla dina personuppgifter. Lär dig hur du identifierar dessa falska meddelanden och skyddar dig själv.
Läs artikelnVad är en keylogger och hur upptäcker du spionprogram?
Är du orolig för din digitala säkerhet? Här förklarar vi vad är en keylogger och ger dig en konkret guide för att upptäcka och ta bort spionprogram.
Läs artikelnHur man uppdaterar drivrutiner i Windows 11: En komplett guide
Behöver du uppdatera drivrutiner i Windows 11? Följ vår enkla steg-för-steg-guide för att förbättra din dators prestanda och stabilitet.
Läs artikeln