Edge computing med Cloudflare Workers og Deno · Lektion

Sikker håndtering af secrets

Lær bedste praksis for sikker håndtering af API-nøgler, tokens og andre følsomme oplysninger i edge-miljøer.

Lektion 3 af 411 trin

Sikker håndtering af secrets er en gratis Edge computing med Cloudflare Workers og Deno-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Edge computing med Cloudflare Workers og Deno, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Edge computing med Cloudflare Workers og Deno-kurset indeholder 4 lektioner i alt.

Hvad er edge-hemmeligheder?

Når du bygger applikationer, især på edge, skal du ofte håndtere følsomme oplysninger. Disse kaldes hemmeligheder.

Hemmeligheder omfatter blandt andet API-nøgler, databaselegitimationsoplysninger, autentificeringstokens og private krypteringsnøgler. De er afgørende for din applikations sikkerhed og funktionalitet.

Farerne ved hardcodede hemmeligheder

En almindelig fejl, især blandt begyndere, er at hardcode hemmeligheder direkte i applikationens kildekode.

  • Eksponering: Alle, der har adgang til din kode (f.eks. i et offentligt Git-repository), kan se dine hemmeligheder.
  • Problemer med rotation: Når en hemmelighed ændres, skal du ændre og genudrulle din kode alle de steder, hvor den bruges.
  • Sikkerhedsbrud: En enkelt lækage kan kompromittere hele dit system.

Cloudflare Workers-miljøvariabler

Cloudflare Workers giver en sikker måde at administrere hemmeligheder på ved hjælp af miljøvariabler. Disse variabler er:

  • Indsat sikkert ved kørsel og ikke gemt i din kode.
  • Krypteret under lagring af Cloudflare.
  • Specifikke for hver Worker, så du får detaljeret kontrol.

De tilgås via env-objektet i din Workers fetch-handler.

Demo: Adgang til Worker-hemmeligheder

Denne Worker tilgår en miljøvariabel med navnet MY_API_KEY. Bemærk, hvordan selve hemmeligheden aldrig hardcodes i scriptet.

Prøv at køre det! (Den faktiske nøgle vises ikke af sikkerhedshensyn).

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

Ligesom Workers bruger Deno-applikationer også miljøvariabler til hemmeligheder. Du kan tilgå dem ved hjælp af Deno.env.

Til lokal udvikling kan du bruge .env-filer (selvom de ikke understøttes direkte af Deno; værktøjer som deno task eller tredjepartsmoduler kan hjælpe). I Deno Deploy konfigureres hemmeligheder sikkert via platformens brugergrænseflade eller CLI.

Demo: Brug af Deno-hemmeligheder

Her er et enkelt Deno-script, der henter en hemmelighed med navnet DB_PASSWORD fra sine miljøvariabler. Kør dette eksempel for at se det i praksis.

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");
}

Administration af hemmeligheder med Wrangler CLI

Til Cloudflare Workers er Wrangler CLI dit foretrukne værktøj til administration af hemmeligheder. Det krypterer dem og uploader dem sikkert til Cloudflares infrastruktur.

  • wrangler secret put <NAME>: Beder om en hemmelighedsværdi og uploader den.
  • wrangler secret delete <NAME>: Fjerner en hemmelighed.
  • wrangler secret list: Viser alle hemmeligheder for din Worker.

Det holder hemmeligheder ude af din wrangler.toml-fil og kildekode.

Princippet om mindst mulige privilegier

Et afgørende sikkerhedsprincip er princippet om mindst mulige privilegier. Det betyder:

  • At du kun tildeler de mindst nødvendige tilladelser til at tilgå ressourcer.
  • At du kun giver adgang til hemmeligheder til de specifikke tjenester eller brugere, der absolut har brug for dem.

Undgå at give en Worker adgang til en hemmelighed, som den faktisk ikke bruger, selvom det virker praktisk.

Rotation og kontrol af hemmeligheder

Selv med sikker lagring kan hemmeligheder blive kompromitteret. Implementer disse fremgangsmåder:

  • Rotation af hemmeligheder: Skift regelmæssigt dine API-nøgler og tokens (f.eks. hver 90. dag). Det begrænser angribernes muligheder, hvis en hemmelighed lækkes.
  • Kontrol: Overvåg og log adgangen til dine hemmeligheder. Det hjælper med at opdage usædvanlig aktivitet og mulige sikkerhedsbrud.

Automatiser disse processer, hvor det er muligt, for at reducere det manuelle arbejde.

Kontrol af administration af hemmeligheder

Test din forståelse af sikker administration af hemmeligheder.

Opsummering: Sikker håndtering af hemmeligheder

I denne lektion har vi lært, hvor vigtigt det er at administrere følsomme oplysninger sikkert i edge-applikationer.

  • Hardcode aldrig hemmeligheder.
  • Brug platformens miljøvariabler (Cloudflare Workers env, Deno Deno.env).
  • Brug værktøjer som Wrangler CLI til sikker udrulning af hemmeligheder.
  • Følg princippet om mindst mulige privilegier.
  • Implementer regelmæssig rotation og kontrol af hemmeligheder.

Disse fremgangsmåder er grundlæggende for at bygge robuste og sikre edge-applikationer.

Gratis at komme i gang

Lær Edge computing med Cloudflare Workers og Deno med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
47

Ofte stillede spørgsmål

Er lektionen “Sikker håndtering af secrets” gratis?

Ja — hele teksten til “Sikker håndtering af secrets” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Edge computing med Cloudflare Workers og Deno-kurset, skal du opgradere til CoddyKit PRO. Edge computing med Cloudflare Workers og Deno-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Sikker håndtering af secrets”?

Lær bedste praksis for sikker håndtering af API-nøgler, tokens og andre følsomme oplysninger i edge-miljøer. Du øver dig i Edge computing med Cloudflare Workers og Deno med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Edge computing med Cloudflare Workers og Deno?

Der kræves ingen tidligere erfaring. Edge computing med Cloudflare Workers og Deno på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.

Hvor lang tid tager lektionen “Sikker håndtering af secrets”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Edge computing med Cloudflare Workers og Deno-lektion?

Ja. Alle Edge computing med Cloudflare Workers og Deno-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Godkendelse og autorisation
  2. Rate limiting og DDoS-beskyttelse
  3. Sikker håndtering af secrets
  4. Input-sanitization og forebyggelse af injection
← Tilbage til Edge computing med Cloudflare Workers og Deno