Secretbeheer met GitHub
Verdiep u in het veilig opslaan en benaderen van gevoelige referenties met GitHub Secrets en OpenID Connect (OIDC).
Secretbeheer met GitHub is een gratis CI/CD met GitHub Actions en DevOps-pijplijnen-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CI/CD met GitHub Actions en DevOps-pijplijnen. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.
Waarom veilig geheimenbeheer?
In elk softwareproject heb je vaak gevoelige informatie nodig, zoals API-sleutels, database-inloggegevens of toegangstokens. Als je deze rechtstreeks in je code of repository opslaat, vormt dat een groot beveiligingsrisico.
Geheimenbeheer is het veilig opslaan en beheren van deze gevoelige gegevens. Het zorgt ervoor dat alleen bevoegde systemen en gebruikers er toegang toe hebben en voorkomt dat ze onbevoegd worden blootgesteld.
Wat zijn GitHub Secrets?
GitHub biedt een veilige manier om gevoelige informatie op te slaan, genaamd GitHub Secrets. Dit zijn versleutelde omgevingsvariabelen die je in je GitHub Actions-workflows kunt gebruiken.
- Ze worden standaard niet naar de logboeken geschreven.
- Ze zijn na het aanmaken niet zichtbaar in de gebruikersinterface.
- Ze zijn alleen toegankelijk voor geselecteerde workflows.
Zo blijven je inloggegevens beschermd tegen onbedoelde blootstelling.
Geheimen voor een repository instellen
Je kunt geheimen op verschillende niveaus definiëren: repository, omgeving of organisatie. Meestal begin je met repositorygeheimen.
Een geheim aanmaken:
- Ga naar het tabblad Instellingen van je repository.
- Ga naar Geheimen en variabelen > Actions.
- Klik op Nieuw repositorygeheim.
Geef het een unieke naam, bijvoorbeeld API_KEY, en plak de waarde van je geheim.
Geheimen in workflows gebruiken
Nadat je een geheim hebt gedefinieerd, kun je het in je workflow-YAML-bestanden gebruiken. GitHub Actions voegt geheimen automatisch als omgevingsvariabelen aan je taken toe.
Je gebruikt ze via de context ${{ secrets.SECRET_NAME }}. Dit script simuleert een stap die zo'n geheim zou gebruiken. Stel voor dat MY_API_KEY door GitHub Actions als omgevingsvariabele is ingesteld.
#!/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}..."
fiRuimere bereiken voor geheimen
Naast repositorygeheimen biedt GitHub nog twee krachtigere bereiken:
- Organisatiegeheimen: beschikbaar voor meerdere repositories binnen een organisatie. Handig voor geheimen die in veel projecten worden gedeeld, zoals een implementatietoken voor het hele bedrijf.
- Omgevingsgeheimen: gekoppeld aan specifieke implementatieomgevingen, zoals
stagingenproduction. Deze kunnen beschermingsregels hebben, zoals de eis van handmatige goedkeuring vóór de implementatie.
Gebruik altijd het kleinst mogelijke bereik voor maximale beveiliging.
Wat is OpenID Connect (OIDC)?
OpenID Connect (OIDC) is een authenticatielaag boven op OAuth 2.0. Het is een standaard waarmee clients de identiteit van een eindgebruiker kunnen verifiëren op basis van de authenticatie die door een autorisatieserver is uitgevoerd.
In CI/CD maakt OIDC het mogelijk dat je workflows zich veilig authenticeren bij cloudproviders, zoals AWS, Azure en GCP, zonder langdurige inloggegevens, zoals API-sleutels, als GitHub Secrets te hoeven opslaan.
Hoe OIDC met Actions werkt
GitHub Actions kan als OIDC-provider optreden. Wanneer een workflow wordt uitgevoerd, genereert GitHub een uniek, kortlevend OIDC-token voor die specifieke taak.
Dit token bevat verifieerbare claims over de workflow, zoals de repository, branch en taak-ID. Cloudproviders kunnen vervolgens zo worden geconfigureerd dat ze tokens van GitHub vertrouwen en op basis van deze claims tijdelijke toegang verlenen.
Belangrijkste voordelen van OIDC
OIDC gebruiken met GitHub Actions biedt belangrijke beveiligingsvoordelen:
- Geen langdurige inloggegevens: je slaat geen statische cloud-API-sleutels op in GitHub Secrets.
- Minder risico: kortlevende tokens beperken de gevolgen als een token ooit wordt gecompromitteerd.
- Gedetailleerde toegangsrechten: cloudrollen kunnen worden gekoppeld aan specifieke workflowvoorwaarden, bijvoorbeeld dat implementatie alleen vanaf de
main-branch is toegestaan. - Controleerbaarheid: het is eenvoudiger bij te houden wie wat heeft gedaan, omdat identiteiten aan de uitvoering van de workflow zijn gekoppeld.
OIDC integreren met de cloud
Om OIDC te gebruiken, moet je je cloudprovider, bijvoorbeeld AWS IAM, Azure AD of GCP IAM, configureren om GitHub als OIDC-uitgever te vertrouwen.
Dit houdt meestal het volgende in:
- Een identiteitsprovider (IdP) instellen in je cloudaccount.
- Een rol of beleid definiëren dat specifieke machtigingen verleent.
- Een "vertrouwensbeleid" aan de rol toevoegen waarmee GitHub-tokens van OIDC deze rol mogen aannemen, vaak met voorwaarden op basis van tokenclaims, bijvoorbeeld alleen vanuit een specifieke repository.
De workflow vraagt vervolgens een token aan en gebruikt dit om zich te authenticeren.
Korte controle: veilige toegang
Je hebt geleerd over GitHub Secrets voor het opslaan van gevoelige gegevens en over OpenID Connect voor cloudauthenticatie zonder opgeslagen inloggegevens.
Welke van de volgende uitspraken over geheimenbeheer in GitHub Actions zijn WAAR?
Samenvatting: je inloggegevens beveiligen
Goed gedaan! Je hebt geleerd hoe je gevoelige gegevens veilig beheert in je CI/CD-pijplijnen.
- GitHub Secrets bieden versleutelde opslag voor API-sleutels en tokens binnen je repository, organisatie of specifieke omgevingen.
- OpenID Connect (OIDC) biedt een nog veiligere manier om je bij cloudproviders te authenticeren, door kortlevende, verifieerbare tokens te gebruiken in plaats van statische inloggegevens.
Deze praktijken zijn essentieel voor het bouwen van robuuste en veilige DevOps-pijplijnen.
Leer CI/CD met GitHub Actions en DevOps-pijplijnen met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 12
- Lessen
- 48
Veelgestelde vragen
Is de les “Secretbeheer met GitHub” gratis?
Ja — de volledige tekst van “Secretbeheer met GitHub” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CI/CD met GitHub Actions en DevOps-pijplijnen wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CI/CD met GitHub Actions en DevOps-pijplijnen bevat in totaal 4 lessen.
Wat leer ik in “Secretbeheer met GitHub”?
Verdiep u in het veilig opslaan en benaderen van gevoelige referenties met GitHub Secrets en OpenID Connect (OIDC). Je oefent met CI/CD met GitHub Actions en DevOps-pijplijnen door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met CI/CD met GitHub Actions en DevOps-pijplijnen te beginnen?
Ervaring vooraf is niet nodig. CI/CD met GitHub Actions en DevOps-pijplijnen op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Secretbeheer met GitHub”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over CI/CD met GitHub Actions en DevOps-pijplijnen?
Ja. Elke les over CI/CD met GitHub Actions en DevOps-pijplijnen bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Best practices voor beveiliging in CI/CD
- Secretbeheer met GitHub
- Static Application Security Testing (SAST)
- Beveiliging van dependencies en de software supply chain (SCA)