Logotipo de Aurabase
aurabasedocumentos
documentos›Edge Functions›Secrets and environment

Secretos y variables de entorno.

Cómo pasar una clave Stripe o cualquier configuración a una función sin escribirla en el código y qué protege realmente la plataforma.

6 min leer·Nivel intermedio·Revisado el 12 oct 2026
Este texto en inglés se generó automáticamente a partir del original en francés y aún no ha sido revisado.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
escribir

1. Establecer una variable

Cada variable pertenece a una función. Para configurar variables se necesita una clave service_role.

terminalbash
aura secrets set --function checkout STRIPE_SECRET_KEY=sk_live_… WEBHOOK_SECRET=whsec_…
aura secrets list --function checkout     # los valores están enmascarados: 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 reemplaza todo el conjunto de variables con la lista que envías. aura secrets set y unset leen los valores actuales, cambian las claves que nombra y escribe el resultado.

La redistribución guarda tus secretos

La implementación de código nuevo con aura functions deploy deja las variables intactas.

#
leer

2. Léelo en la función.

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 })
  // …llamar a Stripe con `key`
  return Response.json({ ok: true })
})

Las variables se leen en cada invocación: se aplica un cambio en la siguiente llamada.

#
inyectado

3. Variables que agrega la plataforma

variableValor
AURABASE_PROJECT_IDLa identificación del proyecto. Siempre configurado.
AURABASE_FUNCTION_NAMEEl nombre de la función. Siempre configurado.
AURABASE_URLLa URL de la plataforma, cuando la define el operador de la plataforma.
AURABASE_ANON_KEYUna clave de plataforma, cuando la define el operador.

No puede anular estos nombres. El entorno del host no es visible para su función: en una ejecución real, Deno.env.get('PATH') devolvió undefined.

Para llamar a su propio proyecto desde una función, almacene una clave service_role como secreto de esa función y envíela en el encabezado apikey de una solicitud HTTP. Nunca reenvíe la clave de un usuario y nunca coloque una clave service_role en un navegador.

#
Protección

4. Qué está cifrado

CaminoCifrado en reposo
PUT /v1/functions/{name}/envSí, si el servicio tiene una clave de cifrado configurada (FN_ENV_ENCRYPTION_KEY, AES-256-GCM). Sin él, los valores se almacenan tal como se envían y el servicio registra una advertencia al inicio.
aura secrets set / unsetNo: la CLI escribe a través de PATCH, que almacena los valores tal como se envían.
env_vars en una solicitud de implementaciónNo, la misma razón.

En nuestra prueba local, la definición de la función devolvió un valor escrito por PUT /env sin cambios, porque no se configuró ninguna clave.

Pregúntele a su operador de plataforma antes de confiar en el cifrado

El cifrado de secretos depende de la implementación y solo la ruta PUT /env puede cifrarlos. La ruta CLI los almacena tal como se indica. Hasta que la CLI use PUT /env, use la llamada HTTP anterior para los secretos de producción.

La lectura de secretos también está restringida. GET /v1/functions/{name}/env devuelve los valores descifrados y, al igual que GET /v1/functions/{name}, requiere una clave service_role. Una clave pública recibe 403.

#
Reglas

5. Reglas a seguir

  • Nunca codifique un secreto en index.ts. El código fuente de una función se almacena en su proyecto y se devuelve a cualquier llamador service_role.
  • Nunca registres un secreto. La salida de console.log termina en los registros del tiempo de ejecución.
  • Utilice una variable por función, con la clave más estrecha que funcione (una clave restringida de su proveedor, no la clave maestra).
  • Gire una clave estableciendo el nuevo valor y no volviendo a implementar nada: la siguiente llamada la usa.
Última actualización · 12 oct 2026