Hemligheter i appar och funktioner
Referera till valvhemligheter från en app eller en funktion och läs värdena i din kod.
Lägg till en hemlighetsreferens
- Öppna hemlighetsreferenserna:
- för en app: öppna appen och gå till Konfiguration → Hemligheter;
- för en funktion: öppna funktionsnamnutrymmet, sedan funktionen, och gå till dess flik Konfiguration, avsnittet Hemligheter. Referenserna hör till den enskilda funktionen.
- Välj Lägg till hemlighet. I Lägg till hemlighetsreferens väljer du Valv och Hemlighet. Bara aktiverade hemligheter erbjuds.
- Kontrollera Miljövariabelnamn. Det fylls i från hemlighetens namn med versaler och bindestreck ersatta med understreck, och måste vara en bokstav eller ett understreck följt av bokstäver, siffror och understreck.
- Välj Lägg till och sedan Spara. Appen eller funktionen deployas om med de nya referenserna.
Innan poddarna kan starta behöver arbetslastens identitet Secrets Reader på valvet; för appar och funktioner tilldelar du den själv — se Ge en arbetslast åtkomst.
Viktigt
En funktion läser sina hemligheter med sitt funktionsnamnutrymmes identitet, som alla funktioner i namnutrymmet delar. När den identiteten får läsa ett valv kan varje funktion i namnutrymmet läsa varje hemlighet i valvet, oavsett om funktionen refererar till den eller inte. Håll funktioner som inte ska se varandras hemligheter i separata namnutrymmen eller valv.
Läs värdena i en app
En apps värden sätts inte som miljövariabler. Applikationen hittar dem i filen
/secrets/env.json: ett JSON-objekt som kopplar varje namn du valde under Miljövariabelnamn
till hemlighetens värde.
Filen ligger på en skrivskyddad volym i minnet. Läs den vid start, till exempel:
const secrets = JSON.parse(require("fs").readFileSync("/secrets/env.json", "utf8"));
const apiKey = secrets.API_KEY;import json
secrets = json.load(open("/secrets/env.json"))
api_key = secrets["API_KEY"]Läs värdena i en funktion
En funktion får sina värden som miljövariabler. När funktionen startar läser dess runtime
(Node.js, .NET eller Go) /secrets/env.json och sätter en variabel per referens, med namnet
STSH_ följt av Miljövariabelnamn med versaler — referensen API_KEY läses som
STSH_API_KEY:
const apiKey = process.env.STSH_API_KEY;var apiKey = Environment.GetEnvironmentVariable("STSH_API_KEY");Om filen inte kan läsas startar inte funktionen.
När ett värde ändras
Filen skrivs en gång, när podden startar. När du har ändrat en hemlighet: gör en ny deploy eller starta om appen eller funktionen för att få det nya värdet.