Aurabase-logo
aurabasisdocumenten
documenten›Edge Functions›Secrets and environment

Geheimen en omgevingsvariabelen

Hoe u een Stripe-sleutel of een andere instelling aan een functie kunt doorgeven zonder deze in de code te schrijven, en wat het platform daadwerkelijk beschermt.

6 min lezen·Niveau tussenproduct·Herzien op 12 okt 2026
Deze Engelse tekst is automatisch gegenereerd op basis van het Franse origineel en is nog niet beoordeeld.
Deze pagina is automatisch vertaald. De Engelse versie is gezaghebbend.
#
Schrijf

1. Stel een variabele in

Elke variabele behoort tot één functie. Voor het instellen van variabelen is een service_role-sleutel nodig.

terminalbash
aura secrets set --function checkout STRIPE_SECRET_KEY=sk_live_… WEBHOOK_SECRET=whsec_…
aura secrets list --function checkout     # waarden zijn gemaskeerd: STRIPE_SECRET_KEY sk_l***
aura secrets unset --function checkout WEBHOOK_SECRET
terminalbash
curl -X PUT "$AURA_URL/v1/functions/checkout/env" \
  -H "apikey: $AURA_SERVICE_ROLE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"vars":[{"key":"STRIPE_SECRET_KEY","value":"sk_live_…"}]}'

PUT /env vervangt de hele set variabelen door de lijst die u verzendt. aura secrets set en unset lezen de huidige waarden, wijzigen de sleutels die u een naam geeft en schrijven het resultaat terug.

Door opnieuw te implementeren blijven uw geheimen behouden

Door nieuwe code te implementeren met aura functions deploy blijven de variabelen ongemoeid.

#
Lees

2. Lees het in de functie

aurabase/functions/checkout/index.tstypescript
Deno.serve(async (req) => {
  const key = Deno.env.get('STRIPE_SECRET_KEY')
  if (!key) return new Response('STRIPE_SECRET_KEY is not set', { status: 500 })
  // …roep Stripe met `sleutel`
  return Response.json({ ok: true })
})

Variabelen worden bij elke aanroep gelezen: een wijziging geldt voor de volgende oproep.

#
Geïnjecteerd

3. Variabelen die het platform toevoegt

VariabelWaarde
AURABASE_PROJECT_IDHet project-ID. Altijd ingesteld.
AURABASE_FUNCTION_NAMEDe naam van de functie. Altijd ingesteld.
AURABASE_URLDe platform-URL, wanneer de platformoperator deze definieert.
AURABASE_ANON_KEYEen platformsleutel, wanneer de operator deze definieert.

U kunt deze namen niet overschrijven. De omgeving van de host is niet zichtbaar voor uw functie: in een echte run retourneerde Deno.env.get('PATH') undefined.

Om uw eigen project vanuit een functie aan te roepen, slaat u een service_role-sleutel op als een geheim van die functie en verzendt u deze in de apikey-header van een HTTP-verzoek. Stuur nooit de sleutel van een gebruiker door en plaats nooit een service_role sleutel in een browser.

#
Bescherming

4. Wat is gecodeerd

PadVersleuteld in rust
PUT /v1/functions/{name}/envJa, als voor de service een coderingssleutel is geconfigureerd (FN_ENV_ENCRYPTION_KEY, AES-256-GCM). Zonder dit worden de waarden opgeslagen als verzonden en registreert de service bij het starten een waarschuwing.
aura secrets set / unsetNee: de CLI schrijft via PATCH, waarin de waarden worden opgeslagen zoals ze zijn verzonden.
env_vars in een implementatieverzoekNee, dezelfde reden.

In onze lokale test werd een waarde geschreven door PUT /env onveranderd geretourneerd door de definitie van de functie, omdat er geen sleutel was geconfigureerd.

Vraag uw platformbeheerder voordat u op encryptie vertrouwt

Of geheimen worden versleuteld, hangt af van de implementatie en alleen het pad PUT /env kan ze versleutelen. Het CLI-pad slaat ze op zoals opgegeven. Totdat de CLI PUT /env gebruikt, gebruikt u de bovenstaande HTTP-aanroep voor productiegeheimen.

Het teruglezen van geheimen is ook beperkt. GET /v1/functions/{name}/env retourneert de gedecodeerde waarden en vereist, net als GET /v1/functions/{name}, een service_role sleutel. Een publieke sleutel ontvangt 403.

#
Regels

5. Te volgen regels

  • Codeer nooit een geheim in index.ts. De broncode van een functie wordt opgeslagen in uw project en teruggestuurd naar elke service_role-aanroeper.
  • Log nooit een geheim in. De uitvoer van console.log komt terecht in de runtimelogboeken.
  • Gebruik één variabele per functie, met de smalste sleutel die werkt (een beperkte sleutel van uw provider, niet de hoofdsleutel).
  • Draai een sleutel door de nieuwe waarde in te stellen en niets opnieuw in te zetten: de volgende aanroep gebruikt deze.
Laatst bijgewerkt · 12 okt 2026