Säker hantering av hemligheter
Lär dig bästa praxis för säker hantering av API-nycklar, token och annan känslig information i edge-miljöer
Säker hantering av hemligheter är en gratis lektion i Edge computing med Cloudflare Workers och Deno på CoddyKit. Detta är lektion 3 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Edge computing med Cloudflare Workers och Deno, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Edge computing med Cloudflare Workers och Deno innehåller totalt 4 lektioner.
Vad är edge-hemligheter?
När du bygger applikationer, särskilt på edge-nätverket, behöver du ofta hantera känslig information. Den kallas hemligheter.
Hemligheter omfattar sådant som API-nycklar, databasautentiseringsuppgifter, autentiseringstoken och privata krypteringsnycklar. De är avgörande för applikationens säkerhet och funktion.
Riskerna med hårdkodade hemligheter
Ett vanligt misstag, särskilt bland nybörjare, är att hårdkoda hemligheter direkt i applikationens källkod.
- Exponering: Alla som har tillgång till koden (till exempel i ett offentligt Git-arkiv) kan se dina hemligheter.
- Problem vid rotation: Att ändra en hemlighet innebär att du måste ändra och distribuera om koden överallt där den används.
- Säkerhetsintrång: En enda läcka kan äventyra hela systemet.
Cloudflare Workers miljövariabler
Cloudflare Workers erbjuder ett säkert sätt att hantera hemligheter med hjälp av miljövariabler. Dessa variabler är:
- Säkert injicerade vid körning och lagras inte i koden.
- Krypterade i vila av Cloudflare.
- Specifika för varje Worker, vilket möjliggör detaljerad åtkomstkontroll.
De nås via objektet env i din Workers fetch-hanterare.
Demo: Åtkomst till Worker-hemligheter
Den här Workern använder en miljövariabel med namnet MY_API_KEY. Lägg märke till att själva hemligheten aldrig hårdkodas i skriptet.
Prova att köra det! (Den faktiska nyckeln visas inte av säkerhetsskäl.)
export default {
async fetch(request, env, ctx) {
const apiKey = env.MY_API_KEY; // Access the secret
if (apiKey) {
return new Response(`Secret accessed! Length: ${apiKey.length}`);
} else {
return new Response(
"MY_API_KEY environment variable not set.",
{ status: 400 }
);
}
},
};Deno-miljövariabler
Precis som Workers använder även Deno-applikationer miljövariabler för hemligheter. Du kan komma åt dem med Deno.env.
Vid lokal utveckling kan du använda .env-filer (även om Deno inte har direkt stöd för dem; verktyg som deno task eller moduler från tredje part kan hjälpa till). För Deno Deploy konfigureras hemligheter säkert via plattformens UI eller CLI.
Demo: Använda Deno-hemligheter
Här är ett enkelt Deno-skript som hämtar en hemlighet med namnet DB_PASSWORD från sina miljövariabler. Kör exemplet för att se det i praktiken.
const dbPassword = Deno.env.get("DB_PASSWORD");
if (dbPassword) {
console.log(`Database password accessed. Length: ${dbPassword.length}`);
} else {
console.log("DB_PASSWORD environment variable not set.");
console.log("To set: env DB_PASSWORD='mysecret' deno run --allow-env main.ts");
}Hantera hemligheter med Wrangler CLI
För Cloudflare Workers är Wrangler CLI det främsta verktyget för att hantera hemligheter. Det krypterar dem och laddar upp dem säkert till Cloudflares infrastruktur.
wrangler secret put <NAME>: Ber om ett hemlighetsvärde och laddar upp det.wrangler secret delete <NAME>: Tar bort en hemlighet.wrangler secret list: Visar alla hemligheter för din Worker.
På så sätt hålls hemligheter borta från filen wrangler.toml och källkoden.
Principen om minsta privilegium
En viktig säkerhetsprincip är principen om minsta privilegium. Det innebär:
- Att endast ge de minsta nödvändiga behörigheterna för åtkomst till resurser.
- Att endast ge åtkomst till hemligheter åt de specifika tjänster eller användare som verkligen behöver dem.
Undvik att ge en Worker åtkomst till en hemlighet som den faktiskt inte använder, även om det verkar praktiskt.
Rotation och granskning av hemligheter
Även med säker lagring kan hemligheter komprometteras. Inför följande rutiner:
- Rotation av hemligheter: Byt regelbundet dina API-nycklar och token (till exempel var 90:e dag). Det begränsar angriparnas möjligheter om en hemlighet läcker.
- Granskning: Övervaka och logga åtkomst till dina hemligheter. Det hjälper dig att upptäcka ovanlig aktivitet och möjliga intrång.
Automatisera dessa processer där det är möjligt för att minska det manuella arbetet.
Kontroll av hemlighetshantering
Testa dina kunskaper om säker hantering av hemligheter.
Sammanfattning: Säkra hemligheter
I den här lektionen har vi lärt oss hur viktigt det är att hantera känslig information säkert i edge-applikationer.
- Hårdkoda aldrig hemligheter.
- Använd plattformens miljövariabler (
envi Cloudflare Workers,Deno.envi Deno). - Använd verktyg som Wrangler CLI för säker distribution av hemligheter.
- Följ principen om minsta privilegium.
- Inför regelbunden rotation och granskning av hemligheter.
Dessa rutiner är grundläggande för att bygga robusta och säkra edge-applikationer.
Lär dig Edge computing med Cloudflare Workers och Deno med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 47
Vanliga frågor
Är lektionen ”Säker hantering av hemligheter” gratis?
Ja – hela texten till ”Säker hantering av hemligheter” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Edge computing med Cloudflare Workers och Deno, kan Ni uppgradera till CoddyKit PRO. Kursen i Edge computing med Cloudflare Workers och Deno innehåller totalt 4 lektioner.
Vad lär jag mig i ”Säker hantering av hemligheter”?
Lär dig bästa praxis för säker hantering av API-nycklar, token och annan känslig information i edge-miljöer Ni övar på Edge computing med Cloudflare Workers och Deno med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Edge computing med Cloudflare Workers och Deno?
Du behöver inga förkunskaper. Utbildningen i Edge computing med Cloudflare Workers och Deno på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 3 av 4.
Hur lång tid tar lektionen ”Säker hantering av hemligheter”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Edge computing med Cloudflare Workers och Deno-lektionen?
Ja. Varje Edge computing med Cloudflare Workers och Deno-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Autentisering och behörighetskontroll
- Hastighetsbegränsning och DDoS-skydd
- Säker hantering av hemligheter
- Rensning av indata och förebyggande av injektioner