Omgevingsvariabelen

omgevingsvariabele, environment variables, env vars, systeemvariabelen, configuratievariabelen, omgevingsinstellingen, milieuvariabelen
Omgevingsvariabelen zijn configuratie-instellingen die buiten de code worden opgeslagen en gebruikt worden om applicaties te configureren voor verschillende omgevingen zoals ontwikkeling, test en productie.

Wat zijn Omgevingsvariabelen?

Omgevingsvariabelen (environment variables) zijn dynamische waarden die buiten de broncode van een applicatie worden opgeslagen en gebruikt worden om configuratie-instellingen te beheren. Ze maken het mogelijk om dezelfde code in verschillende omgevingen te draaien zonder aanpassingen, zoals tijdens ontwikkeling, testen, staging en productie.

Deze variabelen bevatten vaak gevoelige informatie zoals API-sleutels, database-verbindingen, wachtwoorden en andere configuratie-instellingen die per omgeving kunnen verschillen. Door deze informatie buiten de code te houden, wordt de beveiliging vergroot en wordt het eenvoudiger om applicaties te beheren en te deployen.

Belangrijkste kenmerken

  • Scheiding van configuratie en code: Configuratie wordt gescheiden van de applicatiecode, wat best practices volgt volgens de Twelve-Factor App methodologie
  • Beveiliging: Gevoelige informatie zoals API-sleutels en wachtwoorden worden niet in de broncode opgeslagen
  • Flexibiliteit: Dezelfde codebase kan in verschillende omgevingen draaien met verschillende configuraties
  • Versiebeheer: Geheime informatie hoeft niet in version control systemen zoals Git te worden opgeslagen
  • Eenvoudig beheer: Configuratie kan worden aangepast zonder code te wijzigen of opnieuw te deployen

Hoe werken omgevingsvariabelen?

Omgevingsvariabelen worden ingesteld op systeemniveau of via configuratiebestanden en zijn toegankelijk voor applicaties tijdens runtime. In webontwikkeling worden ze vaak beheerd via:

  • .env bestanden: Lokale bestanden die variabelen definiëren voor ontwikkelomgevingen
  • Hosting platforms: Services zoals Vercel, Netlify of AWS bieden interfaces om variabelen in te stellen
  • Container systemen: Docker en Kubernetes gebruiken omgevingsvariabelen voor configuratie
  • CI/CD pipelines: Build- en deployment-systemen injecteren variabelen tijdens het proces

Veelvoorkomende toepassingen

Omgevingsvariabelen worden gebruikt voor verschillende soorten configuratie-informatie:

  • Database-verbindingsstrings en credentials
  • API-sleutels en tokens voor externe services
  • Feature flags om functionaliteit aan of uit te schakelen
  • Omgevingsspecifieke URLs en endpoints
  • Logging en debugging niveaus
  • Betalingsprovider configuraties
  • Email service credentials

Toepassingen van Omgevingsvariabelen

Webontwikkeling en deployment

In moderne webontwikkeling zijn omgevingsvariabelen essentieel voor het beheren van verschillende deployment-omgevingen:

  • Lokale ontwikkeling: Ontwikkelaars gebruiken lokale databases en test-API's via .env bestanden
  • Staging omgeving: Test-versies gebruiken staging databases en sandbox API's
  • Productie: Live applicaties verbinden met productie-databases en echte API endpoints
  • Preview deployments: Tijdelijke omgevingen voor pull requests en branches krijgen eigen configuraties

API en service integraties

Omgevingsvariabelen zijn cruciaal voor het veilig beheren van externe service-integraties:

  • Payment providers: Stripe, Mollie of Adyen API-sleutels worden veilig opgeslagen
  • Cloud services: AWS, Google Cloud en Azure credentials voor opslag en computing
  • Marketing tools: Google Analytics, Facebook Pixel en andere tracking IDs
  • Email services: SendGrid, Mailgun of SMTP configuraties
  • CMS en databases: WordPress, Contentful of database connection strings

Security en compliance

Het gebruik van omgevingsvariabelen draagt bij aan betere beveiliging en compliance:

  • Secrets management: Gevoelige data wordt niet in Git repositories gecommit
  • Access control: Alleen geautoriseerd personeel heeft toegang tot productie-variabelen
  • Audit trails: Wijzigingen in configuraties kunnen worden gelogd en getraceerd
  • Rotatie van credentials: API-sleutels kunnen worden gewijzigd zonder code-aanpassingen
  • Compliance: Voldoet aan beveiligingsstandaarden zoals PCI-DSS en SOC 2

