Håndtering af secrets med GitHub
Gå i dybden med sikker lagring og adgang til følsomme legitimationsoplysninger ved hjælp af GitHub Secrets og OpenID Connect (OIDC).
Håndtering af secrets med GitHub er en gratis CI/CD med GitHub Actions og DevOps-arbejdsgange-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i CI/CD med GitHub Actions og DevOps-arbejdsgange, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset indeholder 4 lektioner i alt.
Hvorfor er sikker håndtering af hemmeligheder vigtig
I ethvert softwareprojekt har du ofte brug for følsomme oplysninger som API-nøgler, databaselegitimationsoplysninger eller adgangstokens. Det udgør en stor sikkerhedsrisiko at gemme dem direkte i din kode eller dit repository.
Håndtering af hemmeligheder er praksissen med at opbevare og administrere disse følsomme data sikkert. Det sikrer, at kun autoriserede systemer og brugere kan få adgang til dem, så uautoriseret eksponering forhindres.
Hvad er GitHub Secrets
GitHub tilbyder en sikker måde at gemme følsomme oplysninger på, som kaldes GitHub Secrets. Det er krypterede miljøvariabler, som du kan bruge i dine GitHub Actions-workflows.
- De skrives ikke i logfilerne som standard.
- De er ikke synlige i brugergrænsefladen efter oprettelsen.
- De er kun tilgængelige for udvalgte workflows.
Det beskytter dine legitimationsoplysninger mod utilsigtet eksponering.
Opsætning af hemmeligheder i et repository
Du kan definere hemmeligheder på forskellige niveauer: repository, miljø eller organisation. Oftest begynder du med repository-hemmeligheder.
Sådan opretter du en:
- Gå til fanen Indstillinger i dit repository.
- Gå til Hemmeligheder og variabler > Actions.
- Klik på Ny repository-hemmelighed.
Giv den et entydigt navn (f.eks. API_KEY), og indsæt din hemmelige værdi.
Adgang til hemmeligheder i workflows
Når en hemmelighed er defineret, kan du bruge den i dine workflow-YAML-filer. GitHub Actions indsætter automatisk hemmeligheder som miljøvariabler i dine jobs.
Du får adgang til dem ved hjælp af konteksten ${{ secrets.SECRET_NAME }}. Dette script simulerer et trin, der ville bruge en sådan hemmelighed. Forestil dig, at MY_API_KEY er angivet som en miljøvariabel af GitHub Actions, hvis du vil køre det.
#!/bin/bash
# This script simulates a workflow step
# where a secret is passed as an environment variable.
echo "Attempting to use an API key..."
# In a real GitHub Action, MY_API_KEY would be
# set by ${{ secrets.MY_API_KEY }} in the workflow YAML.
if [ -z "$MY_API_KEY" ]; then
echo "Error: MY_API_KEY is not set!"
echo "Please define it as a secret in your workflow."
else
echo "Successfully accessed API key (partially shown): ${MY_API_KEY:0:5}..."
fiBredere anvendelsesområder for hemmeligheder
Ud over repository-hemmeligheder tilbyder GitHub to yderligere, mere omfattende anvendelsesområder:
- Hemmeligheder på organisationsniveau: Tilgængelige for flere repositories i en organisation. De er nyttige til hemmeligheder, der deles på tværs af mange projekter (f.eks. en virksomheds-dækkende udrulningstoken).
- Miljøhemmeligheder: Knyttet til bestemte udrulningsmiljøer (f.eks.
stagingogproduction). De kan have beskyttelsesregler, f.eks. krav om manuel godkendelse før udrulning.
Brug altid det mindst omfattende anvendelsesområde, der er nødvendigt, for at opnå maksimal sikkerhed.
Hvad er OpenID Connect (OIDC)
OpenID Connect (OIDC) er et autentificeringslag, der er bygget oven på OAuth 2.0. Det er en standard, der gør det muligt for klienter at bekræfte en slutbrugers identitet på baggrund af den autentificering, der er udført af en autorisationsserver.
I CI/CD gør OIDC det muligt for dine workflows at autentificere sig sikkert over for cloududbydere (som AWS, Azure og GCP) uden at gemme langlivede legitimationsoplysninger (som API-nøgler) som GitHub Secrets.
Sådan fungerer OIDC med Actions
GitHub Actions kan fungere som en OIDC-udbyder. Når et workflow kører, genererer GitHub et unikt, kortlivet OIDC-token til det pågældende job.
Dette token indeholder verificerbare oplysninger om workflowet, f.eks. repository, gren og job-id. Cloududbydere kan derefter konfigureres til at have tillid til tokens udstedt af GitHub og give midlertidig adgang baseret på disse oplysninger.
Vigtigste fordele ved OIDC
Brug af OIDC med GitHub Actions giver væsentlige sikkerhedsfordele:
- Ingen langlivede legitimationsoplysninger: Du gemmer ikke statiske cloud-API-nøgler i GitHub Secrets.
- Reduceret risiko: Kortlivede tokens begrænser påvirkningen, hvis et token bliver kompromitteret.
- Finkornet adgang: Cloudroller kan knyttes til bestemte workflowbetingelser (f.eks. kun at tillade udrulning fra grenen
main). - Revision: Det er lettere at spore, hvem der gjorde hvad, fordi identiteterne er knyttet til workflowkørslen.
Integrering af OIDC med cloud
Hvis du vil bruge OIDC, skal du konfigurere din cloududbyder (f.eks. AWS IAM, Azure AD eller GCP IAM) til at have tillid til GitHub's OIDC-udsteder.
Det indebærer typisk:
- Opsætning af en identitetsudbyder (IdP) på din cloudkonto.
- Definition af en rolle eller politik, der giver bestemte tilladelser.
- Tilføjelse af en "tillidspolitik" til rollen, så GitHub's OIDC-tokens kan antage den, ofte med betingelser baseret på tokenoplysninger (f.eks. kun fra et bestemt repository).
Workflowet anmoder derefter om et token og bruger det til autentificering.
Hurtigt tjek: sikker adgang
Du har lært om GitHub Secrets til lagring af følsomme data og OpenID Connect til cloudautentificering uden gemte legitimationsoplysninger.
Hvilke af følgende udsagn om håndtering af hemmeligheder i GitHub Actions er SANDE?
Opsamling: Beskyt dine legitimationsoplysninger
Godt gået! Du har lært, hvordan du håndterer følsomme data sikkert i dine CI/CD-forløb.
- GitHub Secrets giver krypteret lagring af API-nøgler og tokens i dit repository, din organisation eller bestemte miljøer.
- OpenID Connect (OIDC) giver en endnu mere sikker måde at autentificere sig over for cloududbydere på ved hjælp af kortlivede, verificerbare tokens i stedet for statiske legitimationsoplysninger.
Disse praksisser er afgørende for at opbygge robuste og sikre DevOps-forløb.
Lær CI/CD med GitHub Actions og DevOps-arbejdsgange med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Håndtering af secrets med GitHub” gratis?
Ja — hele teksten til “Håndtering af secrets med GitHub” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset, skal du opgradere til CoddyKit PRO. CI/CD med GitHub Actions og DevOps-arbejdsgange-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Håndtering af secrets med GitHub”?
Gå i dybden med sikker lagring og adgang til følsomme legitimationsoplysninger ved hjælp af GitHub Secrets og OpenID Connect (OIDC). Du øver dig i CI/CD med GitHub Actions og DevOps-arbejdsgange med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på CI/CD med GitHub Actions og DevOps-arbejdsgange?
Der kræves ingen tidligere erfaring. CI/CD med GitHub Actions og DevOps-arbejdsgange på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.
Hvor lang tid tager lektionen “Håndtering af secrets med GitHub”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne CI/CD med GitHub Actions og DevOps-arbejdsgange-lektion?
Ja. Alle CI/CD med GitHub Actions og DevOps-arbejdsgange-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Bedste praksis for sikkerhed i CI/CD
- Håndtering af secrets med GitHub
- Static Application Security Testing (SAST)
- Sikkerhed i afhængigheder og forsyningskæden (SCA)