Edge computing med Cloudflare Workers och Deno · Lektion

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

Lektion 3 av 411 steg

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 (env i Cloudflare Workers, Deno.env i 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.

Gratis att börja

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

  1. Autentisering och behörighetskontroll
  2. Hastighetsbegränsning och DDoS-skydd
  3. Säker hantering av hemligheter
  4. Rensning av indata och förebyggande av injektioner
← Tillbaka till Edge computing med Cloudflare Workers och Deno