E-commerce applicaties

Voor webshops en e-commerce platforms zijn omgevingsvariabelen onmisbaar:

  • Betalingsconfiguratie: Test- en productie-sleutels voor payment gateways
  • Verzendintegraties: Credentials voor PostNL, DHL of andere verzendpartners
  • Voorraadsystemen: API-toegang tot ERP en inventory management systemen
  • Marketing pixels: Tracking codes voor verschillende advertentieplatforms
  • Feature toggles: Nieuwe functies eerst testen in staging voor uitrol naar productie

DevOps en automation

In moderne DevOps workflows zijn omgevingsvariabelen fundamenteel:

  • CI/CD pipelines: GitHub Actions, GitLab CI en Jenkins gebruiken variabelen voor builds
  • Infrastructure as Code: Terraform en CloudFormation configuraties worden geparametriseerd
  • Container orchestration: Kubernetes secrets en ConfigMaps beheren applicatie-configuraties
  • Monitoring en logging: Datadog, Sentry of New Relic API-sleutels voor observability

Best practices

Voor effectief gebruik van omgevingsvariabelen zijn er enkele belangrijke richtlijnen:

  • Gebruik .env.example: Documenteer welke variabelen nodig zijn zonder echte waarden
  • Valideer bij startup: Controleer of alle vereiste variabelen aanwezig zijn
  • Gebruik type casting: Converteer string-waarden naar de juiste datatypes
  • Prefix conventies: Gebruik prefixes zoals NEXT_PUBLIC_ of VITE_ voor client-side variabelen
  • Documentatie: Leg uit wat elke variabele doet en welke waarden acceptabel zijn
  • Encryptie: Gebruik tools zoals HashiCorp Vault of AWS Secrets Manager voor extra beveiliging

Veelgestelde vragen

.env bestanden zijn lokale configuratiebestanden die omgevingsvariabelen definiëren voor ontwikkelomgevingen. Ze bevatten key-value paren die tijdens development worden ingelezen. Echte omgevingsvariabelen worden op systeemniveau of via hosting platforms ingesteld en zijn beschikbaar voor de applicatie tijdens runtime.

In productie worden .env bestanden niet gebruikt - in plaats daarvan worden variabelen ingesteld via het hosting platform (zoals Vercel, Netlify) of container orchestration systemen (zoals Kubernetes). Het .env bestand dient vooral als een handige manier om lokaal te ontwikkelen zonder productie-credentials te gebruiken.

Beveiliging van omgevingsvariabelen vereist meerdere maatregelen:

  • Voeg .env toe aan .gitignore: Zorg dat lokale .env bestanden nooit in version control terechtkomen
  • Gebruik secrets management: Tools zoals AWS Secrets Manager, HashiCorp Vault of Azure Key Vault voor gevoelige productie-data
  • Beperk toegang: Geef alleen noodzakelijke teamleden toegang tot productie-variabelen
  • Roteer credentials: Verander API-sleutels en wachtwoorden regelmatig
  • Gebruik verschillende keys: Nooit dezelfde credentials gebruiken voor test en productie
  • Monitor toegang: Log wie wanneer variabelen bekijkt of wijzigt

Voor extra beveiliging kunnen variabelen tijdens build-time worden geïnjecteerd en geëncrypteerd opgeslagen.

Het onderscheid tussen client-side en server-side variabelen is cruciaal voor beveiliging:

Server-side variabelen zijn alleen toegankelijk op de server en worden gebruikt voor:

  • Database credentials en connection strings
  • Private API-sleutels en secrets
  • Payment provider secret keys
  • Admin tokens en wachtwoorden

Client-side variabelen zijn zichtbaar in de browser en worden gebruikt voor:

  • Public API-sleutels (zoals Google Maps API key)
  • Analytics tracking IDs
  • Feature flags voor UI-functionaliteit
  • CDN URLs en public endpoints

In frameworks zoals Next.js of Vite moet je expliciet aangeven welke variabelen client-side beschikbaar mogen zijn (bijvoorbeeld met NEXT_PUBLIC_ of VITE_ prefix). Alles zonder deze prefix blijft server-side en is veilig voor gevoelige data.

Auteur & updates

Auteur: Wouter
Publicatiedatum: 16-02-2026
Laatste update: 16-02-2026